Available in Classic and VPC
Get the message delivery result of Brand Message.
Request
This section describes the request format. The method and URI are as follows:
| Method | URI |
|---|---|
| GET | /brandmessage/v2/services/{serviceId}/messages/{messageId} |
Request headers
For information about the headers common to all Simple & Easy Notification Service APIs, see Simple & Easy Notification Service request headers.
Request path parameters
You can use the following path parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
serviceId |
String | Required | Biz Message service ID
|
messageId |
String | Required | Message ID |
Request example
The request example is as follows:
curl --location --request GET 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages/27577f08-****-****-****-471033372652' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
Response
This section describes the response format.
Response body
The response body includes the following data:
| Field | Type | Required | Description |
|---|---|---|---|
requestId |
String | Required | Request ID |
messageId |
String | Required | Message ID |
requestTime |
String | Required | Request date and time
|
completeTime |
String | Optional | Completion date and time
|
plusFriendId |
String | Required | Channel ID |
messageType |
String | Required | Message type
|
templateCode |
String | Optional | Message template code |
countryCode |
String | Optional | Country code |
to |
String | Required | Recipient number |
content |
String | Optional | Message content |
requestStatusCode |
String | Required | Request status code
|
requestStatusName |
String | Required | Request status
|
requestStatusDesc |
String | Required | Request status description |
messageStatusCode |
String | Optional | Reception status code
|
messageStatusName |
String | Optional | Reception status
|
messageStatusDesc |
String | Optional | Reception status description |
useSmsFailover |
Boolean | Required | Use of SMS alternative delivery
|
failover |
Object | Optional | SMS alternative delivery information
|
failover.smsServiceId |
String | Required | SMS service ID used for alternative delivery |
failover.requestId |
String | Required | Alternative delivery request ID |
failover.messageId |
String | Required | Alternative delivery message ID |
failover.requestStatusCode |
String | Required | SMS alternative delivery request status code |
failover.requestStatusName |
String | Required | Alternative delivery request status
|
failover.requestStatusDesc |
String | Optional | Alternative delivery request status description |
failover.messageStatus |
String | Optional | Alternative delivery message status
|
failover.messageStatusCode |
String | Optional | Alternative delivery message reception status code |
failover.messageStatusName |
String | Optional | Alternative delivery message reception status |
failover.messageStatusDesc |
String | Optional | Alternative delivery message reception status description |
isAdult |
Boolean | Required | Target age
|
targeting |
String | Required | Targeting code
|
templateParameters |
Object | Optional | Template parameter |
headerContent |
String | Optional | Header content |
additionalContent |
String | Optional | Additional information |
buttons |
Array | Optional | Button list |
image |
Object | Optional | Image information |
image.imageId |
String | Required | Image ID |
image.imageLink |
String | Optional | Image URL |
item |
Object | Optional | Wide list information |
item.list |
Array | Required | Wide list |
carousel |
Object | Optional | Carousel information |
carousel.head |
Object | Optional | Carousel intro information |
carousel.head.headerContent |
String | Required | Carousel header |
carousel.head.content |
String | Required | Carousel content |
carousel.head.imageId |
String | Required | Carousel intro image ID |
carousel.head.linkMobile |
String | Optional | Carousel intro mobile web link |
carousel.head.linkPc |
String | Optional | Carousel intro PC web link |
carousel.head.schemeAndroid |
String | Optional | Carousel intro Android app link |
carousel.head.schemeIos |
String | Optional | Carousel intro iOS app link |
carousel.list |
Array | Required | Carousel list |
carousel.tail |
Object | Optional | Carousel details information |
carousel.tail.linkMobile |
String | Required | Mobile web link |
carousel.tail.linkPc |
String | Optional | PC web link |
carousel.tail.schemeAndroid |
String | Optional | Android app link |
carousel.tail.schemeIos |
String | Optional | iOS app link |
commerce |
Object | Optional | Commerce information |
commerce.title |
String | Required | Product title |
commerce.regularPrice |
Integer | Required | Product regular price |
commerce.discountPrice |
Integer | Optional | Product discount price |
commerce.discountRate |
Integer | Optional | Product discount rate |
commerce.discountFixed |
Integer | Optional | Product fixed discount price |
coupon |
Object | Optional | Coupon information |
coupon.title |
String | Required | Coupon title |
coupon.description |
String | Required | Coupon description |
coupon.linkMobile |
String | Optional | Mobile web link |
coupon.linkPc |
String | Optional | PC web link |
coupon.schemeAndroid |
String | Optional | Android app link |
coupon.schemeIos |
String | Optional | iOS app link |
video |
Object | Optional | Video information (Premium video type) |
video.thumbnailId |
String | Optional | Image ID for video thumbnail |
video.videoUrl |
String | Required | KakaoTV video URL |
buttons
The following describes buttons.
| Field | Type | Required | Description |
|---|---|---|---|
type |
String | Required | Button type
|
name |
String | Required | Button name |
linkMobile |
String | Optional | Mobile web link |
linkPc |
String | Optional | PC web link |
schemeIos |
String | Optional | iOS app link |
schemeAndroid |
String | Optional | Android app link |
bizFormId |
String | Optional | Business form ID |
item.list
The following describes item.list.
| Field | Type | Required | Description |
|---|---|---|---|
title |
String | Required | |
imageId |
String | Required | |
linkMobile |
String | Required | Mobile web link |
linPc |
String | Optional | PC web link |
schemeAndroid |
String | Optional | Android app link |
schemeIos |
String | Optional | iOS app link |
Response status codes
For information about the HTTP status codes common to all Simple & Easy Notification Service APIs, see Simple & Easy Notification Service response status codes.
Response example
The response example is as follows:
{
"requestId": "RBBA-*************-****-********-QlvjXtBr",
"messageId": "bc87c708-****-****-****-57b56c506309",
"requestTime": "2025-11-28T11:21:06.317",
"completeTime": "2025-11-28T11:21:06",
"plusFriendId": "@******",
"messageType": "TEXT",
"countryCode": "82",
"to": "010********",
"content": "Congratulation card",
"requestStatusCode": "A000",
"requestStatusName": "success",
"requestStatusDesc": "Succeeded",
"messageStatusCode": "0000",
"messageStatusName": "success",
"messageStatusDesc": "Normal delivery",
"useSmsFailover": true,
"failover": {
"smsServiceId": "ncp:sms:kr:27*********6:sens",
"requestId": "RSLA-*************-****-********-ZzdhBYsk",
"messageId": "6cc7eab4-****-****-****-c523f8a0e8ce",
"requestStatusCode": "0",
"requestStatusName": "success",
"requestStatusDesc": "Succeeded",
"messageStatus": "COMPLETED",
"messageStatusCode": "0",
"messageStatusName": "success",
"messageStatusDesc": "Succeeded"
},
"isAdult": false,
"targeting": "I",
"buttons": [
{
"name": "Website",
"type": "WL",
"linkPc": "https://******.com/ko/",
"linkMobile": "https://******.com/ko/"
},
{
"name": "Blog",
"type": "WL",
"linkPc": "https://******.com/ko/blog/",
"linkMobile": "https://*******.com/ko/blog/"
}
],
"image": {
"imageId": "c175d6a4-****-****-****-90973f8f0aae",
"imageLink": "https://mud-kage.kakao.com/dn/h9B2k/***********/**********************/img_l.jpg"
}
}
Reception result code
The reception result codes for Alim Talk/Brand Message are as follows:
| Code | Message | Description |
|---|---|---|
| 0000 | - | Normal delivery |
| 1001 | NoJsonBody | Request body is not in JSON format. |
| 1002 | InvalidHubPartnerKey | Invalid partner key |
| 1003 | InvalidSenderKey | Invalid outgoing profile key |
| 1004 | NoValueJsonElement | Name not found in request body (JSON) |
| 1005 | SenderNotFound | Outgoing profile not found |
| 1006 | DeletedSender | Deleted outgoing profile |
| 1007 | StoppedSender | Blocked outgoing profile |
| 1011 | ContractNotFound | Contract information not found |
| 1012 | InvalidUserKeyException | Invalid format of user key request |
| 1013 | InvalidAppLink | Invalid app connection |
| 1014 | InvalidBizNum | Invalid business registration number |
| 1015 | TalkUserIdNotFonud | Invalid app user ID request |
| 1016 | BizNumNotEqual | Business registration number mismatch |
| 1020 | InvalidReceiveUserException | All user identification values are invalid. |
| 1021 | BlockedProfile | Blocked Kakao Talk Channel (Check from the Kakao Talk Channel operation tool.) |
| 1022 | DeactivatedProfile | Closed Kakao Talk Channel (check from the Kakao Talk Channel operation tool) |
| 1023 | DeletedProfile | Deleted Kakao Talk Channel (Check from the Kakao Talk Channel operation tool.) |
| 1024 | DeletingProfile | Kakao Talk Channel pending deletion (Check from the Kakao Talk Channel operation tool.) |
| 1025 | SpammedProfile | Message-blocked Kakao Talk Channel (Check from the Kakao Talk Channel operation tool.) |
| 1026 | UnableUseMessageType | The request was made with a method unavailable for the msg_type (image Alim Talk (AI) can't be sent in real time). |
| 1027 | - | Message delivery failure due to channel message restriction status |
| 1030 | InvalidParameterException | Invalid parameter request |
| 1033 | - | Template type and message type mismatch |
| 2000 | FailedToCheckFriendshipException | Error when checking the friend relationship with the Talk Channel (system error) |
| 2003 | FailedToSendMessageByNoFriendshipException | Message delivery failure (if Kakao Talk Channel is not added in the test server) |
| 2004 | FailedToMatchTemplateException | Error when checking template match (internal Kakao error) |
| 2005 | FailedToReadImageException | Error reading image meta information from Kakao |
| 2006 | FailedToMatchSerialNumberPrefixPattern | Serial number format mismatch |
| 3000 | UnexceptedExcetpion | Occurrence of an unexpected error |
| 3005 | AckTimeoutException | A message was sent, but the read receipt was not confirmed (success uncertain). |
| 3006 | FailedToSendMessageException | Message delivery failed due to Kakao's internal system error. |
| 3008 | InvalidPhoneNumberException | Phone number error |
| 3010 | JsonParseException | JSON parsing error |
| 3011 | MessageNotFoundException | Message does not exist. |
| 3012 | SerialNumberDuplicatedException | Message serial number is duplicated. (A unique value must be assigned for the message serial number.) |
| 3013 | MessageEmptyException | Blank message |
| 3014 | MessageLengthOverLimitException | Message length limit error (exceeding 1000 characters for text type, 400 characters for image type) |
| 3015 | TemplateNotFoundException | Template not found |
| 3016 | NoMatchedTemplateException | Message content does not match the template. |
| 3018 | NoSendAvailableException | Message could not be sent. |
| 3019 | MessageNoUserException | Not a talk user |
| 3020 | MessageUserBlockedAlimTalkException | Alim Talk blocked |
| 3021 | MessageNotSupportedKakaotalkException | Minimum support version for Talk not met |
| 3022 | NoSendAvailableTimeException | Outside the time available for sending messages (Friend Talk/marketing messages can be sent from 8:00 AM to 8:00 PM KST.) |
| 3023 | MessageInvalidVideoException | Unable to send the video embedded in the message (The video address or thumbnail image address is incorrect or the thumbnail image does not meet the specifications.) |
| 3024 | MessageInvalidImageException | The image contained in the message can't be sent. |
| 3025 | ExceedMaxVariableLengthException | Variable character limit exceeded |
| 3026 | Button chat_extra(event)-InvalidExtra(EventName)Exception '([A-Za-z0-9_]{1,50})' | Inquiry/bot switching button extra, event character limit exceeded |
| 3027 | NoMatchedTemplateButtonException | Button content does not match the template. |
| 3028 | NoMatchedTemplateTitleException | Message highlighting title does not match the template. |
| 3029 | ExceedMaxTitleLengthException | Message highlighting title length limit exceeded (50 characters) |
| 3030 | NoMatchedTemplateWithMessageTypeException | Message type does not match the template highlight type. |
| 3031 | NoMatchedTemplateHeaderException | Header does not match the template. |
| 3032 | ExceedMaxHeaderLengthException | Header length limit exceeded (16 characters) |
| 3033 | NoMatchedTemplateItemHighlightException | Item highlight does not match the template. |
| 3034 | ExceedMaxItemHighlightTitleLengthException | Item highlight title length limit exceeded (30 characters with no images, 21 characters with images) |
| 3035 | ExceedMaxItemHighlightDescriptionLengthException | Item highlight description length limit exceeded (19 characters with no images, 14 characters with images) |
| 3036 | NoMatchedTemplateItemListException | Item list does not match the template. |
| 3037 | ExceedMaxItemDescriptionLengthException | Item's description length limit exceeded in the item list (23 characters) |
| 3038 | NoMatchedTemplateItemSummaryException | Item summary information does not match the template. |
| 3039 | ExceedMaxItemSummaryDescriptionLengthException | Item summary information length limit exceeded (14 characters) |
| 3040 | InvalidItemSummaryDescriptionException | Item summary information includes characters that are not allowed (inclusion of characters other than currency symbol/code, number, comma, period, and space). |
| 3041 | MessageInvalidWideItemListLengthException | Wide item list count minimum, maximum mismatch |
| 3042 | NoMatchedTemplateRepresentLinkException | Representative link does not match template. |
| 3046 | ExceedMaxAdditionalContentLengthException | Additional information maximum length limit error |
| 3047 | ExceedMaxCommerceTitleLengthException | Commerce information, product name maximum length limit error |
| 3050 | MessageNotSupportedUnsubscribeException | Opt-out specifications (N type) not supported |
| 3051 | InvalidateCarouselItemMinException or InvalidateCarouselItemMaxException | Carousel item list count minimum, maximum mismatch |
| 3052 | CarouselMessageLengthOverLimitException | Carousel item message length exceeded |
| 3056 | WideItemListTitleLengthOverLimitException | Wide item list title length limit error |
| 3058 | CarouselHeaderLengthOverLimitException | Carousel header length limit error |
| 3059 | MessageNotSupportedCouponException | Coupon specifications not supported |
| 4000 | ResponseHistoryNotFoundException | Message delivery result not found |
| 4001 | UnKnownMessageStatusError | Unknown message status |
| 7011 | - | Serial number pattern error |
| 7014 | - | Message validity timeout error |
| 8512 | - | Recipient type not found |
| 8514 | - | request_id not found |
| 8520 | - | Unsupported product type error |
| 8521 | - | Message type not supported error |
| 8522 | - | Text type not supported error |
| 8523 | - | Response method not supported error |
| 8530 | - | Recipient list size error |
| 8999 | - | Internal server error |
| 9998 | The service is not currently provided. | The admin is checking a problem that occurred in the system. |
| 9999 | The admin is checking an unknown problem that occurred in the system. | The admin is checking a problem that occurred in the system. |
| B000 | Prepare to relay failed | Failure of preliminary work for forwarding to the relay company |
| B001 | Request to relay failed | Relay company delivery failure |
| B002 | Filtering for request to relay failed | Filtered due to invalid request |
| B003 | Invalid phone number format | Invalid caller ID format |
| B004 | Quota Exceed | Quota exceeded |
| B005 | Message processing timeout exceed | The difference between the message request time and processing time is outside the allowable range. |
| B400 | Invalid Request | Message format error |
| B999 | Unexpected server error | Unexpected error |
SMS alternative delivery request status code
The following are the status codes returned when requesting SMS delivery as a fallback upon Biz Message delivery failure.
| Code | Description |
|---|---|
| 0 | Succeeded |
| E4000 | SMS alternative delivery settings are invalid. |
| E4001 | SMS alternative delivery settings are missing. |
| E4002 | SMS alternative delivery service is not configured. |
| E4003 | SMS alternative delivery type (SMS, LMS) is not configured. |
| E4004 | SMS alternative delivery caller ID is not configured. |
| E4005 | SMS alternative delivery message subject is not configured. |
| E4006 | SMS alternative delivery message content is not configured. |
| E4007 | SMS alternative delivery message recipient number is not configured. |
| E4008 | SMS alternative delivery service is not available. |
| E4009 | SMS alternative delivery caller ID is not authenticated. |
| E4010 | 080 call block for SMS alternative delivery is not available. |
| E4999 | SMS alternative delivery settings parsing error (required to contact Support) |
| E5000 | Internal error (required to contact Support) |