Send message

Prev Next

Available in Classic and VPC

Send a message. It supports message types such as text, image, wide image, wide item list, commerce, carousel commerce, carousel feed, premium video, and default templates.

Note
  • You can specify the group of message recipients by defining targeting codes.
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Users who have consented to receive promotional information from customers (Kakao Talk consent) - Channel friend
    • I: Customer's delivery request target ∩ Channel friend
  • Targeting codes M and N can only be used for channels where the Brand Message subscription has been completed.
  • When sending group messages to targeting codes M and N, use the 080 call block number designated for the channel.
  • Free-type sending
    • The AC (Add channel) button is unavailable.
  • Send default type
    • The BC and BT buttons are unavailable.
  • Nighttime delivery restrictions apply. (8:50 PM to 8:00 AM KST next day)

Text type message

Send a text type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter TEXT (text type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
content String Required Message content
  • Enter up to 1300 characters including variables and URLs, regardless of language (Korean/English).
  • Maximum of 99 line breaks.
  • URL format input allowed.
buttons Array Optional Button information
  • Up to 4 when using coupons, up to 5 otherwise
coupon Object Optional Coupon information
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 12 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 14 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

Button type

The following describes the button types.

Field Type Description
WL String Web link
  • URL that starts with http:// or https://
  • Required for linkMobile
AL String App link
  • Two among linkMobile, schemeIos, and schemeAndroid are required.
BF String Business form
  • Only 5 types are available for the button name (name).
    • Describe in Talk.
    • Enter in Talk.
    • Reserve in Talk.
    • For TEXT and IMAGE templates, it is only available as the first button. For others, it is only available as the last button.
    • When used with AC buttons, AC order takes precedence. In the first button position, AC -> BF order is applied, and in the last button position, BF -> AC order is applied.
  • Maximum of 1 button can be used.
AC String Add channel
  • For TEXT and IMAGE templates,it is only available as the first button. For others, it is only available as the last button.
BK String Bot keyword
MD String Send message
BC String Switch to Consultation Talk
  • Only available for channels using Consultation Talk
BT String Switch to chatbot
  • Only available for channels using Kakao Open Builder's chatbots

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
    "plusFriendId": "@******",
    "messageType":"TEXT",
    "targeting":"I",
    "isAdult":"false",
    "messages": [
      {
        "countryCode": "82",
        "to": "010********",
        "content": "Congratulation card",
        "buttons": [
          {
            "type": "WL",
            "name": "Website",
            "linkMobile": "https://******.com/ko/",
            "linkPc": "https://******.com/ko/"
          },
          {
            "type": "WL",
            "name": "Blog",
            "linkMobile": "https://******.com/ko/blog/",
            "linkPc": "https://******.com/ko/blog/"
          }        
        ]
      }
    ]
  }'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

messages

The following describes messages.

Field Type Required Description
messageId String Required Message ID
countryCode String Optional Country code
to String Required Recipient number
requestStatusCode String Required Request status code
  • A000: Success
  • Others: Failure
requestStatusName String Required Request status
  • success | fail
    • success: Success
    • fail: Failure
requestStatusDesc String Required Request status description
useSmsFailover Boolean Required Use of SMS alternative delivery
  • true | false
    • true: Enable
    • false: Disable

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-*************-****-********-dDYJgYGe",
    "requestTime": "2025-12-01T17:00:42.572",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "f38c01be-****-****-****-3bddf7615aef",
            "countryCode": "82",
            "to": "010********",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Image type message

Send an image type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter IMAGE (image type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
content String Required Message content
  • Up to 1300 characters
  • Maximum of 99 line breaks
  • URL format input allowed
buttons Array Optional Button information
  • Up to 5.
    • Only one coupon highlight button can be created.
image Object Optional Image information
image.imageId String Conditional Image ID
  • Required when adding an image
image.imageLink String Conditional Image URL
  • Required when adding an image
coupon Object Optional Coupon information
  • Up to 1
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 12 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 14 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "plusFriendId": "@******",
  "messageType":"IMAGE",
  "targeting":"I",
  "isAdult":"false",
  "messages": [
    {
      "countryCode": "82",
      "to": "010********",
      "content": "Congratulation card",
      "buttons": [
        {
          "type": "WL",
          "name": "Website",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "Blog",
          "linkMobile": "https://******.com/ko/blog/",
          "linkPc": "https://******.com/ko/blog/"
        }        
      ],
      "image": {
        "imageId": "88903684-****-****-****-5d6eb410bf30",
        "imageLink": "https://mud-kage.kakao.com/dn/zNW4l/***********/**********************/img_l.jpg"
      }
    }
  ]
}'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-01T17:45:40.047",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "5ba5a7a8-****-****-****-55a76b65f7ec",
            "countryCode": "82",
            "to": "010********",
            "content": "Congratulation card",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Wide image type message

Send a wide image type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter WIDE_IMAGE (wide image type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
content String Required Message content
  • Up to 76 characters
  • Maximum of 5 line breaks
buttons Array Optional Button information
  • Up to 2.
  • Only one coupon highlight button can be created.
image Object Optional Image information
image.imageId String Conditional Image ID
  • Required when adding an image
image.imageLink String Conditional Image URL
  • Required when adding an image
coupon Object Optional Coupon information
  • Up to 1
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 8 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 8 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "plusFriendId": "@******",
  "messageType":"WIDE_IMAGE",
  "targeting":"I",
  "isAdult":"false",
  "messages": [
    {
      "countryCode": "82",
      "to": "010********",
      "content": "Congratulation card",
      "buttons": [
        {
          "type": "WL",
          "name": "Website",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "Blog",
          "linkMobile": "https://******.com/ko/blog/",
          "linkPc": "https://******.com/ko/blog/"
        }        
      ],
      "image": {
        "imageId": "4983629b-****-****-****-8546230fc8f2",
        "imageLink": "https://mud-kage.kakao.com/dn/JR45M/***********/**********************/img_l.jpg"
      }
    }
  ]
}'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-02T11:54:21.776",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "d8dedd42-****-****-****-2f7b08d080da",
            "countryCode": "82",
            "to": "010********",
            "content": "Congratulation card",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Wide item list type message

Send a wide item list type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter WIDE_ITEM_LIST (wide item list type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
headerContent String Required Header (subject)
  • Up to 20 characters
  • No line breaks
buttons Array Optional Button information
  • Up to 2 (horizontal arrangement)
item Object Required Wide list information
item.list Array Required Wide list
coupon Object Optional Coupon information
  • Up to 1
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 18 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 8 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

item.list

The following describes item.list.

Field Type Required Description
title String Required Item title
  • 1st item
    • Optional when using
    • Up to 25 characters
    • Maximum of 1 line break
  • 2nd-4th item
    • Required when using
    • Up to 30 characters
    • Maximum of 1 line break
imageId String Required Image ID
  • 1st item
    • Main wide item list image
  • 2nd-4th item
    • Sub wide item list image
  • See Get image list.
linkMobile String Required Mobile web link
  • Up to 1000 characters
linPc String Optional PC web link
  • Up to 1000 characters
schemeAndroid String Optional Android app link
  • Up to 1000 characters
schemeIos String Optional iOS app link
  • Up to 1000 characters

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "plusFriendId": "@******",
  "messageType": "WIDE_ITEM_LIST",
  "targeting":"I",
  "isAdult": "false",
  "messages": [
    {
      "countryCode": "82",
      "to": "010********",
      "headerContent": "Congratulation card",
      "buttons": [
        {
          "type": "WL",
          "name": "Website",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "Blog",
          "linkMobile": "https://******.com/ko/blog/",
          "linkPc": "https://******.com/ko/blog/"
        }
      ],
      "item": {
        "list": [
          {
            "title": "Main",
            "imageId": "34ba283e-****-****-****-db59803ae7eb",
            "linkMobile": "https://******.com/ko/"
          },
          {
            "title": "Item 1",
            "imageId": "67828a69-****-****-****-9026147fe5ee",
            "linkMobile": "https://******.com/ko/"
          },
          {
            "title": "Item 2",
            "imageId": "67828a69-****-****-****-9026147fe5ee",
            "linkMobile": "https://******.com/ko/"
          }
        ]
      }
    }
  ]
}

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-02T13:54:05.618",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "a5e6541c-****-****-****-57ab20c82f9e",
            "countryCode": "82",
            "to": "010********",
            "content": null,
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Commerce type message

Send a commerce type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter COMMERCE (commerce type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
additionalContent String Optional Additional information
  • Up to 34 characters
  • Maximum of 1 line break
buttons Array Required buttons information
  • Minimum of 1, maximum of 2
image Object Optional Image information
image.imageId String Conditional Image ID
  • Required when adding an image
image.imageLink String Conditional Image URL
  • Required when adding an image
commerce Object Required Commerce information
commerce.title String Required Product name
  • Up to 30 characters
  • No line breaks
commerce.regularPrice String Required Regular price (KRW)
  • 0-99,999,999
commerce.discountPrice String Conditional Price after discount (KRW)
  • 0-9,999,999
commerce.discountRate String Conditional Discount rate (%)
  • 0-100
  • Required when applying discount rate
  • Can't be used at the same time with commerce.discountFixed
commerce.discountFixed String Conditional Fixed discount price (KRW)
  • 0-999,999
  • Required when applying fixed discount
  • Can't be used at the same time with commerce.discountRate
coupon Object Optional Coupon information
  • Up to 1
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 12 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 8 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "plusFriendId": "@******",
  "messageType": "COMMERCE",
  "targeting":"I",
  "isAdult": "false",
  "messages": [
    {
      "countryCode": "82",
      "to": "010********",
      "additionalContent": "Congratulation card - 10% discount",
      "buttons": [
        {
          "type": "WL",
          "name": "Website",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "Blog",
          "linkMobile": "https://******.com/ko/blog/",
          "linkPc": "https://******.com/ko/blog/"
        }
      ],
      "image": {
        "imageId": "88903684-****-****-****-5d6eb410bf30",
        "imageLink": "https://mud-kage.kakao.com/dn/zNW4l/***********/**********************/img_l.jpg"
      },
      "commerce": {
        "title":"10% discount",
        "regularPrice":"10000",
        "discountPrice":"9000",
        "discountRate":"10"
      }      
    }
  ]
}'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-dDYJgYGe",
    "requestTime": "2025-12-02T14:53:14.350",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "601df2a9-****-****-****-d5c1b178447e",
            "countryCode": "82",
            "to": "010********",
            "content": null,
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Carousel commerce type message

Send a carousel commerce type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter CAROUSEL_COMMERCE (carousel commerce type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
carousel Object Required Carousel information
carousel.head Object Optional Carousel intro information
carousel.head.headerContent String Required Header (subject)
  • Up to 20 characters
  • No line breaks
carousel.head.content String Required Content
  • Up to 50 characters
  • No line breaks
carousel.head.imageId String Required Image ID
  • Only CAROUSEL_COMMERCE type images are available.
  • It must have the same aspect ratio as the carousel list image.
carousel.head.linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required when using schemeAndroid or schemeIos
carousel.head.linkPc String Optional PC web link
  • Up to 1000 characters
carousel.head.schemeAndroid String Optional Android app link
  • Up to 1000 characters
carousel.head.schemeIos String Optional iOS app link
  • Up to 1000 characters
carousel.list Array Required Carousel list
  • Minimum of 2, maximum of 6 (including carousel intro)
carousel.tail Object Optional Carousel details information
carousel.tail.linkMobile String Required Mobile web link
  • Up to 1000 characters
carousel.tail.linkPc String Optional PC web link
  • Up to 1000 characters
carousel.tail.schemeAndroid String Optional Android app link
  • Up to 1000 characters
carousel.tail.schemeIos String Optional iOS app link
  • Up to 1000 characters
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

carousel.list

The following describes carousel.list.

Field Type Required Description
additionalContent String Optional Additional information
  • Up to 34 characters
  • Maximum of 1 line break
buttons Array Required Button information: buttons
  • Minimum of 1, maximum of 2
image Object Optional Image information
image.imageId String Conditional Image ID
  • Required when adding an image
image.imageLink String Conditional Image URL
  • Required when adding an image
coupon Object Optional Coupon information
  • Up to 1
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 12 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
commerce Object Required Commerce information
commerce.title String Required Product name
  • Up to 30 characters
  • No line breaks
commerce.regularPrice Integer Required Regular price (KRW)
  • 0-99,999,999
commerce.discountPrice Integer Conditional Price after discount (KRW)
  • 0-9,999,999
commerce.discountRate Integer Conditional Discount rate (%)
  • 0-100
  • Required when applying discount rate
  • Can't be used at the same time with commerce.discountFixed
commerce.discountFixed Integer Conditional Fixed discount price (KRW)
  • 0-999,999
  • Required when applying fixed discount
  • Can't be used at the same time with commerce.discountRate

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 8 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "plusFriendId": "@******",
  "messageType": "CAROUSEL_COMMERCE",
  "targeting":"I",
  "isAdult": "false",
  "messages": [
    {
      "countryCode": "82",
      "to": "010********",
      "carousel": {
        "head": {
            "headerContent":"Congratulation card",
            "content":"Congratulation card discount promotion",
            "imageId":"cde370b6-****-****-****-6a122739e51f",
            "linkMobile":"https://******.com/ko/"
        },
        "list": [
          {
            "image": {
              "imageId": "cde370b6-****-****-****-6a122739e51f",
              "imageLink": "https://mud-kage.kakao.com/dn/hIaN2/***********/**********************/img_l.jpg"
            },
            "buttons": [
              {
                "type": "WL",
                "name": "Website",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "Blog",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "commerce": {
              "title": "10% discount",
              "regularPrice": "10000",
              "discountPrice": "9000",
              "discountRate": "10"
            }
          },
          {
            "image": {
              "imageId": "cde370b6-****-****-****-6a122739e51f",
              "imageLink": "https://mud-kage.kakao.com/dn/***********/**********************/img_l.jpg"
            },
            "buttons": [
              {
                "type": "WL",
                "name": "Website",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "Blog",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "commerce": {
              "title": "10% discount",
              "regularPrice": "10000",
              "discountPrice": "9000",
              "discountRate": "10"
            }
          }
        ],
        "tail": {
          "linkMobile": "https://hansem.com/ko/"
        }
      }
    }
  ]
}'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-02T15:56:08.336",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "89e11238-****-****-****-a400627816af",
            "countryCode": "82",
            "to": "010********",
            "content": null,
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Carousel feed type message

Send a carousel feed type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter CAROUSEL_FEED (carousel feed type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
carousel Object Required Carousel information
carousel.list Array Required Carousel list
  • Minimum of 2, maximum of 6
carousel.tail Object Optional Carousel details information
carousel.tail.linkMobile String Required Mobile web link
  • Up to 1000 characters
carousel.tail.linkPc String Optional PC web link
  • Up to 1000 characters
carousel.tail.schemeAndroid String Optional Android app link
  • Up to 1000 characters
carousel.tail.schemeIos String Optional iOS app link
  • Up to 1000 characters
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

carousel.list

The following describes carousel.list.

Field Type Required Description
headerContent String Required Header (subject)
  • Up to 20 characters
  • No line breaks
message String Required Content
  • Up to 180 characters.
  • Up to 10 line breaks.
  • Enter variables in the form #{Variable name} without spaces.
buttons Array Required Button information
  • Minimum of 1, maximum of 2
image Object Optional Image information
image.imageId String Conditional Image ID
  • Required when adding an image
image.imageLink String Conditional Image URL
  • Required when adding an image
coupon Object Optional Coupon information
  • Up to 1
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 12 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 8 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "plusFriendId": @******",
  "messageType": "CAROUSEL_FEED",
  "targeting":"I",
  "isAdult": "false",
  "messages": [
    {
      "countryCode": "82",
      "to": "010********",
      "carousel": {
        "list": [
          {
            "headerContent":"Congratulation card 1",
            "message":"Congratulation card discount promotion 1",
            "image": {
            "imageId":"6c4b9ceb-****-****-****-cf550dd5f2e8",
            "imageLink": "https://mud-kage.kakao.com/dn/C2Ft0/***********/**********************/img_l.jpg"
            },
            "buttons": [
              {
                "type": "WL",
                "name": "Website",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "Blog",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "coupon": {
              "title": "10% discount",
              "description": "10% discount",
              "linkMobile": "https://******.com/ko/blog/"
            }
          },
          {
            "headerContent":"Congratulation card 2",
            "message":"Congratulation card discount promotion 2",
            "image": {
            "imageId":"6c4b9ceb-****-****-****-cf550dd5f2e8",
            "imageLink": "https://mud-kage.kakao.com/dn/C2Ft0/***********/**********************/img_l.jpg"
            },
            "buttons": [
              {
                "type": "WL",
                "name": "Website",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "Blog",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "coupon": {
              "title": "10% discount",
              "description": "10% discount",
              "linkMobile": "https://******.com/ko/blog/"
            }
          }
        ],
        "tail": {
          "linkMobile": "https://******.com/ko/"
        }
      }
    }
  ]
}'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-02T16:43:08.144",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "a357721f-****-****-****-6b03cd053dbb",
            "countryCode": "82",
            "to": "010********",
            "content": null,
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Premium video type message

Send a premium video type message.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • Enter PREMIUM_VIDEO (premium video type).
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
isAdult Boolean Optional Target age
  • true | false (default)
    • true: Adult
    • false: All ages
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
headerContent String Optional Header (subject)
  • Up to 20 characters
  • No line breaks
content String Optional Content
  • Up to 76 characters
  • Maximum of 5 line breaks
video Object Required Video information
video.thumbnailId String Required Image ID for video thumbnail
  • Up to 500 characters
video.videoUrl String Required KakaoTV video URL
  • Up to 500 characters.
  • Only videos uploaded to KakaoTV can be used.
buttons Array Optional Button information: buttons
  • Maximum of 1
coupon Object Optional Coupon information
  • Up to 1
coupon.title String Required Coupon title
  • Only the following 5 types are available.
    • ${Number between 1-99,999,999} KRW discount coupon
    • ${Number between 1-100 숫자}% discount coupon
    • Shipping fee discount coupon
    • ${Up to 7 characters} free coupon
    • ${Up to 7 characters} UP coupon
coupon.description String Required Coupon description
  • Up to 12 characters
  • No line breaks
coupon.linkMobile String Conditional Mobile web link
  • Up to 1000 characters.
  • When entering a web URL, the remaining fields are optional.
coupon.linkPc String Optional PC web link
  • Up to 1000 characters
coupon.schemeAndroid String Conditional Android app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
coupon.schemeIos String Conditional iOS app link
  • Up to 1000 characters.
  • When entering a channel coupon URL (format: alimtalk=coupon://), the remaining fields are optional.
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

buttons

The following describes buttons.

Field Type Required Description
type Array Required Button type information
name String Required Button name
  • Up to 8 characters
linkMobile String Conditional Mobile web link
  • Up to 1000 characters
  • Required if type is WL
linkPc String Optional PC web link
  • Up to 1000 characters
schemeIos String Conditional iOS app link
  • Up to 1000 characters
  • Required if type is AL
schemeAndroid String Conditional Android app link
  • Up to 1000 characters
  • Required if type is AL
bizFormId String Optional Business form ID

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
    "plusFriendId":"@******",
    "messageType":"PREMIUM_VIDEO",
    "targeting":"I",
    "isAdult":false,
    "messages":[
        {
            "countryCode":"82",
            "to":"010********",
            "headerContent":"Congratulation card",
            "content":"Congratulation card",
            "video": {
                "thumbnailId":"7b8101c8-****-****-****-ad384cb8e215",
                "videoUrl":"https://tv.kakao.com/v/********"
            },
            "buttons":[
                {
                    "type":"WL",
                    "name":"Website",
                    "linkMobile":"https://******.com/ko/"
                }
            ],
            "coupon": {
                "title":"Congratulation card - 10% discount",
                "description":"Congratulation card 10% discount promotion",
                "linkMobile":"https://******.com/ko/"
            }
        }
    ]
}'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-dDYJgYGe",
    "requestTime": "2025-12-02T17:18:16.512",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "9c5063e5-****-****-****-fd10d1aab9c4",
            "countryCode": "82",
            "to": "010********",
            "content": "Congratulation card",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}

Template (default type) message

Send a message with Brand Message template (default type).

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /brandmessage/v2/services/{serviceId}/messages

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

Request body

You can include the following data in the body of your request:

Field Type Required Description
plusFriendId String Required Channel ID
  • Check from Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channel in the NAVER Cloud Platform console.
messageType String Required Message type
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: Text
    • IMAGE: Image type
    • WIDE_IMAGE: Wide image type
    • WIDE_ITEM_LIST: Wide list type
    • COMMERCE: Commerce type
    • CAROUSEL_COMMERCE: Carousel commerce type
    • CAROUSEL_FEED: Carousel feed type
    • PREMIUM_VIDEO: Premium video type
templateCode String Required Message template code
  • Check from Simple & Easy Notification Service > Biz MessageBrand > Message Template in the NAVER Cloud Platform console.
targeting String Optional Targeting code
  • M | N | I (default)
    • M: Users who have consented to receive promotional information from customers (Kakao Talk consent)
    • N: Exclude friends of the channel among users who have consented to receive promotional information from customers (Kakao Talk consent)
    • I: Users who have consented to receive promotional information from customers (Kakao Talk consent) and are friends of the channel
messages Array Required Message information
reserveTime String Optional Reserved date and time
  • YYYY-MM-DD HH:mm format.
  • Enter for reserved delivery.
reserveTimeZone String Optional Reserved time zone

messages

The following describes messages.

Field Type Required Description
countryCode String Optional Country code
to String Required Recipient number
  • Only numbers can be entered.
templateParameters Object Required Template parameter
  • Required when including template variable
  • Example: If the template variable name is #{Discount amount} and the price is 10000, "templateParameters": {"Discount amount": "10000"}
useSmsFailover Boolean Optional SMS alternative delivery usage
  • true | false
    • true: Enable
    • false: Disable
  • Default: Follow the settings of Kakao Talk Channel.
  • Available only on Kakao Talk Channels where alternative delivery is configured.
failoverConfig Object Optional Alternate delivery settings
failoverConfig.type String Optional Message type
  • SMS | LMS
    • SMS: SMS message
    • LMS: LMS message
  • If not entered, it is automatically applied based on the message length.
    • Up to 90 bytes: SMS
    • Over 90 bytes: LMS
failoverConfig.from String Optional Caller ID
  • Only numbers registered via the console can be used.See Register caller ID.
failoverConfig.subject String Optional Message subject
  • If not entered, the channel name is applied.
  • Only available in LMS.
failoverConfig.content String Optional Message content
  • If not entered, it is applied as content.

Request example

The request example is as follows:

curl --location --request POST 'https://sens.apigw.ntruss.com/brandmessage/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
    "plusFriendId":"@hckang",
    "messageType":"TEXT",
    "templateCode":"**********7fe153599b210d9e865a**********",
    "targeting":"I",
    "messages":[
        {
            "countryCode":"82",
            "to":"010********",
            "templateParameters": {
                "Name": "Gildong Hong",
                "Discount amount": "10000"
            }
        }
    ]
}'

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
requestTime DateTime Required Request date and time
  • YYYY-MM-DDTHH:mm:ss.sss format
statusCode String Required Request status code
  • 202: Success
  • Others: Failure
  • It follows the HTTP status specification.
statusName String Required Status
  • success | processing | fail
    • success: Success
    • processing: Processing
    • fail: Failure
messages Array Optional Message information

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-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-03T11:44:27.774",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "789e27ff-****-****-****-fc50656fe511",
            "countryCode": "82",
            "to": "010********",
            "content": null,
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "Succeeded",
            "useSmsFailover": false
        }
    ]
}