[활용 방법] 카카오톡 채널 관계 동기화 방법

카카오톡 채널 관계 동기화 방법

디벨로퍼스앱에 카카오톡 채널을 연결하면, 카카오 로그인 시점에 채널 친구추가를 할 수 있습니다.
추가된 친구에게 알림톡/친구톡/상담톡을 발송할 수 있고, 채널 고객파일 등록으로 채널 메시지 발송도 가능합니다.

이에 따라, 카카오 로그인으로 가입한 회원이 채널 친구인지 확인하고자 하는 경우가 많은데요.
본 글에서는 디벨로퍼스에서 제공하는 기능을 이용하여 효율적으로 채널 관계 동기화 하는 방법을 공유드립니다.


(1) 카카오 로그인 시점에 동기화

카카오 로그인을 시도한 계정은 활성화된 계정으로 프로모션에 응답할 확률이 높으므로 로그인 시, 사용자 정보 가져오기 API 호출 직후 카카오톡 채널 관계 확인하기 API 를 호출하여 고객DB에 갱신하는 것을 권장합니다.

로그인한 계정이 채널 친구가 아닌 경우, 카카오톡 채널 추가하기를 유도하여 활성화된 친구 확보하는 것도 좋습니다.

(2) 채널 관계 알림으로 동기화

카카오 로그인 시점에 채널관계를 동기화 한 뒤, 채널 관계 변경 사항에 대해 서비스측 콜백 API를 호출하여 정보 전달해드리는 서비스가 있습니다. 수신 API구축을 위한 자세한 내역과 전달하는 데이터의 예시는 가이드에 있으니 참고 바랍니다.


카카오톡 채널 관계 확인하기 API 호출과 채널 관계 알림 수신을 위해서는 해당 유저에게 "카카오톡 채널 추가 상태 및 내역 (plusfriends)"을 동의 받아야하므로 "(1) 카카오 로그인 시점에 동기화"가 우선 시 되야 합니다.

(3) 채널 관계 조회 배치 시스템 구축하여 동기화

위에 설명드린 (1) 카카오 로그인 시점에 동기화 + (2) 채널 관계 알림으로 동기화 조합으로 모든 내역 실시간 동기화 가능하지만 카카오 로그인을 이미 사용하던 서비스에서 비즈니스 채널을 도입한 경우 1회성 일괄 업데이트가 필요합니다.

서비스측 고객DB에 저장된 앱유저ID를 이용하여 카카오톡 채널 관계 확인하기 API 를 호출하여 고객DB에 갱신하는 것을 권장드립니다.

동의 받지 않은 유저의 관계 조회, 초당 50회 이상의 API호출, 동일 유저의 반복된 API 호출이 지속될 경우 API 호출 차단될 수 있습니다.
※ 추후, 다건 조회 API를 추가 제공 예정이며 기능 추가 시 공지하도록 하겠습니다.

[공지/Notice] 여러 사용자 카카오톡 채널 관계 확인하기 API 추가 / Check multiple users’ Kakao Talk Channel relationship API has been released!


참고사항

카카오톡 채널 추가/차단 콜백 설정 방법
카카오톡 채널 관계 알림 수신 규칙과 파라메터

여러 사용자 카카오톡 채널 관계 확인하기 API

카카오톡 채널 관계 확인하기 API (/v1/api/talk/channels) 호출 시, 발생할 수 있는 에러 종류

- 카카오톡에 연결안된 카카오 계정
{"msg":"given account is not connected to any talk user.","code":-501}

- 탈퇴한 카카오 계정
{"msg":"NotRegisteredUserException","code":-101}

- 존재하지 않거나 만료된 액세스 토큰 사용
{"msg":"this access token does not exist","code":-401}

- 서비스 앱 어드민 키 방식으로 API 호출 했지만, 필수 파라메터인 target_id를 설정하지 않은 경우
{"msg":"target ID is not supplied.","code":-401}

- 카카오톡 채널 추가 상태 및 내역 (plusfriends)을 동의 받지 않고 API 호출한 경우
{"allowed_scopes":["profile"],"required_scopes":["plusfriends"],"code":-402,"api_type":"TALK_PLUSFRIENDS","msg":"insufficient scopes."}

- 카카오 로그인 설정에 카카오톡 채널 추가 상태 및 내역 (plusfriends)을 동의 받도록 설정하지 않은 경우
{"msg":"[앱이름] App disabled plusfriends(or privacy_data_for_pay) scopes for [TALK_PLUSFRIENDS] API on developers.kakao.com. Enable it first.","code":-3}

- 연결된 채널이 없는데 API호출한 경우
{"code":-5,"msg":"permission denied"}