페이지 이동경로
  • 문서>
  • 카카오톡 채널>
  • 콜백

카카오톡 채널

콜백

이 문서는 카카오톡 채널 관련 콜백 정보를 안내합니다.

시작하기 전에

이용 정책에서 콜백 사용 시 주의사항을 확인해야 합니다.

카카오톡 채널 관계 알림

카카오톡 채널 관계 알림을 적용하면 사용자의 카카오톡 채널 추가 및 삭제 사실을 알림 받아 사용자의 카카오톡 채널 추가 상태를 최신 정보로 갱신할 수 있습니다.

이 기능을 사용하려면 먼저 카카오톡 채널 관계 알림을 참고하여 콜백 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"
        }'