| Domain |
|---|
| https://api-alimtalk.cloud.toast.com |
Non-friend message sending (targeting M, N) can be sent if all the conditions below are met:
[URL]
POST /brand-message/v1.0/appkeys/{appKey}/senders/{senderKey}/upload-marketing-agreement
Content-Type: multipart/form-data
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request parameter]
| Name | Type | Required | Description |
|---|---|---|---|
| file | File | O | Marketing consent evidence |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
[URL]
POST /brand-message/v1.0/appkeys/{appKey}/senders/{senderKey}/marketing-agreement
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
[URL]
POST /brand-message/v1.0/appkeys/{appkey}/freestyle-messages
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request body]
{
"senderKey": String,
"chatBubbleType": "TEXT",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"content": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String,
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters). Group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Send status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | O | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally. Up 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names: - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters |
| - chatExtra | String | X | Meta information to send when the button is BC/BT type |
| - chatEvent | String | X | Bot event name to connect when the button is BT type |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18 characters. Linebreak: unavailable - For other types, up to 12 characters. Linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| -- resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | Opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions. Up 8 characters) |
[Request body]
{
"senderKey": String,
"chatBubbleType": "IMAGE",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"content": String,
"image": {
"imageUrl": String,
"imageLink": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters). Group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Send status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | O | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally. Up 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| image | Object | O | Image elements - Required fields for IMAGE, WIDE, COMMERCE types |
| - imageUrl | String | O | Image URL. Use an image URL uploaded as a general image |
| - imageLink | String | X | URL to go to when the image is clicked. Limited to 1,000 characters If not set, use the image viewer in KakaoTalk |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters |
| - chatExtra | String | X | Meta information to send when the button is BC/BT type |
| - chatEvent | String | X | Bot event name to connect when the button is BT type |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18 characters. Linebreak: unavailable - For other types, up to 12 characters. Linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| -- resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions. Up 8 characters) |
[Request body]
{
"senderKey": String,
"chatBubbleType": "WIDE",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"content": String,
"image": {
"imageUrl": String,
"imageLink": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters). Group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Send status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | O | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally. Up 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| image | Object | O | Image elements - Required fields for IMAGE, WIDE, COMMERCE types |
| - imageUrl | String | O | Image URL, use an image URL uploaded as a wide image |
| - imageLink | String | X | URL to go to when the image is clicked. Limited to 1,000 characters If not set, use the image viewer in KakaoTalk |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names: - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters |
| - chatExtra | String | X | Meta information to send when the button is BC/BT type |
| - chatEvent | String | X | Bot event name to connect when the button is BT type |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18 characters. Linebreak: unavailable - For other types, up to 12 characters. Linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| -- resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions. Up 8 characters) |
[Request body]
{
"senderKey": String,
"chatBubbleType": "WIDE_ITEM_LIST",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"header": String,
"item": {
"list": [
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
]
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters). Group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Send status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| header | String | O | Header - Required field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) - Optional field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) |
| item | Object | O | Wide list item (available only for WIDE_ITEM_LIST type) |
| - list | List | O | Wide list (minimum: 3, maximum 4) |
| -- title | String | O | Item title - The first item is limited to up to 25 characters (linebreak: up to 1; for the first item, title is not required) - 2 to 4th items are limited to up to 30 characters (linebreak: up 1 item) |
| -- imageUrl | String | O | Item image URL - The first item uses the image URL uploaded as the first wide item list image. - 2 to 4th items use the image URL uploaded as a general wide item list image. |
| -- linkMo | String | O | Mobile web link, limited to 1,000 characters |
| -- linkPc | String | X | PC web link, limited to 1,000 characters |
| -- schemeAndroid | String | X | Android app link, limited to 1,000 characters |
| -- schemeIos | String | X | IOS app link, limited to 1,000 characters |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names: - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters |
| - chatExtra | String | X | Meta information to send when the button is BC/BT type |
| - chatEvent | String | X | Bot event name to connect when the button is BT type |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18 characters. Linebreak: unavailable - For other types, up to 12 characters. Linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| -- resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions. Up 8 characters) |
[Request body]
{
"senderKey": String,
"chatBubbleType": "PREMIUM_VIDEO",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"content": String,
"header": String,
"video": {
"videoUrl": String,
"thumbnailUrl": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters). Group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Send status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | X | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally, 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| header | String | X | Header - Required field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) - Optional field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) |
| video | Object | O | Video elements (only PREMIUM_VIDEO type available) |
| - videoUrl | String | O | KakaoTV video URL (only video addresses uploaded on KakaoTV available), limited to up to 500 characters |
| - thumbnailUrl | String | X | Image URL for video thumbnail, only URLs uploaded as general images available (if none is available, the default KakaoTV video thumbnail is used). Limited to up to 500 characters. |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names: - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters |
| - chatExtra | String | X | Meta information to send when the button is BC/BT type |
| - chatEvent | String | X | Bot event name to connect when the button is BT type |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18 characters. Linebreak: unavailable - For other types, up to 12 characters. Linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| -- resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions. Up 8 characters) |
[Request body]
{
"senderKey": String,
"chatBubbleType": "COMMERCE",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"additionalContent": String,
"image": {
"imageUrl": String,
"imageLink": String
},
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters). Group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Send status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| additionalContent | String | X | Additional information (up to 34 characters, linebreak: up to 1), available only for commerce type |
| image | Object | O | Image elements - Required fields for IMAGE, WIDE, COMMERCE types |
| - imageUrl | String | O | Image URL. Use an image URL uploaded as a general image |
| - imageLink | String | X | URL to go to when the image is clicked. Limited to 1,000 characters If not set, use the image viewer in KakaoTalk |
| commerce | Object | O | Commerce (available only for COMMERCE type) |
| title | String | O | Product title (up to 30 characters, linebreak: unavailable) |
| regularPrice | Integer | O | Regular price (0 to 99,999,999) |
| discountPrice | Integer | X | Discount price (0 to 99,999,999) |
| discountRate | Integer | X | Discount rate (0 to 100), discount rate when a discount price exists. One of the fixed discount price is required |
| discountFixed | Integer | X | Fixed discount price (0 to 999,999), discount rate when a discount price exists., One of the fixed discount prices is required |
| buttons | List | O | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names: - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters |
| - chatExtra | String | X | Meta information to send when the button is BC/BT type |
| - chatEvent | String | X | Bot event name to connect when the button is BT type |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18 characters. Linebreak: unavailable - For other types, up to 12 characters. Linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | iOS app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| -- resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions. Up 8 characters) |
[Request body]
{
"senderKey": String,
"chatBubbleType": "CAROUSEL_FEED",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"carousel": {
"list": [
{
"header": String,
"message": String,
"imageUrl": String,
"imageLink": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
},
{
"header": String,
"message": String,
"imageUrl": String,
"imageLink": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
],
"tail": {
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters). Group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Send status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| carousel | Object | O | Carousel |
| - list | List | O | Carousel list (minimum 2, maximum 6) |
| -- header | String | O | Carousel item title (up to 20 characters). Available only for carousel feed type |
| -- message | String | O | Carousel item title (up to 20 characters), carousel item message (up to 180 characters). Available only for carousel feed type |
| -- imageUrl | String | O | Image URL (Only images uploaded as carousel feed type images are available) |
| -- imageLink | String | X | Image link, limited to 1,000 characters |
| -- buttons | List | O | Carousel list button list, minimum 1, maximum 2 |
| --- name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| --- type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names: - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| --- schemeIos | String | X | IOS app link (required for AL type), limited to 1,000 characters |
| --- chatExtra | String | X | Meta information to send when the button is BC/BT type |
| --- chatEvent | String | X | Bot event name to connect when the button is BT type |
| --- bizFormKey | String | X | BizForm key when the button is BF type |
| -- coupon | Object | X | Coupon elements |
| --- title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| --- description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- schemeIos | String | X | IOS app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - tail | Object | X | More button information |
| -- linkMo | String | O | Mobile web link, limited to 1,000 characters |
| -- linkPc | String | X | PC web link, limited to 1,000 characters |
| -- schemeAndroid | String | X | Android app link, limited to 1,000 characters |
| -- schemeIos | String | X | IOS app link, limited to 1,000 characters |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| -- resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions. Up 8 characters) |
[Request body]
{
"senderKey": String,
"chatBubbleType": "CAROUSEL_COMMERCE",
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"adult": boolean,
"carousel": {
"head": {
"header": String,
"content": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"list": [
{
"additionalContent": String,
"imageUrl": String,
"imageLink": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
}
],
"tail": {
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
},
"recipientList": [
{
"recipientNo": String,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"targeting": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters), group outgoing key unavailable |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Sending status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| adult | boolean | X | Message status for adults (defaults: false) |
| carousel | Object | O | Carousel |
| - head | Object | X | Carousel intro |
| -- header | String | O | Carousel intro header (up to 20 characters) |
| -- content | String | O | Carousel intro content (up to 50 characters) |
| -- imageUrl | String | O | Carousel intro image address (use an image uploaded as a carousel commerce type image; the used image should have the same image and ratio of the carousel.) |
| -- linkMo | String | X | Mobile web link (linkMo is required if one of the linkMo, linkPc, schemeAndroid, schemeIos will be used), limited to up to 1,000 characters |
| -- linkPc | String | X | PC web link, limited to 1,000 characters |
| -- schemeAndroid | String | X | Android app link, limited to 1,000 characters |
| -- schemeIos | String | X | IOS app link, limited to 1,000 characters |
| - list | List | O | Carousel list (If head exists, minimum 1, maximum 5 / otherwise minimum 2, maximum 6) |
| -- additionalContent | String | X | Additional info (up to 34 characters), available only for carousel commerce |
| -- imageUrl | String | O | Image URL (Only images uploaded as carousel commerce type images are available) |
| -- imageLink | String | X | Image link, limited to 1,000 characters |
| -- commerce | Object | O | Commerce (available only for CAROUSEL_COMMERCE type) |
| --- title | String | O | Product title (up to 30 characters, linebreak: unavailable) |
| --- regularPrice | Integer | O | Regular price (0 to 99,999,999) |
| --- discountPrice | Integer | X | Discount price (0 to 99,999,999) |
| --- discountRate | Integer | X | Discount rate (0 to 100), discount rate when a discount price exists., One of the fixed discount prices is required |
| --- discountFixed | Integer | X | Fixed discount price (0 to 999,999), discount rate when a discount price exists., One of the fixed discount prices is required |
| -- buttons | List | O | Carousel list button list, minimum 1, maximum 2 |
| --- name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters |
| --- type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: message forwarding, BC: chat consultation conversion, BT: chatbot conversion, BF: Business form) - BC type is available only in the KakaoTalk channel using chat consultation - BT type is available only in the channel using the chatbot of Kakao i Open Builder - BF type can only be used as the first button, and only the following three phrases can be used for names: - Make a reservation via KakaoTalk - Take a survey via KakaoTalk - Apply via KakaoTalk |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| --- schemeIos | String | X | IOS app link (required for AL type), limited to 1,000 characters |
| --- chatExtra | String | X | Meta information to send when the button is BC/BT type |
| --- chatEvent | String | X | Bot event name to connect when the button is BT type |
| --- bizFormKey | String | X | BizForm key when the button is BF type |
| -- coupon | Object | X | Coupon elements |
| --- title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| --- description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 1,000 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- schemeIos | String | X | IOS app link (required field for AL type), limited to 1,000 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - tail | Object | X | More button information |
| -- linkMo | String | O | Mobile web link, limited to 1,000 characters |
| -- linkPc | String | X | PC web link, limited to 1,000 characters |
| -- schemeAndroid | String | X | Android app link, limited to 1,000 characters |
| -- schemeIos | String | X | IOS app link, limited to 1,000 characters |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| - targeting | String | X | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions, up to 8 characters) |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"message": {
"requestId": String,
"sendResults": [
{
"recipientSeq": Integer,
"recipientNo": String,
"resultCode": Integer,
"resultMessage": String
}
]
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Response header info |
| - isSuccessful | boolean | O | Successful API call status |
| - resultCode | Integer | O | API call result code (success: 200, error code for failure) |
| - resultMessage | String | O | API call result message ("success" or a related success message on success, detailed message on failure, cause on failure) |
| message | Object | X | message sending result information (exists only if there is a send request) |
| - requestId | String | X | Sending request ID (an ID that uniquely identifies each sending request) |
| - sendResults | Array | O | List of sending results by recipient |
| -- recipientSeq | Integer | O | Number in the recipient list |
| -- recipientNo | String | X | Recipient’s phone number |
| -- resultCode | Integer | O | Recipient-specific sending result code (success and various failure codes may exist) |
| -- resultMessage | String | O | Recipient-specific sending result message ("success" or a related message on success, detailed message on failure, cause on failure) |
[URL]
POST /brand-message/v1.0/appkeys/{appkey}/basic-messages
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
{
"senderKey": String,
"templateCode": String,
"pushAlarm": boolean,
"requestDate": String,
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientList": [
{
"recipientNo": String,
"targeting": String,
"templateParameter": Object,
"imageParameters": List,
"videoParameter": Object,
"resendParameter": {
"isResend": boolean,
"resendType": String,
"resendTitle": String,
"resendContent": String,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"unsubscribeNo": String,
"unsubscribeAuthNo": String,
"recipientGroupingKey": String
}
],
"senderGroupingKey": String,
"resellerCode": String,
"createUser": String,
"statsId": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing key (40 characters), group outgoing key unavailable |
| templateCode | String | O | Template code to use |
| pushAlarm | boolean | X | Sending status for message push notifications (defaults: true) |
| requestDate | String | X | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| - targeting | String | O | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| - templateParameter | Object | X | Template parameter (required if including variables to be replaced in the template) |
| - imageParameters | List | X | Dynamic parameters that can change the template image field value, carousel type is currently not supported (only JSON list with the same size as the number of images in the template can be used. If used, images that do not want to be changed must be entered as an empty JSON object) |
| -- imageUrl | String | O | Image URL |
| -- imageLink | String | X | Image link |
| - resendParameter | Object | X | Fallback Information |
| -- isResend | boolean | X | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| -- resendType | String | X | Fallback type (SMS, LMS) If no value exists, types are distinguished according to the length of the template body. |
| -- resendTitle | String | X | LMS fallback title (if no value exists, it will be replaced with PlusFriend ID.) |
| -- resendContent | String | X | Fallback title (if no value exists, it will be replaced with [message body].) |
| -- resendSendNo | String | X | Fallback number (if the outgoing number is not registered with the SMS service, the fallback may fail.) |
| - unsubscribeNo | String | X | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| - unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
| - recipientGroupingKey | String | X | Recipient grouping key (you can specify grouping keys by recipient. Up 100 characters) |
| senderGroupingKey | String | X | Sender grouping key (you can specify grouping keys by sender. Up 100 characters) |
| resellerCode | String | X | Reseller code (used by resellers when sending) |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
| statsId | String | X | Statistics ID (not included in the outgoing search conditions, up to 8 characters) |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"message": {
"requestId": String,
"sendResults": [
{
"recipientSeq": Integer,
"recipientNo": String,
"resultCode": Integer,
"resultMessage": String
}
]
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Response header info |
| - isSuccessful | boolean | O | Successful API call status |
| - resultCode | Integer | O | API call result code (success: 200, error code for failure) |
| - resultMessage | String | O | API call result message ("success" or a related success message on success, detailed message on failure, cause on failure) |
| message | Object | X | Message sending result information (exists only if there is a sending request) |
| - requestId | String | X | Sending request ID (an ID that uniquely identifies each sending request) |
| - sendResults | Array | O | List of sending results by recipient |
| -- recipientSeq | Integer | O | Number in the recipient list |
| -- recipientNo | String | X | Recipient’s phone number |
| -- resultCode | Integer | O | Recipient-specific sending result code (success and various failure codes may exist) |
| -- resultMessage | String | O | Recipient-specific sending result message ("success" or a related message on success, detailed message on failure, cause on failure) |
[URL]
GET /brand-message/v1.0/appkeys/{appkey}/messages
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Query parameter] Condition 1 or 2 required
| Name | Type | Required | Description |
|---|---|---|---|
| requestId | String | Condition required (1) | Request ID |
| startRequestDate | String | Condition required (2) | Start value of the sending request date (yyyy-MM-dd HH:mm) |
| endRequestDate | String | Condition required (2) | End value of the sending request date (yyyy-MM-dd HH:mm) |
| senderKey | String | X | Outgoing Key |
| templateCode | String | X | Template Code |
| recipientNo | String | X | Incoming number |
| messageStatus | String | X | Request status (COMPLETED: success, FAILED: failure) |
| resultCode | String | X | Sending result (MRC01: Success MRC02: failure ) |
| senderGroupingKey | String | X | Outgoing grouping key |
| recipientGroupingKey | String | X | Recipient grouping key |
| pageNum | String | X | Page number (default: 1) |
| pageSize | String | X | Number of views (default: 15, Max: 1,000) |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"messageSearchResultResponse": {
"messages": [
{
"requestId": String,
"recipientSeq": Integer,
"plusFriendId": String,
"senderKey": String,
"templateCode": String,
"recipientNo": String,
"targeting": String,
"requestDate": String,
"createDate": String,
"receiveDate": String,
"chatBubbleType": String,
"pushAlarm": boolean,
"messageStatus": String,
"resendStatusCode": String,
"resendStatusName": String,
"resendResultCode": String,
"resendRequestId": String,
"isAddedChannel": boolean,
"resultCode": String,
"resultCodeName": String,
"createUser": String,
"senderGroupingKey": String,
"recipientGroupingKey": String
}
],
"totalCount": Integer
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| messageSearchResultResponse | Object | X | Body area |
| - messages | Array | O | Message list |
| -- requestId | String | O | Request ID |
| -- recipientSeq | Integer | O | Recipient sequence number |
| -- plusFriendId | String | O | Outgoing profile ID |
| -- senderKey | String | O | Outgoing Key |
| -- templateCode | String | X | Template Code |
| -- recipientNo | String | O | Incoming number |
| -- targeting | String | O | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) |
| -- requestDate | String | O | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance |
| -- createDate | String | O | Registered on |
| -- receiveDate | String | X | Received on |
| -- chatBubbleType | String | O | Message type |
| -- pushAlarm | boolean | O | Push notification status |
| -- messageStatus | String | O | Request status (COMPLETED: success, FAILED: failure) |
| -- resendStatusCode | String | X | Fallback status code |
| -- resendStatusName | String | X | Fallback status name |
| -- resendResultCode | String | X | Fallback result code |
| -- resendRequestId | String | X | Fallback request ID |
| -- isAddedChannel | boolean | O | Channel friend status |
| -- resultCode | String | X | Received result code |
| -- resultCodeName | String | X | Received result code name |
| -- createUser | String | X | Registrant (stored as user UUID when sent from console) |
| -- senderGroupingKey | String | X | Outgoing grouping key |
| -- recipientGroupingKey | String | X | Recipient grouping key |
| - totalCount | Integer | O | Total |
[URL]
GET /brand-message/v1.0/appkeys/{appkey}/messages/{requestId}/{recipientSeq}
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| requestId | String | Request ID |
| recipientSeq | Integer | Recipient sequence number |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"message": {
"requestId": String,
"recipientSeq": Integer,
"plusFriendId": String,
"senderKey": String,
"templateCode": String,
"recipientNo": String,
"targeting": String,
"requestDate": String,
"createDate": String,
"receiveDate": String,
"chatBubbleType": String,
"content": String,
"adult": boolean,
"header": String,
"additionalContent": String,
"image": {
"imageUrl": String,
"imageLink": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeIos": String,
"schemeAndroid": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"item": {
"list": [
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeIos": String,
"schemeAndroid": String
}
]
},
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"video": {
"videoUrl": String,
"thumbnailUrl": String
},
"carousel": {
"head": {
"header": String,
"content": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeIos": String,
"schemeAndroid": String
},
"list": [
{
"header": String,
"message": String,
"additionalContent": String,
"imageUrl": String,
"imageLink": String,
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
],
"tail": {
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
},
"templateParameter": String,
"pushAlarm": boolean,
"messageStatus": String,
"isAddedChannel": boolean,
"resultCode": String,
"resultCodeName": String,
"resendStatusCode": String,
"resendStatusName": String,
"resendResultCode": String,
"resendRequestId": String,
"createUser": String,
"senderGroupingKey": String,
"recipientGroupingKey": String
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| message | Object | X | Message body area (May not be present when the message fails) |
| - requestId | String | O | Request ID (Not Null if message object exists) |
| - recipientSeq | Integer | O | Recipient sequence number (Not Null if message object exists) |
| - plusFriendId | String | O | Outgoing profile ID (Not Null if message object exists) |
| - senderKey | String | O | Outgoing key (Not Null if message object exists) |
| - templateCode | String | X | Template Code |
| - recipientNo | String | O | Incoming number (Not Null if message object exists) |
| - targeting | String | O | Type of message target (M: User with marketing consent, N: only users that agreed to marketing consent and are not friends, I: users who are friends) (Not Null if message object exists) |
| - requestDate | String | O | Requested date (yyyy-MM-dd HH:mm) (send immediately if not entered) Available to schedule up to 60 days in advance (Not Null if message object exists) |
| - createDate | String | O | Registered on (Not Null if message object exists) |
| - receiveDate | String | X | Received on |
| - chatBubbleType | String | O | Message type (Not Null if message object exists) |
| - content | String | X | Message Content |
| - adult | boolean | O | Message status for adults (Not Null if message object exists) |
| - header | String | X | Header (within message) |
| - additionalContent | String | X | Additional info (within message) |
| - image | Object | X | Image elements |
| -- imageUrl | String | O | Image URL (Not Null if image object exists) |
| -- imageLink | String | X | Image link |
| - buttons | Array | X | Button list |
| -- name | String | O | Button title (Not Null if button array item exists) |
| -- type | String | O | Button type (Not Null if button array item exists) |
| -- linkMo | String | X | Mobile web link |
| -- linkPc | String | X | PC web link |
| -- schemeIos | String | X | IOS app link |
| -- schemeAndroid | String | X | Android app link |
| -- chatExtra | String | X | Meta information to send when the button is BC/BT type |
| -- chatEvent | String | X | Bot event name to connect when the button is BT type |
| -- bizFormKey | String | X | BizForm key when the button is BF type |
| - item | Object | X | Wide list elements |
| -- list | Array | X | Wide list (Nullable if item object exists) |
| --- title | String | X | Item title |
| --- imageUrl | String | O | Item image URL (Not Null if item.list item exists) |
| --- linkMo | String | O | Mobile web link (Not Null if item.list item exists) |
| --- linkPc | String | X | PC web link |
| --- schemeIos | String | X | IOS app link |
| --- schemeAndroid | String | X | Android app link |
| - coupon | Object | X | Coupon elements |
| -- title | String | O | Coupon title (Not Null if coupon object exists) |
| -- description | String | O | Coupon details (Not Null if coupon object exists) |
| -- linkMo | String | X | Mobile web link |
| -- linkPc | String | X | PC web link |
| -- schemeAndroid | String | X | Android app link |
| -- schemeIos | String | X | IOS app link |
| - commerce | Object | X | Commerce elements |
| -- title | String | O | Product title (Not Null if commerce object exists) |
| -- regularPrice | Integer | X | Regular price |
| -- discountPrice | Integer | X | Discount price |
| -- discountRate | Integer | X | Discount rate |
| -- discountFixed | Integer | X | Fixed discount price |
| - video | Object | X | Video elements |
| -- videoUrl | String | O | KakaoTV video URL (Not Null if video item exists) |
| -- thumbnailUrl | String | X | Image URL for video thumbnail |
| - carousel | Object | X | Carousel |
| -- head | Object | X | Carousel intro (Nullable if carousel object exists) |
| --- header | String | O | Carousel intro header (Not Null if head object exists) |
| --- content | String | O | Carousel intro content (Not Null if head object exists) |
| --- imageUrl | String | O | Carousel intro image address (Not Null if header object exists) |
| --- linkMo | String | X | Mobile web link |
| --- linkPc | String | X | PC web link |
| --- schemeIos | String | X | IOS app link |
| --- schemeAndroid | String | X | Android app link |
| -- list | Array | O | Carousel list (Not Null if carousel object exists) |
| --- header | String | X | Carousel item header |
| --- message | String | O | Carousel item message (Not Null if list item exists) |
| --- additionalContent | String | X | Additional Info |
| --- imageUrl | String | X | Image URL |
| --- imageLink | String | X | Image link |
| --- commerce | Object | X | Commerce (within carousel) |
| ---- title | String | O | Product title (Not Null if carousel.list.commerce exists) |
| ---- regularPrice | Integer | X | Regular price |
| ---- discountPrice | Integer | X | Discount price |
| ---- discountRate | Integer | X | Discount rate |
| ---- discountFixed | Integer | X | Fixed discount price |
| --- buttons | Array | X | Button list (within carousel) |
| ---- name | String | O | Button title (Not Null if carousel.list.buttons item exists) |
| ---- type | String | O | Button type (Not Null if carousel.list.buttons item exists) |
| ---- linkMo | String | X | Mobile web link |
| ---- linkPc | String | X | PC web link |
| ---- schemeAndroid | String | X | Android app link |
| ---- schemeIos | String | X | IOS app link |
| ---- chatExtra | String | X | Meta information to send when the button is BC/BT type |
| ---- chatEvent | String | X | Bot event name to connect when the button is BT type |
| ---- bizFormKey | String | X | BizForm key when the button is BF type |
| --- coupon | Object | X | Coupon (within carousel) |
| ---- title | String | O | Coupon title (Not Null if carousel.list.coupon exists) |
| ---- description | String | O | Coupon details (Not Null if carousel.list.coupon exists) |
| ---- linkMo | String | X | Mobile web link |
| ---- linkPc | String | X | PC web link |
| ---- schemeAndroid | String | X | Android app link |
| ---- schemeIos | String | X | IOS app link |
| -- tail | Object | X | More button information (Nullable if carousel object exists) |
| --- linkMo | String | O | Mobile web link (Not Null if tail object exists) |
| --- linkPc | String | X | PC web link |
| --- schemeAndroid | String | X | Android app link |
| --- schemeIos | String | X | IOS app link |
| - templateParameter | String | X | Template parameter |
| - pushAlarm | boolean | O | Push notification status (Not Null if message object exists) |
| - messageStatus | String | O | Request status (COMPLETED: success, FAILED: failure) (Not Null if message object exists) |
| - isAddedChannel | boolean | O | Channel friend status (Not Null if message object exists) |
| - resultCode | String | X | Received result code (within message) |
| - resultCodeName | String | X | Received result code name (within message) |
| - resendStatusCode | String | X | Fallback status code |
| - resendStatusName | String | X | Fallback status code name |
| - resendResultCode | String | X | Fallback result code |
| - resendRequestId | String | X | Fallback request ID |
| - createUser | String | X | Registrant (stored as user UUID when sent from console) |
| - senderGroupingKey | String | X | Outgoing grouping key |
| - recipientGroupingKey | String | X | Recipient grouping key |
[URL]
DELETE /brand-message/v1.0/appkeys/{appkey}/messages/{requestId}
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| requestId | String | Request ID |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Query parameter]
| Name | Type | Required | Description |
|---|---|---|---|
| recipientSeq | String | X | Recipient sequence number (If you do not enter any information, all requests for that request ID will be canceled) |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | X | Header zone |
| - resultCode | Integer | X | Result code |
| - resultMessage | String | X | Result message |
| - isSuccessful | Boolean | X | Success status |
[Example]
curl -X DELETE -H "Content-Type: application/json;charset=UTF-8" -H "X-Secret-Key:{secretkey}" "https://api-alimtalk.cloud.toast.com/brand-message/v1.0/appkeys/{appkey}/messages/{requestId}?recipientSeq=1,2,3"
[URL]
GET /brand-message/v1.0/appkeys/{appkey}/senders/{senderKey}/templates
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Query parameter]
| Name | Type | Required | Description |
|---|---|---|---|
| templateCode | String | X | Template Code |
| templateName | String | X | Template Name |
| status | String | X | Template status code |
| pageNum | Integer | X | Page number (Default: 1) |
| pageSize | Integer | X | Number of views (default: 15, Max: 1,000) |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"templateListResponse": {
"templates": [
{
"plusFriendId": String,
"plusFriendType": String,
"templateCode": String,
"templateName": String,
"chatBubbleType": String,
"content": String,
"header": String,
"additionalContent": String,
"adult": boolean,
"image": {
"imageUrl": String,
"imageLink": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeIos": String,
"schemeAndroid": String,
"bizFormId": Integer,
}
],
"item": {
"list": [
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
]
},
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"video": {
"videoUrl": String,
"thumbnailUrl": String
},
"carousel": {
"head": {
"header": String,
"content": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"list": [
{
"header": String,
"message": String,
"additionalContent": String,
"imageUrl": String,
"imageLink": String,
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeIos": String,
"schemeAndroid": String,
"bizFormId": Integer,
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
],
"tail": {
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
},
"status": String,
"createDate": String,
"updateDate": String
}
],
"totalCount": Integer
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| templateListResponse | Object | O | Body area |
| - templates | Array | O | Template list |
| -- plusFriendId | String | O | Outgoing profile ID |
| -- plusFriendType | String | O | Outgoing profile type |
| -- templateCode | String | O | Template Code |
| -- templateName | String | O | Template name |
| -- chatBubbleType | String | O | Message type |
| -- content | String | X | Message Content |
| -- header | String | X | Header |
| -- additionalContent | String | X | (refer to the description table) |
| -- adult | boolean | O | Message status for adults |
| -- image | Object | X | Image Information |
| --- imageUrl | String | O | Image URL |
| --- imageLink | String | X | Image link |
| -- buttons | Array | X | Button list |
| --- name | String | O | Button title |
| --- type | String | O | Button type |
| --- linkMo | String | X | Mobile web link |
| --- linkPc | String | X | PC web link |
| --- schemeIos | String | X | IOS app link |
| --- schemeAndroid | String | X | Android app link |
| --- bizFormId | Integer | X | BizForm ID (JSON based) |
| -- item | Object | X | Wide list elements |
| --- list | Array | X | Wide list |
| ---- title | String | X | Item title |
| ---- imageUrl | String | O | Item image URL |
| ---- linkMo | String | O | Mobile web link |
| ---- linkPc | String | X | PC web link |
| ---- schemeAndroid | String | X | Android app link |
| ---- schemeIos | String | X | IOS app link |
| -- coupon | Object | X | Coupon elements |
| --- title | String | O | Coupon title |
| --- description | String | O | Coupon details |
| --- linkMo | String | X | Mobile web link |
| --- linkPc | String | X | PC web link |
| --- schemeAndroid | String | X | Android app link |
| --- schemeIos | String | X | IOS app link |
| -- commerce | Object | X | Commerce elements |
| --- title | String | O | Product title |
| --- regularPrice | Integer | X | Regular price |
| --- discountPrice | Integer | X | Discount price |
| --- discountRate | Integer | X | Discount rate |
| --- discountFixed | Integer | X | Fixed discount price |
| -- video | Object | X | Video elements |
| --- videoUrl | String | O | KakaoTV video URL |
| --- thumbnailUrl | String | X | Image URL for video thumbnail |
| -- carousel | Object | X | Carousel |
| --- head | Object | X | Carousel intro |
| ---- header | String | O | Carousel intro header |
| ---- content | String | O | Carousel intro content |
| ---- imageUrl | String | O | Carousel intro image address |
| ---- linkMo | String | X | Mobile web link |
| ---- linkPc | String | X | PC web link |
| ----- schemeAndroid | String | X | Android app link |
| ----- schemeIos | String | X | IOS app link |
| ---- list | Array | O | Carousel list |
| ----- header | String | O | Carousel item header |
| ----- message | String | O | Carousel item message (content mapping of Not Null list) |
| ----- additionalContent | String | X | Additional Info |
| ----- imageUrl | String | O | Image URL (within carousel items) |
| ----- imageLink | String | X | Image link (within carousel items) |
| ----- commerce | Object | O | Commerce (within carousel items) |
| ------ title | String | O | Product title |
| ------ regularPrice | Integer | X | Regular price |
| ------ discountPrice | Integer | X | Discount price |
| ------ discountRate | Integer | X | Discount rate |
| ------ discountFixed | Integer | X | Fixed discount price |
| ----- buttons | Array | O | Carousel list button list |
| ------ name | String | O | Button title |
| ------ type | String | O | Button type |
| ------ linkMo | String | X | Mobile web link |
| ------ linkPc | String | X | PC web link |
| ------ schemeIos | String | X | IOS app link |
| ------ schemeAndroid | String | X | Android app link |
| ------ bizFormId | Integer | X | BizForm ID (JSON based) |
| ----- coupon | Object | X | Coupon elements (within carousel items) |
| ------ title | String | X | Coupon title |
| ------ description | String | X | Coupon details |
| ------ linkMo | String | X | Mobile web link |
| ------ linkPc | String | X | PC web link |
| ------ schemeAndroid | String | X | Android app link |
| ------ schemeIos | String | X | IOS app link |
| ---- tail | Object | X | More button information |
| ----- linkMo | String | O | Mobile web link |
| ----- linkPc | String | X | PC web link |
| ----- schemeAndroid | String | X | Android app link |
| ----- schemeIos | String | X | IOS app link |
| --- status | String | O | Template status (A: registered, S: blocked) |
| --- createDate | String | O | Registered on |
| --- updateDate | String | X | Modified on |
| - totalCount | Integer | O | Total |
[URL]
GET /brand-message/v1.0/appkeys/{appkey}/senders/{senderKey}/templates/{templateCode}
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
| templateCode | String | Template Code |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"template": {
"plusFriendId": String,
"plusFriendType": String,
"templateCode": String,
"templateName": String,
"chatBubbleType": String,
"content": String,
"header": String,
"additionalContent": String,
"adult": boolean,
"image": {
"imageUrl": String,
"imageLink": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeIos": String,
"schemeAndroid": String,
"bizFormId": Integer
}
],
"item": {
"list": [
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
]
},
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"video": {
"videoUrl": String,
"thumbnailUrl": String
},
"carousel": {
"head": {
"header": String,
"content": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"list": [
{
"header": String,
"message": String,
"additionalContent": String,
"imageUrl": String,
"imageLink": String,
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeIos": String,
"schemeAndroid": String,
"bizFormId": Integer
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
],
"tail": {
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
},
"status": String,
"createDate": String,
"updateDate": String
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| template | Object | O | Template body area |
| - plusFriendId | String | O | Outgoing profile ID |
| - plusFriendType | String | O | Outgoing profile type |
| - templateCode | String | O | Template Code |
| - templateName | String | O | Template name |
| - chatBubbleType | String | O | Message type |
| - pushAlarm | boolean | X | Push notification status |
| - content | String | X | Message Content |
| - adult | boolean | O | Message status for adults |
| - header | String | X | Header (within template) |
| - additionalContent | String | X | Additional info (within template) |
| - image | Object | X | Image Information |
| -- imageUrl | String | O | Image URL |
| -- imageLink | String | X | Image link |
| - buttons | Array | X | Button list |
| -- name | String | O | Button title |
| -- type | String | O | Button type |
| -- linkMo | String | X | Mobile web link |
| -- linkPc | String | X | PC web link |
| -- schemeIos | String | X | IOS app link |
| -- schemeAndroid | String | X | Android app link |
| -- bizFormId | Integer | X | BizForm ID (JSON based) |
| - item | Object | X | Wide list elements |
| -- list | Array | X | Wide list |
| --- title | String | X | Item title |
| --- imageUrl | String | O | Item image URL |
| --- linkMo | String | O | Mobile web link |
| --- linkPc | String | X | PC web link |
| --- schemeIos | String | X | IOS app link |
| --- schemeAndroid | String | X | Android app link |
| - coupon | Object | X | Coupon elements |
| -- title | String | O | Coupon title |
| -- description | String | O | Coupon details |
| -- linkMo | String | X | Mobile web link |
| -- linkPc | String | X | PC web link |
| -- schemeIos | String | X | IOS app link |
| -- schemeAndroid | String | X | Android app link |
| - commerce | Object | X | Commerce elements |
| -- title | String | O | Product title |
| -- regularPrice | Integer | X | Regular price |
| -- discountPrice | Integer | X | Discount price |
| -- discountRate | Integer | X | Discount rate |
| -- discountFixed | Integer | X | Fixed discount price |
| - video | Object | X | Video elements |
| -- videoUrl | String | O | KakaoTV video URL |
| -- thumbnailUrl | String | X | Image URL for video thumbnail |
| - carousel | Object | X | Carousel |
| -- head | Object | X | Carousel intro |
| --- header | String | O | Carousel intro header |
| --- content | String | O | Carousel intro content |
| --- imageUrl | String | O | Carousel intro image address |
| --- linkMo | String | X | Mobile web link |
| --- linkPc | String | X | PC web link |
| --- schemeIos | String | X | IOS app link |
| --- schemeAndroid | String | X | Android app link |
| -- list | Array | O | Carousel list |
| --- header | String | O | Carousel item header |
| --- message | String | O | Carousel item message |
| --- additionalContent | String | X | Additional Info (within carousel items) |
| --- imageUrl | String | O | Image URL (within carousel items) |
| --- imageLink | String | X | Image link (within carousel items) |
| --- commerce | Object | O | Commerce (within carousel items) |
| ---- title | String | O | Product title |
| ---- regularPrice | Integer | X | Regular price |
| ---- discountPrice | Integer | X | Discount price |
| ---- discountRate | Integer | X | Discount rate |
| ---- discountFixed | Integer | X | Fixed discount price |
| --- buttons | Array | O | Carousel list button list |
| ---- name | String | O | Button title |
| ---- type | String | O | Button type |
| ---- linkMo | String | X | Mobile web link |
| ---- linkPc | String | X | PC web link |
| ---- schemeIos | String | X | IOS app link |
| ---- schemeAndroid | String | X | Android app link |
| ---- bizFormId | Integer | X | BizForm ID (JSON based) |
| --- coupon | Object | X | Coupon elements (within carousel items) |
| ---- title | String | X | Coupon title |
| ---- description | String | X | Coupon details |
| ---- linkMo | String | X | Mobile web link |
| ---- linkPc | String | X | PC web link |
| ---- schemeIos | String | X | IOS app link |
| ---- schemeAndroid | String | X | Android app link |
| -- tail | Object | X | More button information |
| --- linkMo | String | O | Mobile web link |
| --- linkPc | String | X | PC web link |
| --- schemeIos | String | X | IOS app link |
| --- schemeAndroid | String | X | Android app link |
| - status | String | O | Template status (A: registered, S: blocked) |
| - createDate | String | O | Registered on |
| - updateDate | String | X | Modified on |
[URL]
POST /brand-message/v1.0/appkeys/{appkey}/senders/{senderKey}/templates
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
- #{discount price} won discount coupon (#{discount price} scope is 1 ~ 99,999,999)
- #{discount rate}% discount coupon (#{discount rate} scope is 1 ~ 100)
- Delivery fee discount coupon
- #{product name} free coupon (#{product name} is up to 7 characters)
- #{product name} UP coupon (#{product name} is up to 7 characters)
[Request body]
{
"templateName": String,
"chatBubbleType": "TEXT",
"adult": boolean,
"content": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | O | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally, 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters |
| - schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| - bizFormKey | String | X | BizForm key when the button is BF type No placeholders available |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
[Request body]
{
"templateName": String,
"chatBubbleType": "IMAGE",
"adult": boolean,
"content": String,
"image": {
"imageUrl": String,
"imageLink": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | O | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally, 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| image | Object | O | Image elements - Required fields for IMAGE, WIDE, COMMERCE types |
| - imageUrl | String | O | Image URL, use an image URL uploaded as a general image No placeholders available |
| - imageLink | String | X | URL to go to when the image is clicked, limited to 500 characters If not set, use the image viewer in KakaoTalk No placeholders available |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters |
| - schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
[Request body]
{
"templateName": String,
"chatBubbleType": "WIDE",
"adult": boolean,
"content": String,
"image": {
"imageUrl": String,
"imageLink": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | O | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally, 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| image | Object | O | Image elements - Required fields for IMAGE, WIDE, COMMERCE types |
| - imageUrl | String | O | Image URL, use an image URL uploaded as a wide image No placeholders available |
| - imageLink | String | X | URL to go to when the image is clicked, limited to 500 characters If not set, use the image viewer in KakaoTalk No placeholders available |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters |
| - schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
[Request body]
{
"templateName": String,
"chatBubbleType": "WIDE_ITEM_LIST",
"adult": boolean,
"header": String,
"item": {
"list": [
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
{
"title": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
]
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up to 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| adult | boolean | X | Message status for adults (defaults: false) |
| header | String | O | Header - Required field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) - Optional field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) |
| item | Object | O | Wide list item (available only for WIDE_ITEM_LIST type) |
| - list | List | O | Wide list (minimum: 3, maximum 4) |
| -- title | String | O | Item title - The first item is limited to up to 25 characters (linebreak: up to 1; for the first item, title is not required) - For the first item, title field is not required - 2 to 4th items are limited to up to 30 characters (linebreak: up 1 item) |
| -- imageUrl | String | O | Item image URL - The first item uses the image URL uploaded as the first wide item list image. - 2 to 4th items use the image URL uploaded as a general wide item list image Placeholders unavailable |
| -- linkMo | String | O | Mobile web link, limited to 500 characters |
| -- linkPc | String | X | PC web link, limited to 500 characters |
| -- schemeAndroid | String | X | Android app link, limited to 500 characters |
| -- schemeIos | String | X | IOS app link, limited to 500 characters |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters |
| - schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
[Request body]
{
"templateName": String,
"chatBubbleType": "PREMIUM_VIDEO",
"adult": boolean,
"content": String,
"header": String,
"video": {
"videoUrl": String,
"thumbnailUrl": String
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| adult | boolean | X | Message status for adults (defaults: false) |
| content | String | X | - For TEXT type, up to 1,300 characters (linebreak: up to 99, URL type available) - For IMAGE type, up to 400 characters (linebreak: up to 29, URL type available) - For WIDE type, up to 76 characters (linebreak: up to 1) - For PREMIUM_VIDEO type, the field can be used optionally, 76 characters (linebreak: up to 1) - For other types, the field is unavailable. |
| header | String | X | Header - Required field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) - Optional field for WIDE_ITEM_LIST type, up to 20 characters (linebreak: unavailable) |
| video | Object | O | Video elements (only PREMIUM_VIDEO type available) |
| - videoUrl | String | O | KakaoTV video URL (only video addresses uploaded on KakaoTV available), limited to up to 500 characters Placeholders unavailable |
| - thumbnailUrl | String | X | Image URL for video thumbnail. Only URLs uploaded as general images available (if none is available, the default KakaoTV video thumbnail is used). Limited to up to 500 characters Placeholders unavailable |
| buttons | List | X | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters |
| - schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
[Request body]
{
"templateName": String,
"chatBubbleType": "COMMERCE",
"pushAlarm": boolean,
"adult": boolean,
"additionalContent": String,
"image": {
"imageUrl": String,
"imageLink": String
},
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up to 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| adult | boolean | X | Message status for adults (defaults: false) |
| additionalContent | String | X | Additional information (up to 34 characters, linebreak: up to 1), available only for commerce type |
| image | Object | O | Image elements - Required fields for IMAGE, WIDE, COMMERCE types |
| - imageUrl | String | O | Image URL, use an image URL uploaded as a general image No placeholders available |
| - imageLink | String | X | URL to go to when the image is clicked, limited to 500 characters If not set, use the image viewer in KakaoTalk No placeholders available |
| commerce | Object | O | Commerce (available only for COMMERCE type) |
| title | String | O | Product title (up to 30 characters, linebreak: unavailable) |
| regularPrice | Integer | O | Regular price (0 to 99,999,999) Cannot customize placeholders, stored as a fixed placeholder #{regular price} if the value is left blank |
| discountPrice | Integer | X | Discount price (0 to 99,999,999) Cannot customize placeholders, stored as a fixed placeholder #{discount price} if the value is left blank |
| discountRate | Integer | X | Discount rate (0 to 100), discount rate when a discount price exists, one of the fixed discount prices required Cannot customize placeholders, stored as a fixed placeholder #{discount rate} if the value is left blank |
| discountFixed | Integer | X | Fixed discount rate (0 to 999,999), discount rate when a discount price exists, one of the fixed discount prices required Cannot customize placeholders, stored as a fixed placeholder #{fixed discount price} if the value is left blank |
| buttons | List | O | Button list - For TEXT, IMAGE type, up to 4 when applying a coupon; for others, up to 5 - For WIDE, WIDE_ITEM_LIST type, up to 2 - For PREMIUM_VIDEO type, up to 1 - For COMMERCE type, minimum 1 and up to 2 |
| - name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| - type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 1,000 characters |
| - schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| - bizFormKey | String | X | BizForm key when the button is BF type |
| coupon | Object | X | Coupon elements |
| - title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| - description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| - linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| - schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
[Request body]
{
"templateName": String,
"chatBubbleType": "CAROUSEL_FEED",
"adult": boolean,
"carousel": {
"list": [
{
"header": String,
"message": String,
"imageUrl": String,
"imageLink": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"chatExtra": String,
"chatEvent": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
},
{
"header": String,
"message": String,
"imageUrl": String,
"imageLink": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
],
"tail": {
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up to 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Sending status for message push notifications (defaults: true) |
| adult | boolean | X | Message status for adults (defaults: false) |
| carousel | Object | O | Carousel |
| - list | List | O | Carousel list (minimum 2, maximum 6) |
| -- header | String | O | Carousel item title (up to 20 characters), available only for carousel feed type |
| -- message | String | O | Carousel item title (up to 20 characters), carousel item message (up to 180 characters), available only for carousel feed type |
| -- imageUrl | String | O | Image URL (use an image uploaded as a carousel feed type image No placeholders available |
| -- imageLink | String | X | Image link, limited to 500 characters No placeholders available |
| -- buttons | List | O | Carousel list button list, minimum 1, maximum 2 |
| --- name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| --- type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters |
| --- schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| --- bizFormKey | String | X | BizForm key when the button is BF type |
| -- coupon | Object | X | Coupon elements |
| --- title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| --- description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - tail | Object | X | More button information |
| -- linkMo | String | O | Mobile web link, limited to 500 characters No placeholders available |
| -- linkPc | String | X | PC web link, limited to 500 characters No placeholders available |
| -- schemeAndroid | String | X | Android app link, limited to 500 characters No placeholders available |
| -- schemeIos | String | X | IOS app link, limited to 500 characters No placeholders available |
| recipientList | List | O | Recipient list (up to 1,000) |
| - recipientNo | String | O | Incoming number |
| createUser | String | X | Registrant (stored as user UUID when sent from console) |
[Request body]
{
"templateName": String,
"chatBubbleType": "CAROUSEL_COMMERCE",
"adult": boolean,
"carousel": {
"head": {
"header": String,
"content": String,
"imageUrl": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"list": [
{
"additionalContent": String,
"imageUrl": String,
"imageLink": String,
"buttons": [
{
"name": String,
"type": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String,
"bizFormKey": String
}
],
"coupon": {
"title": String,
"description": String,
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
},
"commerce": {
"title": String,
"regularPrice": Integer,
"discountPrice": Integer,
"discountRate": Integer,
"discountFixed": Integer
},
}
],
"tail": {
"linkMo": String,
"linkPc": String,
"schemeAndroid": String,
"schemeIos": String
}
}
}
| Name | Type | Required | Description |
|---|---|---|---|
| templateName | String | O | Template name (up to 200 characters) |
| chatBubbleType | String | O | Message type (TEXT, IMAGE, WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO, COMMERCE, CAROUSEL_FEED, CAROUSEL_COMMERCE) |
| pushAlarm | boolean | X | Sending status for message push notifications (defaults: true) |
| adult | boolean | X | Message status for adults (defaults: false) |
| carousel | Object | O | Carousel |
| - head | Object | X | Carousel intro |
| -- header | String | O | Carousel intro header (up to 20 characters) |
| -- content | String | O | Carousel intro content (up to 50 characters) |
| -- imageUrl | String | O | Carousel intro image address (use an image uploaded as a carousel commerce type image; the used image should have the same image and ratio of the carousel.) No placeholders available |
| -- linkMo | String | X | Mobile web link (linkMo is required if one of the linkMo, linkPc, schemeAndroid, schemeIos will be used), limited to up to 500 characters |
| -- linkPc | String | X | PC web link, limited to 500 characters |
| -- schemeAndroid | String | X | Android app link, limited to 500 characters |
| -- schemeIos | String | X | IOS app link, limited to 500 characters |
| - list | List | O | Carousel list (If head exists, minimum 1, maximum 5 / otherwise minimum 2, maximum 6) |
| -- additionalContent | String | X | Additional info (up to 34 characters), available only for carousel commerce |
| -- imageUrl | String | O | Image URL(use an image uploaded as a carousel commerce type image No placeholders available |
| -- imageLink | String | X | Image link, limited to 500 characters No placeholders available |
| -- commerce | Object | O | Commerce (available only for CAROUSEL_COMMERCE type) |
| --- title | String | O | Product title (up to 30 characters, linebreak: unavailable) |
| --- regularPrice | Integer | O | Regular price (0 to 99,999,999) Cannot customize placeholders, stored as a fixed placeholder #{regular price} if the value is left blank |
| --- discountPrice | Integer | X | Discount price (0 to 99,999,999) Cannot customize placeholders, stored as a fixed placeholder #{discount price} if the value is left blank |
| --- discountRate | Integer | X | Discount rate (0 to 100), discount rate when a discount price exists, one of the fixed discount prices required Cannot customize placeholders, stored as a fixed placeholder #{discount rate} if the value is left blank |
| --- discountFixed | Integer | X | Fixed discount rate (0 to 999,999), discount rate when a discount price exists, one of the fixed discount prices required Cannot customize placeholders, stored as a fixed placeholder #{fixed discount price} if the value is left blank |
| -- buttons | List | O | Carousel list button list, minimum 1, maximum 2 |
| --- name | String | O | Button title - For TEXT, IMAGE type, up to 14 characters - For other types, up to 8 characters No placeholders available |
| --- type | String | O | Button type (WL: web link, AL: app link, BK: bot keyword, MD: forward message, AC: add channel, BC: chat consultation conversion, BT: chatbot conversion, BF: business form ) - BC type is not available in templates - BT type - BF type is not available in templates - AC type must be registered as the first button for TEXT and IMAGE, and as the last button for other message types |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters |
| --- schemeIos | String | X | IOS app link (required for AL type), limited to 500 characters |
| --- bizFormKey | String | X | BizForm key when the button is BF type |
| -- coupon | Object | X | Coupon elements |
| --- title | String | O | Limited to 5 formats for titles - "${number} won discount coupon" number is 1 or greater and 99,999,999 or less - "${number}% discount coupon" number is 1 or greater and 100 or less - "Shipping discount coupon" - "${within 7 characters} free coupon" - "${within 7 characters} UP coupon" |
| --- description | String | O | Coupon details - For WIDE, WIDE_ITEM_LIST, PREMIUM_VIDEO type, up to 18, linebreak: unavailable - For other types, up to 12 characters, linebreak: unavailable |
| --- linkMo | String | X | Mobile web link (required for WL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- linkPc | String | X | PC web link (optional for WL type), limited to 500 characters |
| --- schemeAndroid | String | X | Android app link (required for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| --- schemeIos | String | X | IOS app link (required field for AL type), limited to 500 characters If entering linkMo field in the coupon, the remaining fields become optional. If entering the channel coupon URL (format: alimtalk=coupon://) in the scheme_android or scheme_ios field, the remaining fields become optional. |
| - tail | Object | X | More button information |
| -- linkMo | String | O | Mobile web link, limited to 500 characters No placeholders available |
| -- linkPc | String | X | PC web link, limited to 500 characters No placeholders available |
| -- schemeAndroid | String | X | Android app link, limited to 500 characters No placeholders available |
| -- schemeIos | String | X | IOS app link, limited to 500 characters No placeholders available |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"template": {
"templateCode": String
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| template | Object | X | Template Info |
| - templateCode | String | O | Template Code |
[URL]
PUT /brand-message/v1.0/appkeys/{appkey}/senders/{senderKey}/templates/{templateCode}
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
| templateCode | String | Template Code |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request Body]
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
[URL]
DELETE /brand-message/v1.0/appkeys/{appkey}/senders/{senderKey}/templates/{templateCode}
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
| templateCode | String | Template Code |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
[URL]
POST /brand-message/v1.0/appkeys/{appKey}/images
Content-Type: multipart/form-data
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request parameter]
| Name | Type | Required | Description |
|---|---|---|---|
| image | File | O | Image |
| imageType | String | O | Image type (IMAGE, WIDE_IMAGE,MAIN_WIDE_ITEMLIST_IMAGE,NORMAL_WIDE_ITEMLIST_IMAGE,CAROUSEL_FEED_IMAGE,CAROUSEL_COMMERCE_IMAGE) |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"image": {
"imageSeq": Integer,
"imageUrl": String,
"imageName": String,
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| image | Object | X | Image area |
| - imageSeq | Integer | O | Image sequence |
| - imageUrl | String | O | Image URL |
| - imageName | String | X | Image Name |
| Image Type | Usage | Upload Image Specifications |
|---|---|---|
| IMAGE | Image-type image, Commerce-type image, Premium video-type thumbnail | Recommended size: 800 × 400 px (width ≥ 500 px) Aspect ratio: 0.5 ≤ (height ÷ width) ≤ 1.333 File format & size limit: JPG, PNG / up to 5 MB |
| WIDE_IMAGE | Wide image-type image | Recommended size: 800 × 600 px (width ≥ 500 px) Aspect ratio: 0.5 ≤ (height ÷ width) ≤ 1 File format & size limit: JPG, PNG / up to 5 MB |
| MAIN_WIDE_ITEMLIST_IMAGE | First item image in a wide item list | Minimum size: width ≥ 500 px Aspect ratio: (height ÷ width) = 0.5 File format & size limit: JPG, PNG / up to 5 MB |
| NORMAL_WIDE_ITEMLIST_IMAGE | Item images #2–#4 in a wide item list | Minimum size: width ≥ 500 px Aspect ratio: (height ÷ width) = 1 File format & size limit: JPG, PNG / up to 5 MB each |
| CAROUSEL_FEED_IMAGE | Per-cell image in a carousel feed | Recommended size: 800 × 600 px or 800 × 400 px (width ≥ 500 px) Aspect ratio: 0.5 ≤ (height ÷ width) ≤ 1.333 File format & size limit: JPG, PNG / up to 5 MB |
| CAROUSEL_COMMERCE_IMAGE | Intro image for carousel commerce, per-cell image for carousel commerce | Recommended size: 800 × 600 px or 800 × 400 px (width ≥ 500 px) Aspect ratio: 0.5 ≤ (height ÷ width) ≤ 1.333 File format & size limit: JPG, PNG / up to 5 MB |
[URL]
GET /brand-message/v1.0/appkeys/{appKey}/images
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request parameter]
| Name | Type | Required | Description |
|---|---|---|---|
| imageTypes | List | O | Image type (IMAGE, WIDE_IMAGE,MAIN_WIDE_ITEMLIST_IMAGE,NORMAL_WIDE_ITEMLIST_IMAGE,CAROUSEL_FEED_IMAGE,CAROUSEL_COMMERCE_IMAGE) |
| pageNum | String | X | Page number (default: 1) |
| pageSize | String | X | Number of views (default: 15) |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
},
"image": {
"imageSeq": Integer,
"imageUrl": String,
"imageName": String
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| image | Object | X | Image area |
| - imageSeq | Integer | O | Image sequence |
| - imageUrl | String | O | Image URL |
| - imageName | String | X | Image Name |
[URL]
DELETE /brand-message/v1.0/appkeys/{appKey}/images
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Query parameter]
| Name | Type | Required | Description |
|---|---|---|---|
| imageSeq | String | O | Image number |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
[URL]
POST /brand-message/v1.0/appkeys/{appKey}/senders/{senderKey}/biz-form
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
[URL]
GET /brand-message/v1.0/appkeys/{appKey}/senders/{senderKey}
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
{
"header":{
"resultCode" : Integer,
"resultMessage" : String,
"isSuccessful" : boolean
},
"sender":{
"plusFriendId" : String,
"senderKey" : String,
"categoryCode" : String,
"unsubscribePhoneNumber": String,
"unsubscribeAuthNumber": String,
"status" : String,
"statusName" : String,
"kakaoStatus" : String,
"kakaoStatusName" : String,
"kakaoProfileStatus" : String,
"kakaoProfileStatusName" : String,
"profileSpamLevel" : String,
"profileMessageSpamLevel" : String,
"brandMessage" : {
"resendAppKey": String,
"isResend": boolean,
"resendSendNo": String,
"resendUnsubscribeNo": String
},
"dormant" : boolean,
"marketingAgreement" : boolean,
"block" : boolean,
"createDate" : String,
"initialUserRestriction" : boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
| sender | Object | X | Outgoing Profile |
| - plusFriendId | String | O | PlusFriend ID |
| - senderKey | String | O | Outgoing Key |
| - categoryCode | String | X | Category code |
| - unsubscribePhoneNumber | String | X | Toll-free opt-out phone number |
| - unsubscribeAuthNumber | String | X | toll-free opt-out verification number |
| - status | String | X | NHN Cloud PlusFriend status code (YSC02: pending registration, YSC03: normal registration) |
| - statusName | String | X | NHN Cloud PlusFriend status name (pending registration, normal registration) |
| - kakaoStatus | String | X | Kakao PlusFriend status code (A: normal, S: blocked) if status is YSC02, have kakaoStatus null value. |
| - kakaoStatusName | String | X | Kakao PlusFriend status name (normal, blocked) if status is YSC02, have kakaoStatusName null value. |
| - kakaoProfileStatus | String | X | Kakao PlusFriend profile status code (A: enabled, B: blocked, C: disabled, D:deleted E:deletion in progress) if status is YSC02, have kakaoProfileStatus null value. |
| - kakaoProfileStatusName | String | X | Kakao PlusFriend profile status name (enabled, disabled, blocked, deletion in progress, deleted) if status is YSC02, have kakaoProfileStatusName null value. |
| - profileSpamLevel | String | X | KakaoTalk channel spam status name (permanent restriction, warning restriction, normal) It may have a null value if the outgoing profile status is not normal. |
| - profileMessageSpamLevel | String | X | KakaoTalk Message spam status name (activity restriction, warning restriction, normal) It may have a null value if the outgoing profile status is not normal. |
| - block | boolean | O | Outgoing profile blocked status |
| - brandMessage | Object | X | Brand Message settings information |
| -- resendAppKey | String | X | SMS service appkey to be set as fallback |
| -- isResend | boolean | O | Fallback settings (resending) status |
| -- resendSendNo | String | X | If resending, tc-sms outgoing number |
| -- resendUnsubscribeNo | String | X | If resending, tc-sms 080 opt-out number |
| - dormant | boolean | O | Outgoing profile inactive status |
| - marketingAgreement | boolean | O | M/N-type use application status |
| - createDate | String | X | Registered Date |
| - initialUserRestriction | boolean | O | First-time user restriction status |
[URL]
PUT /brand-message/v1.0/appkeys/{appKey}/senders/{senderKey}/unsubscribe-content
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
| senderKey | String | Outgoing Key |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request body]
{
"unsubscribeNo": String,
"unsubscribeAuthNo": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| unsubscribeNo | String | O | 080 toll-free opt-out phone number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) - 080-xxx-xxxx - 080-xxxx-xxxx - 080xxxxxxx - 080xxxxxxxx |
| unsubscribeAuthNo | String | X | 080 toll-free opt-out verification number (If not entered, the message will be sent using the free opt-out information registered in the outgoing profile) unsubscribe_auth_number cannot be entered without unsubscribe_phone_number ex) 1234 |
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |
[URL]
POST /brand-message/v1.0/appkeys/{appkey}/failback/appkey
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request body]
{
"resendAppKey": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| resendAppKey | String | O | SMS service appkey to be set as fallback |
[Example]
curl -X POST -H "Content-Type: application/json;charset=UTF-8" -H "X-Secret-Key:{secretkey}" https://api-alimtalk.cloud.toast.com/brand-message/v1.0/appkeys/{appkey}/failback/appkey -d '{"resendAppKey": "smsAppKey"}
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
[URL]
POST /brand-message/v1.0/appkeys/{appkey}/failback
Content-Type: application/json;charset=UTF-8
[Path parameter]
| Name | Type | Description |
|---|---|---|
| appkey | String | Unique appkey |
[Header]
{
"X-Secret-Key": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| X-Secret-Key | String | O | Available to create from the console. |
[Request body]
{
"senderKey": String,
"isResend": Boolean,
"resendSendNo": String,
"resendUnsubscribeNo": String
}
| Name | Type | Required | Description |
|---|---|---|---|
| senderKey | String | O | Outgoing Key |
| isResend | Boolean | O | Fallback text status if sending fails When setting up fallbacks in the console, fallbacks will be sent by default. |
| resendSendNo | String | X | Fallback outgoing number (if the outgoing number is not registered with the SMS product, the fallback may fail.) |
| resendUnsubscribeNo | String | X | Fallback 080 opt-out number (if the 080 opt-out number is not registered with the SMS service the fallback may fail.) |
[Example]
curl -X POST -H "Content-Type: application/json;charset=UTF-8" -H "X-Secret-Key:{secretkey}" https://api-alimtalk.cloud.toast.com/brand-message/v1.0/appkeys/{appkey}/failback/appkey -d '{"senderKey": "0be23c29de88d6888798aeda57062516354d74ba","isResend": true,"resendSendNo": "01012341234" }
{
"header": {
"resultCode": Integer,
"resultMessage": String,
"isSuccessful": boolean
}
}
| Name | Type | Not Null | Description |
|---|---|---|---|
| header | Object | O | Header zone |
| - resultCode | Integer | O | Result code |
| - resultMessage | String | O | Result message |
| - isSuccessful | boolean | O | Success status |