This document introduces the Kakao Talk Channel webhook feature.
This document explains the webhook requests that Kakao sends to your service's endpoint. Note that this specification describes incoming webhook requests from Kakao, not API requests that your service makes to Kakao.
For the overall workflow and detailed implementation guide for webhooks, see Implementation steps.
Method | URL | Required response format | Authentication |
---|---|---|---|
POST |
Webhook URL registered in [My Applications] > [KakaoTalk Channel] > [KakaoTalk Channel Add/Block Callback] | HTTP status code 2XX (within 3 seconds) |
Service app admin key |
Permission | Prerequisite | Kakao Login | User consent |
---|---|---|---|
- | Activate Kakao Login Connect Kakao Talk Channel Set Kakao Talk Channel webhook |
- | - |
The Kakao Talk Channel webhook notifies the service when a user adds or blocks a Kakao Talk channel linked to the app. Upon receiving the callback, the service must respond with an HTTP status code 2XX
within 3 seconds.
The webhook applies to Kakao Talk channels listed in [My Applications] > [Business] > [Connected Business Channels]. The service can use the webhook to update the status of the target channel.
The Kakao Talk Channel webhook requires specifying a webhook URL, and redirection is not supported. For the details, see Set Kakao Talk Channel webhook.
Name | Description | Required |
---|---|---|
Authorization | String |
Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY} The Admin key as a type of user authentication. |
X-Kakao-Resource-ID | String |
Unique ID for each Kakao Talk Share webhook. (Example: Rvy1c2dkzBAZ5hGD3rqYbxvr ) |
User-Agent | String |
String used to identify the request sent from Kakao. Fixed to KakaoOpenAPI/1.0 . |
Name | Type | Description |
---|---|---|
event | String |
Changed status of the relationship between a user and a Kakao Talk Channel. added or blocked . |
id | String |
Service user ID who added or blocked a Kakao Talk Channel. |
id_type | String |
A type of service user ID. Either app_user_id or open_id .- app_user_id : a user who has agreed to provide 'Kakao Talk Channel addition status and details' among Kakao Login consent items.- open_id : a user who has not agreed to provide 'Kakao Talk Channel addition status and details' among Kakao Login consent items. |
channel_public_id | String |
Kakao Talk Channel profile ID that a user added or blocked. Note: plus_friend_public_id has been deprecated and replaced with channel_public_id . |
channel_uuid | String |
Kakao Talk Channel profile ID for search purpose. Note: plus_friend_uuid has been deprecated and replaced with channel_uuid . |
updated_at | Datetime |
The time when a Kakao Talk Channel is added or blocked in UTC*. Note: timestamp (in milliseconds) has been deprecated and replaced with updated_at (in UTC). |
*The time is based on Coordinated Universal Time(UTC), being 9 hours behind Korean Standard Time(KST). For the format of time, refer to RFC3339: Date and Time on the Internet.
You must respond with HTTP status code 2XX
within 3 seconds of receiving the webhook request.
This is the example of the webhook request that Kakao sends to your service when one of Kakao Talk Channels is added or blocked.
curl -X POST "{KAKAOTALK_CHANNEL_CALLBACK_URL}" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"event":"added",
"id":"1111",
"id_type":"app_user_id",
"channel_public_id":"_FLX",
"channel_uuid":"@ad",
"updated_at":"2020-01-01T00:00:00Z"
}'