이 문서는 카카오톡 채널 관련 콜백 정보를 안내합니다.
이용 정책에서 콜백 사용 시 주의사항을 확인해야 합니다.
카카오톡 채널 관계 알림을 적용하면 사용자의 카카오톡 채널 추가 및 삭제 사실을 알림 받아 사용자의 카카오톡 채널 추가 상태를 최신 정보로 갱신할 수 있습니다.
이 기능을 사용하려면 먼저 카카오톡 채널 관계 알림을 참고하여 콜백 URL을 지정해야 합니다. 콜백은 리다이렉트를 지원하지 않습니다.
앱 사용자가 [내 애플리케이션] > [비즈니스] > [연결된 비즈니스 채널]에 해당하는 카카오톡 채널을 추가하거나 삭제할 때, 카카오 서버는 등록된 콜백 URL로 다음과 같은 형태의 알림을 보냅니다. 아래 정보를 참고해 카카오 서버가 보내는 요청을 서비스 서버가 받아 처리하는 기능을 구현해야 합니다.
카카오 서버가 보낸 요청을 받으면 Authorization
헤더 값으로 전달된 앱 어드민 키로 유효한 콜백인지 판단하여 처리합니다. 또한 타임아웃 시간(3초) 이내에 HTTP status "200 OK"로 응답해야 합니다.
메서드 | URL | 인증 방식 |
---|---|---|
POST |
[내 애플리케이션] > [카카오톡 채널] > [카카오톡 채널 추가/차단 콜백]에 설정된 URL (예: https://example.com/channel/callback ) |
서비스 앱 어드민 키 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 카카오 로그인 활성화 카카오톡 채널 관계 알림 |
- | - |
이름 | 타입 | 설명 | 필수 |
---|---|---|---|
Authorization | String |
유효한 요청인지 판단할 수 있도록 전달하는 앱 어드민 키Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY} |
O |
X-Kakao-Resource-ID | String |
카카오톡 채널 관계 알림(콜백)별 유니크 ID (예: Rvy1c2dkzBAZ5hGD3rqYbxvr ) |
O |
User-Agent | String |
카카오에서 보낸 요청임을 알리기 위한 문자열KakaoOpenAPI/1.0 |
O |
이름 | 타입 | 설명 |
---|---|---|
event | String |
사용자와 카카오톡 채널의 관계 변경사항, 추가(added ) 또는 차단(blocked ) |
id | String |
카카오톡 채널 추가 또는 차단한 사용자 식별자 |
id_type | String |
식별자 타입, app_user_id 또는 open_id app_user_id : 카카오 로그인 동의항목 중 [카카오톡 채널 추가 상태 및 내역]에 동의한 사용자open_id : [카카오톡 채널 추가 상태 및 내역]에 동의하지 않은 사용자 |
channel_public_id | String |
사용자와 카카오톡 채널의 관계가 변경된 카카오톡 채널의 프로필 ID 참고: 카카오톡 채널 프로필 ID 확인 방법 |
channel_uuid | String |
카카오톡 채널의 검색용 ID |
updated_at | Datetime |
카카오톡 채널 관계가 변경된 시간, UTC* (RFC3339 internet date/time format) |
* UTC: 한국 시간(KST)과 9시간 차이, RFC3339: Date and Time on the Internet 참고
* plus_friend_public_id: Deprecated, 카카오톡 채널의 프로필 ID(String), channel_public_id를 사용하도록 변경, 공지 참고
* plus_friend_uuid: Deprecated, 카카오톡 채널의 검색용 ID(String), channel_uuid를 사용하도록 변경, 공지 참고
* timestamp: Deprecated, 카카오톡 채널 관계가 변경된 시간(Long, 단위: ms), updated_at을 사용하도록 변경
curl -v -X POST "${YOUR_KAKAOTALK_CHANNEL_CALLBACK_URL}" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \
-H "X-Kakao-Resource-ID: ${UNIQUE_ID}" \
-H "User-Agent: KakaoOpenAPI/1.0" \
-H "Content-Type: application/json" \
-d '{
"event":"added",
"id":"1111",
"id_type":"app_user_id",
"channel_public_id":"_FLX", // 추가
"channel_uuid":"@ad", // 추가
"updated_at":"2019-11-21T10:14:07Z"
}'