사이드 메뉴
Getting started
Kakao Developers
Login
Communication
Advertisement
- Concepts
- Ad creation: Ad account
- Ad creation: Campaign
- Ad creation: Ad group
- Targeting for ad group
- Custom audience targeting for ad group
- Ad creation: Creative common
- Ad creation: Display creative
- Ad creation: Message creative
- Ad creation: Personalized message creative
- Bizboard landing settings
- Report
- Message management
- Personalized message management
- Message ad management
- Message ad operation
- Ad View management
- Business Form+ management
- Business Form linkage management
- Pixel & SDK linkage management
- Audience management
- Engagement targeting management
- Customer file management
- Friend group management
- Ad account management
- Reference
- Type information
- Error code
Webhook
This document introduces the Kakao Talk Share 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.
When invoking the Kakao Talk Share API via the SDK, you must specify custom parameters using serverCallbackArgs to receive the Kakao Talk Share webhook. For more details, see the development guides as below.
| Method | URL | Required response format | Authorization |
|---|---|---|---|
GET/POST | Webhook URL registered in [App] > [Webhook] > [Kakao Talk Share webhook] on the app management page | HTTP status code 2XX (within 3 seconds) |
| Requirements | See also |
|---|---|
Notifies the service when a user's Kakao Talk Share message is successfully delivered.
Upon receiving the webhook, the service must respond with an HTTP status code 2XX within 3 seconds.
Message delivery results of Kakao Talk Share API can only be confirmed through webhook implementation. Refer to Overview for the differences between these APIs.
| Name | Type | Description | Required |
|---|---|---|---|
| Authorization | String | Primary admin key sent to verify whether the webhook is valid.Authorization: KakaoAK ${PRIMARY_ADMIN_KEY} | O |
| X-Kakao-Resource-ID | String | Unique ID for distinguishing each webhook.X-Kakao-Resource-ID: ${UNIQUE_ID} | O |
| User-Agent | String | String indicating that the webhook was sent from Kakao.User-Agent: KakaoOpenAPI/1.0 | O |
| Name | Type | Description | Required |
|---|---|---|---|
| CHAT_TYPE | Enum | Type of chatroom to which Kakao Talk Share message is sent.
| O |
| HASH_CHAT_ID | String | A reference ID of the chatroom that receives a Kakao Talk Share message. As a unique hash value for each service, a different ID is assigned for each service, even for the same chatroom. Note: You can check how many chatrooms the Kakao Talk Share message has been sent to. | O |
${CUSTOM_KEY}":"${CUSTOM_VALUE} | JSON | Custom parameter defined by a service when calling the Kakao Talk Share API through the SDK. Input the keys and values of serverCallbackArgs parameter in JSON format.(Example: {"user_id":"abcd","product_id":1234}) | O |
| TEMPLATE_ID | Long | The message template ID used when sending a Kakao Talk Share message with a message template. It is not delivered if the request does not use a message template ID. | X |
| IS_SINGLE_CHATROOM | Boolean | Indicates whether the chatroom is a single chatroom where only the sender is participating or the only one remaining.
CHAT_TYPE is MultiChat but only the sender is participating, the response is true).Important: Only available to the apps with paid usage settings enabled. | X |
| CHAT_MEMBER_COUNT_RANGE | Enum | The range of the number of participants in the chatroom to which the Kakao Talk Share message is sent.
Important: Only available to the apps with paid usage settings enabled. | X |
You must respond with HTTP status code 2XX within 3 seconds of receiving the webhook request.
These are examples of the webhook request that Kakao sends to your service when the Kakao Talk message is successfully delivered.
Request: GET method
curl -v -G GET "${KAKAOLINK_CALLBACK_URL}?CHAT_TYPE=MemoChat&HASH_CHAT_ID=${HASH_CHAT_ID}&TEMPLATE_ID=10000&custom_parameter_key=custom_parameter_value" \-H "Authorization: KakaoAK ${PRIMARY_ADMIN_KEY}" \-H "X-Kakao-Resource-ID: ${UNIQUE_ID}" \-H "User-Agent: KakaoOpenAPI/1.0"
Request: POST method
curl -v -X POST "${KAKAOLINK_CALLBACK_URL}" \-H "Authorization: KakaoAK ${PRIMARY_ADMIN_KEY}" \-H "X-Kakao-Resource-ID: ${UNIQUE_ID}" \-H "User-Agent: KakaoOpenAPI/1.0" \-H "Content-Type: application/json" \-d '{"CHAT_TYPE": "MemoChat","HASH_CHAT_ID": "${HASH_CHAT_ID}","TEMPLATE_ID": 10000,"custom_parameter_key": "custom_parameter_value"}'