연결 끊기 및 카카오 채널 추가/차단 콜백

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


카카오 연결 끊기 및 카카오톡 채널 추가/차단 api를 저희쪽 서비스에 만들고 연결된 서비스 연결끊기 혹은 카카오톡 채널 추가/차단을 진행하였을때 저희 쪽 서비스에 api가 호출이 잘 안되는거 같은데 혹시 어떤이유인지 알수있을까요?

안녕하세요.

확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/ 의 내 애플리케이션>앱 설정>요약 정보 : 기본정보에 있는 앱 ID
숫자로된 ID 입니다
ex) 123456

앱 ID는
374827 입니다 연결끊기 api 및 카카오채널 추가 차단 api콜백 확인부탁드립니다.
추가적으로
저희쪽 서비스에
controller에 해당 api만들고 로그만 수집해본상태인데.
leave 같은경우는 user_id ,referrer_type
channel 같은경우는
event, id, id_type ,plus_friend_public_id ,timestamp 이렇게 수집한상태인데 수집이 안되고 있습니다.

답변이 없으셔서 다시 답글 남겨드립니다. 혹시 제가 설정을 누락한 부분이나 무엇이 문제인지 알수있을까요?

안녕하세요. 답변이 늦었습니다. 죄송합니다.

연결끊기 콜백 채널 추가/차단 콜백 모두
서비스측 API 호출에 사용하는 카카오측 프록시가 연결 타임아웃 응답을 받았습니다.
아마도 운영하시는 시스템에서 카카오측 서버를 차단하는 것으로 추정됩니다.

아래 내용 참고하셔서 콜백 수신을 위한 방화벽 설정 확인해보시겠어요?

카카오에 등록한 콜백 요청이 실패(방화벽 셋팅) / If callback request is failed (firewall setting required)

저 IP 전체를 어플리케이션 허용 IP주소에 등록을 하면 되는건가요?
아니면 저희쪽 어플리케이션 서버에 해당 카카오 IP 방화벽 세팅을 해야된다는건가요?

(1) 디벨로퍼스 설정에 있는 "허용 IP주소"는

서비스측 → 카카오측으로 호출할때 설정하는 부분이고

(2) 연결 끊기 콜백은

카카오측 → 서비스측을 호출하는 것이므로

운영하시는 시스템 방화벽을 의미합니다.

감사합니다. 일단 관리자님께서 알려주신대로 방화벽 정책 허용 한 후 카카오톡 연결 끊기 진행 시
user_id sdk에 따른 ID(값)
referrer_type이라는 파라미터에 UNLINK_FROM_APPS 라는 결과값을 확인하게 되었습니다.
연결끊기는 정상적으로 제가 콜백 처리를 진행할 수 있을거 같은데,

카카오톡 채널 추가 차단 API같은경우는 콜백 API문서를 확인하였을때,
event
id
id_type
channel_public_id
channel_uuid
updated_at

제가 예전에 봤던 문서에서는
event
id
id_type
plus_friend_public_id
timestamp
이렇게 되어있었던거 같은데 deprecated되었나보네요.
그렇다 하더라도 event 및 id ,id_type은 제가 데이터를 받아야 할 거같은데 해당 파라미터들이 null로 오는데 제가 파라미터를 받으려면 어떻게 해야하는지 알 수 있을까요?

  • 두가지 콜백 api 모두 저희쪽으로 request를 정상적으로 하고 있긴 합니다.

안녕하세요.

plus_friend_public_id, timestamp 파라미터는 Deprecated 되었습니다. 아래 내용을 참고 부탁드립니다.

* plus_friend_public_id: Deprecated, 카카오톡 채널의 프로필 ID(String), channel_public_id를 사용하도록 변경, 공지 참고
* plus_friend_uuid: Deprecated, 카카오톡 채널의 검색용 ID(String), channel_uuid를 사용하도록 변경, 공지 참고
* timestamp: Deprecated, 카카오톡 채널 관계가 변경된 시간(Long, 단위: ms), updated_at을 사용하도록 변경

그 외, event, id, id_type 필드 값 모두 정상 전달 되었습니다.
등록하신 콜백 URL로 POST 요청되며, 본문은 application/json 으로 전달됩니다.

제가 parameter로 받아서 못받아왔는데 json데이터로 받으니까 잘보이네요
감사합니다.
해결되었습니다!