メッセージの送信

Prev Next

Classic/VPC環境で利用できます。

メッセージを送信します。テキスト、画像、ワイド画像、ワイドアイテムリスト、コマース、カルーセルコマース、カルーセルフィード、プレミアム動画、基本テンプレートなどのメッセージタイプをサポートします。

参考
  • ターゲティングコードを指定することで、メッセージ対象のグループを指定できます。
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意) - チャンネル友達
    • I: 顧客の送信リクエスト対象 ∩ チャンネル友達
  • ブランドメッセージの申し込みが完了したチャンネルに限り、ターゲティングコード M、Nグループ送信を利用できます。
  • ターゲティングコード M、Nグループで送信する際は、チャンネルに指定された080無料受信拒否番号を使用します。
  • 自由型送信
    • AC(チャンネル追加)ボタンは使用できません。
  • 基本型の送信
    • BC、BTボタンは使用できません。
  • 夜間の送信制限が適用されます (20:50~翌日8:00)。

テキスト型メッセージ

テキスト型メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • TEXT(テキスト型)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
content String Required メッセージ内容
  • ハングル/英字に関係なく変数および URLを含めて1,300文字以内で入力
  • 改行は最大99回
  • URL形式で入力可能
buttons Array Optional ボタン情報
  • クーポン使用時は最大4個、その他は最大5個
coupon Object Optional クーポン情報
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大12文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大14文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

ボタンタイプ

ボタンタイプの説明は次の通りです。

フィールド タイプ 説明
WL String ウェブリンク
  • http://または https://で始まる URL
  • linkMobileの場合、必ず入力
AL String アプリリンク
  • linkMobileschemeIosschemeAndroidのうち、2つは必ず入力
BF String ビジネスフォーム
  • ボタン名(name)に5つの形式のみ使用可能
    • トークで説明
    • トークで応募
    • トークで予約
    • TEXTIMAGEテンプレートの場合は1番目、その他は最後のボタンとしてのみ使用可能
    • ACボタンと併用する場合、ACの順序が優先され、最初のボタン位置では AC -> BFの順で、最後のボタン位置では BF -> ACの順で配置
  • 最大1個のみ使用可能
AC String チャンネル追加
  • TEXTIMAGEテンプレートの場合は最初のボタン、それ以外は最後のボタンとしてのみ使用可能
BK String ボットキーワード
MD String メッセージ伝達
BC String 相談トークに切り替え
  • 相談トークを利用するチャンネルのみ使用可能
BT String チャットボットに切り替え
  • カカオオープンビルダーのチャットボットを利用するチャンネルのみ使用可能

リクエスト例

リクエストのサンプルコードは次の通りです。

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": "お祝いカード",
        "buttons": [
          {
            "type": "WL",
            "name": "公式サイト",
            "linkMobile": "https://******.com/ko/",
            "linkPc": "https://******.com/ko/"
          },
          {
            "type": "WL",
            "name": "ブログ",
            "linkMobile": "https://******.com/ko/blog/",
            "linkPc": "https://******.com/ko/blog/"
          }        
        ]
      }
    ]
  }'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
messageId String Required メッセージ ID
countryCode String Optional 国コード
to String Required 受信番号
requestStatusCode String Required リクエストの状態コード
  • A000: 成功
  • その他: 失敗
requestStatusName String Required リクエスト状態
  • success | fail
    • success: 成功
    • fail: 失敗
requestStatusDesc String Required リクエスト状態の説明
useSmsFailover Boolean Required SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "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": "成功",
            "useSmsFailover": false
        }
    ]
}

画像型メッセージ

画像型メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • IMAGE(画像型)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
content String Required メッセージの内容
  • 最大1,300文字
  • 改行は最大99回
  • URL形式を入力可能
buttons Array Optional ボタン情報
  • 最大5個
    • クーポン強調ボタンは最大1個まで作成可能
image Object Optional 画像情報
image.imageId String Conditional 画像 ID
  • 画像を追加する場合、必ず入力
image.imageLink String Conditional 画像 URL
  • 画像を追加する場合、必ず入力
coupon Object Optional クーポン情報
  • 最大1個
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大12文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大14文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

リクエスト例

リクエストのサンプルコードは次の通りです。

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": "お祝いカード",
      "buttons": [
        {
          "type": "WL",
          "name": "公式サイト",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "ブログ",
          "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"
      }
    }
  ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "requestId": "RBBA-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-01T17:45:40.047",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "5ba5a7a8-****-****-****-55a76b65f7ec",
            "countryCode": "82",
            "to": "010********",
            "content": "お祝いカード",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "成功",
            "useSmsFailover": false
        }
    ]
}

ワイド画像型メッセージ

ワイド画像型メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • WIDE_IMAGE(ワイド画像型)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
content String Required メッセージの内容
  • 最大76文字
  • 改行は最大5回
buttons Array Optional ボタン情報
  • 最大2個
  • クーポン強調ボタンは最大1個まで作成可能
image Object Optional 画像情報
image.imageId String Conditional 画像 ID
  • 画像を追加する場合、必ず入力
image.imageLink String Conditional 画像 URL
  • 画像を追加する場合、必ず入力
coupon Object Optional クーポン情報
  • 最大1個
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大8文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大8文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

リクエスト例

リクエストのサンプルコードは次の通りです。

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": "お祝いカード",
      "buttons": [
        {
          "type": "WL",
          "name": "公式サイト",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "ブログ",
          "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"
      }
    }
  ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "requestId": "RBBA-*************-****-********-zVDPjteh",
    "requestTime": "2025-12-02T11:54:21.776",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "d8dedd42-****-****-****-2f7b08d080da",
            "countryCode": "82",
            "to": "010********",
            "content": "お祝いカード",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "成功",
            "useSmsFailover": false
        }
    ]
}

ワイドアイテムリスト型メッセージ

ワイドアイテムリスト型メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • WIDE_ITEM_LIST(ワイドアイテムリスト型)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
headerContent String Required ヘッダ(件名)
  • 最大20文字
  • 改行不可
buttons Array Optional ボタン情報
  • 最大2個(横並び)
item Object Required ワイドリスト情報
item.list Array Required ワイドリスト
coupon Object Optional クーポン情報
  • 最大1個
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大18文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大8文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

item.list

item.listの説明は次の通りです。

フィールド タイプ 必須の有無 説明
title String Required アイテムの件名
  • 1番目のアイテム
    • 使用時、任意(Optional)入力
    • 最大25文字
    • 改行は最大1回
  • 2~4番目のアイテム
    • 使用時、必ず(Required)入力
    • 最大30文字
    • 改行は最大1回
imageId String Required 画像 ID
  • 1番目のアイテム
    • メインワイドアイテムリスト画像
  • 2~4番目のアイテム
    • サブワイドアイテムリスト画像
  • 画像リストの照会を参照
linkMobile String Required モバイルウェブリンク
  • 最大1,000文字
linPc String Optional PCウェブリンク
  • 最大1,000文字
schemeAndroid String Optional Androidアプリリンク
  • 最大1,000文字
schemeIos String Optional iOSアプリリンク
  • 最大1,000文字

リクエスト例

リクエストのサンプルコードは次の通りです。

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": "お祝いカード",
      "buttons": [
        {
          "type": "WL",
          "name": "公式サイト",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "ブログ",
          "linkMobile": "https://******.com/ko/blog/",
          "linkPc": "https://******.com/ko/blog/"
        }
      ],
      "item": {
        "list": [
          {
            "title": "メイン",
            "imageId": "34ba283e-****-****-****-db59803ae7eb",
            "linkMobile": "https://******.com/ko/"
          },
          {
            "title": "アイテム1",
            "imageId": "67828a69-****-****-****-9026147fe5ee",
            "linkMobile": "https://******.com/ko/"
          },
          {
            "title": "アイテム2",
            "imageId": "67828a69-****-****-****-9026147fe5ee",
            "linkMobile": "https://******.com/ko/"
          }
        ]
      }
    }
  ]
}

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "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": "成功",
            "useSmsFailover": false
        }
    ]
}

コマース型メッセージ

コマース型(COMMERCE)メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • COMMERCE(コマース型)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
additionalContent String Optional 付加情報
  • 最大34文字
  • 改行は最大1回
buttons Array Required buttons情報
  • 最小1個、最大2個
image Object Optional 画像情報
image.imageId String Conditional 画像 ID
  • 画像を追加する場合、必ず入力
image.imageLink String Conditional 画像 URL
  • 画像を追加する場合、必ず入力
commerce Object Required コマース情報
commerce.title String Required 商品名
  • 最大30文字
  • 改行不可
commerce.regularPrice String Required 通常価格(ウォン)
  • 0~99,999,999
commerce.discountPrice String Conditional 割引価格(ウォン)
  • 0~99,999,999
commerce.discountRate String Conditional 割引率(%)
  • 0~100
  • 割引率適用時、必ず入力
  • commerce.discountFixedは同時使用不可
commerce.discountFixed String Conditional 定額割引価格(%)
  • 0~999,999
  • 定額割引適用時、必ず入力
  • commerce.discountRateは同時使用不可
coupon Object Optional クーポン情報
  • 最大1個
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大12文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大8文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

リクエスト例

リクエストのサンプルコードは次の通りです。

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": "お祝いカード10%割引",
      "buttons": [
        {
          "type": "WL",
          "name": "公式サイト",
          "linkMobile": "https://******.com/ko/",
          "linkPc": "https://******.com/ko/"
        },
        {
          "type": "WL",
          "name": "ブログ",
          "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%割引",
        "regularPrice":"10000",
        "discountPrice":"9000",
        "discountRate":"10"
      }      
    }
  ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "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": "成功",
            "useSmsFailover": false
        }
    ]
}

カルーセルコマース型メッセージ

カルーセルコマース型メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • CAROUSEL_COMMERCE(カルーセルコマース)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
carousel Object Required カルーセル情報
carousel.head Object Optional カルーセルイントロ情報
carousel.head.headerContent String Required ヘッダ(件名)
  • 最大20文字
  • 改行不可
carousel.head.content String Required 内容
  • 最大50文字
  • 改行不可
carousel.head.imageId String Required 画像 ID
  • CAROUSEL_COMMERCEタイプ画像のみ使用可能
  • カルーセルリスト画像と同じ比率にすること
carousel.head.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • schemeAndroidまたはschemeIos使用時、必ず入力
carousel.head.linkPc String Optional PCウェブリンク
  • 最大1,000文字
carousel.head.schemeAndroid String Optional Androidアプリリンク
  • 最大1,000文字
carousel.head.schemeIos String Optional iOSアプリリンク
  • 最大1,000文字
carousel.list Array Required カルーセルリスト
  • 最小2個、最大6個(カルーセルイントロを含む)
carousel.tail Object Optional カルーセルのもっと見る情報
carousel.tail.linkMobile String Required モバイルウェブリンク
  • 最大1,000文字
carousel.tail.linkPc String Optional PCウェブリンク
  • 最大1,000文字
carousel.tail.schemeAndroid String Optional Androidアプリリンク
  • 最大1,000文字
carousel.tail.schemeIos String Optional iOSアプリリンク
  • 最大1,000文字
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

carousel.list

carousel.listの説明は次の通りです。

フィールド タイプ 必須の有無 説明
additionalContent String Optional 付加情報
  • 最大34文字
  • 改行は最大1回
buttons Array Required ボタン情報: buttons
  • 最小1個、最大2個
image Object Optional 画像情報
image.imageId String Conditional 画像 ID
  • 画像を追加する場合、必ず入力
image.imageLink String Conditional 画像 URL
  • 画像を追加する場合、必ず入力
coupon Object Optional クーポン情報
  • 最大1個
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大12文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
commerce Object Required コマース情報
commerce.title String Required 商品名
  • 最大30文字
  • 改行不可
commerce.regularPrice Integer Required 通常価格(ウォン)
  • 0~99,999,999
commerce.discountPrice Integer Conditional 割引価格(ウォン)
  • 0~99,999,999
commerce.discountRate Integer Conditional 割引率(%)
  • 0~100
  • 割引率適用時、必ず入力
  • commerce.discountFixedは同時使用不可
commerce.discountFixed Integer Conditional 定額割引価格(%)
  • 0~999,999
  • 定額割引適用時、必ず入力
  • commerce.discountRateは同時使用不可

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大8文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

リクエスト例

リクエストのサンプルコードは次の通りです。

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":"お祝いカード",
            "content":"お祝いカード割引イベント",
            "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": "公式サイト",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "ブログ",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "commerce": {
              "title": "10%割引",
              "regularPrice": "10000",
              "discountPrice": "9000",
              "discountRate": "10"
            }
          },
          {
            "image": {
              "imageId": "cde370b6-****-****-****-6a122739e51f",
              "imageLink": "https://mud-kage.kakao.com/dn/***********/**********************/img_l.jpg"
            },
            "buttons": [
              {
                "type": "WL",
                "name": "公式サイト",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "ブログ",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "commerce": {
              "title": "10%割引",
              "regularPrice": "10000",
              "discountPrice": "9000",
              "discountRate": "10"
            }
          }
        ],
        "tail": {
          "linkMobile": "https://hansem.com/ko/"
        }
      }
    }
  ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "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": "成功",
            "useSmsFailover": false
        }
    ]
}

カルーセルフィード型メッセージ

カルーセルフィード型メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • CAROUSEL_FEED(カルーセルフィード型)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
carousel Object Required カルーセル情報
carousel.list Array Required カルーセルリスト
  • 最小2個、最大6個
carousel.tail Object Optional カルーセルのもっと見る情報
carousel.tail.linkMobile String Required モバイルウェブリンク
  • 最大1,000文字
carousel.tail.linkPc String Optional PCウェブリンク
  • 最大1,000文字
carousel.tail.schemeAndroid String Optional Androidアプリリンク
  • 最大1,000文字
carousel.tail.schemeIos String Optional iOSアプリリンク
  • 最大1,000文字
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

carousel.list

carousel.listの説明は次の通りです。

フィールド タイプ 必須の有無 説明
headerContent String Required ヘッダ(件名)
  • 最大20文字
  • 改行不可
message String Required 内容
  • 最大180文字
  • 改行は最大10回
  • 変数は#{変数名}の形式で、スペースなしで入力
buttons Array Required ボタン情報
  • 最小1個、最大2個
image Object Optional 画像情報
image.imageId String Conditional 画像 ID
  • 画像を追加する場合、必ず入力
image.imageLink String Conditional 画像 URL
  • 画像を追加する場合、必ず入力
coupon Object Optional クーポン情報
  • 最大1個
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大12文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大8文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

リクエスト例

リクエストのサンプルコードは次の通りです。

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":"お祝いカード1",
            "message":"お祝いカード割引イベント1",
            "image": {
            "imageId":"6c4b9ceb-****-****-****-cf550dd5f2e8",
            "imageLink": "https://mud-kage.kakao.com/dn/C2Ft0/***********/**********************/img_l.jpg"
            },
            "buttons": [
              {
                "type": "WL",
                "name": "公式サイト",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "ブログ",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "coupon": {
              "title": "10%割引",
              "description": "10%割引",
              "linkMobile": "https://******.com/ko/blog/"
            }
          },
          {
            "headerContent":"お祝いカード2",
            "message":"お祝いカード割引イベント2",
            "image": {
            "imageId":"6c4b9ceb-****-****-****-cf550dd5f2e8",
            "imageLink": "https://mud-kage.kakao.com/dn/C2Ft0/***********/**********************/img_l.jpg"
            },
            "buttons": [
              {
                "type": "WL",
                "name": "公式サイト",
                "linkMobile": "https://******.com/ko/",
                "linkPc": "https://******.com/ko/"
              },
              {
                "type": "WL",
                "name": "ブログ",
                "linkMobile": "https://******.com/ko/blog/",
                "linkPc": "https://******.com/ko/blog/"
              }
            ],
            "coupon": {
              "title": "10%割引",
              "description": "10%割引",
              "linkMobile": "https://******.com/ko/blog/"
            }
          }
        ],
        "tail": {
          "linkMobile": "https://******.com/ko/"
        }
      }
    }
  ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "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": "成功",
            "useSmsFailover": false
        }
    ]
}

プレミアム動画型メッセージ

プレミアム動画型メッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • PREMIUM_VIDEO(プレミアム動画型)を入力
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
isAdult Boolean Optional 対象の年齢
  • true | false (デフォルト)
    • true: 成人向け
    • false: 全年齢向け
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
headerContent String Optional ヘッダ(件名)
  • 最大20文字
  • 改行不可
content String Optional 内容
  • 最大76文字
  • 改行は最大5回
video Object Required 動画情報
video.thumbnailId String Required 動画サムネイル用画像 ID
  • 最大500文字
video.videoUrl String Required カカオ TV動画 URL
  • 最大500文字
  • カカオ TVにアップロードされた動画のみ使用可能
buttons Array Optional ボタン情報: buttons
  • 最大1個
coupon Object Optional クーポン情報
  • 最大1個
coupon.title String Required クーポンの件名
  • 次の5つの形式のみ使用可能
    • ${1~99,999,999以下の数字}ウォン割引クーポン
    • ${1~100の数字}%割引クーポン
    • 送料割引クーポン
    • ${7文字以内}無料クーポン
    • ${7文字以内} UPクーポン
coupon.description String Required クーポンの説明
  • 最大12文字
  • 改行不可
coupon.linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • ウェブ URL入力時、残りのフィールドは任意
coupon.linkPc String Optional PCウェブリンク
  • 最大1,000文字
coupon.schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
coupon.schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • チャンネルクーポン URL(形式: alimtalk=coupon://)入力時、残りのフィールドは任意
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

buttons

buttonsの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type Array Required ボタンタイプ情報
name String Required ボタン名
  • 最大8文字
linkMobile String Conditional モバイルウェブリンク
  • 最大1,000文字
  • typeWLの場合、必ず入力
linkPc String Optional PCウェブリンク
  • 最大1,000文字
schemeIos String Conditional iOSアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
schemeAndroid String Conditional Androidアプリリンク
  • 最大1,000文字
  • typeALの場合、必ず入力
bizFormId String Optional ビジネスフォーム ID

リクエスト例

リクエストのサンプルコードは次の通りです。

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":"お祝いカード",
            "content":"お祝いカード",
            "video": {
                "thumbnailId":"7b8101c8-****-****-****-ad384cb8e215",
                "videoUrl":"https://tv.kakao.com/v/********"
            },
            "buttons":[
                {
                    "type":"WL",
                    "name":"公式サイト",
                    "linkMobile":"https://******.com/ko/"
                }
            ],
            "coupon": {
                "title":"お祝いカード10%割引",
                "description":"お祝いカード10%割引イベント",
                "linkMobile":"https://******.com/ko/"
            }
        }
    ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "requestId": "RBBA-*************-****-********-dDYJgYGe",
    "requestTime": "2025-12-02T17:18:16.512",
    "statusCode": "202",
    "statusName": "processing",
    "messages": [
        {
            "messageId": "9c5063e5-****-****-****-fd10d1aab9c4",
            "countryCode": "82",
            "to": "010********",
            "content": "お祝いカード",
            "requestStatusCode": "A000",
            "requestStatusName": "success",
            "requestStatusDesc": "成功",
            "useSmsFailover": false
        }
    ]
}

テンプレート(基本型)メッセージ

ブランドメッセージテンプレート(基本型)でメッセージを送信します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /brandmessage/v2/services/{serviceId}/messages

リクエストヘッダ

Simple & Easy Notification Service APIで共通して使用されるヘッダの詳細は、Simple & Easy Notification Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
serviceId String Required Biz Messageサービス ID

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plusFriendId String Required チャンネル ID
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > KakaoTalk Channelで確認
messageType String Required メッセージタイプ
  • TEXT | IMAGE | WIDE_IMAGE | WIDE_ITEM_LIST | COMMERCE | CAROUSEL_COMMERCE | CAROUSEL_FEED | PREMIUM_VIDEO
    • TEXT: テキスト
    • IMAGE: 画像型
    • WIDE_IMAGE: ワイド画像型
    • WIDE_ITEM_LIST: ワイドリスト型
    • COMMERCE: コマース型
    • CAROUSEL_COMMERCE: カルーセルコマース型
    • CAROUSEL_FEED: カルーセルフィード型
    • PREMIUM_VIDEO: プレミアム動画型
templateCode String Required メッセージテンプレートコード
  • NAVERクラウドプラットフォームコンソールの Simple & Easy Notification Service > Biz MessageBrand > Message Templateで確認
targeting String Optional ターゲティングコード
  • M | N | I (デフォルト)
    • M: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)
    • N: 顧客の情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)のうち、当該チャンネルの友達を除く
    • I: 情報提供型広告の受信に同意したユーザー(カカオトーク受信同意)であり、なおかつ当該チャンネルの友達
messages Array Required メッセージ情報
reserveTime String Optional 予約日時
  • YYYY-MM-DD HH:mm形式
  • 予約送信する場合、入力
reserveTimeZone String Optional 予約タイムゾーン

messages

messagesの説明は次の通りです。

フィールド タイプ 必須の有無 説明
countryCode String Optional 国コード
to String Required 受信番号
  • 数字のみ入力可能
templateParameters Object Required テンプレートパラメータ
  • テンプレート変数を含める場合、必ず入力
  • <例> テンプレート変数名が#{割引金額}で、値が10000の場合、"templateParameters": {"割引金額": "10000"}
useSmsFailover Boolean Optional SMS代替送信を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • デフォルト: カカオトークチャンネルの設定に準拠
  • 代替送信が設定されたカカオトークチャンネルでのみ使用可能
failoverConfig Object Optional 代替送信設定
failoverConfig.type String Optional メッセージのタイプ
  • SMS | LMS
    • SMS: SMSメッセージ
    • LMS: LMSメッセージ
  • 未入力時、メッセージ内容の長さに応じて自動適用
    • 90bytes以下: SMS
    • 90 bytes超過: LMS
failoverConfig.from String Optional 送信番号
  • コンソールを通じて登録された番号のみ使用可能
failoverConfig.subject String Optional メッセージの件名
  • 未入力時、チャンネル名を適用
  • LMSでのみ使用可能
failoverConfig.content String Optional メッセージの内容
  • 未入力時、contentを適用

リクエスト例

リクエストのサンプルコードは次の通りです。

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": {
                "名前": "ホンギルドン",
                "割引金額": "10000"
            }
        }
    ]
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
requestId String Required リクエスト ID
requestTime DateTime Required リクエスト日時
  • YYYY-MM-DDTHH:mm:ss.sss形式
statusCode String Required リクエストの状態コード
  • 202: 成功
  • その他: 失敗
  • HTTP Status規格に準拠
statusName String Required 状態
  • success | processing | fail
    • success: 成功
    • processing: 処理中
    • fail: 失敗
messages Array Optional メッセージ情報

レスポンスステータスコード

Simple & Easy Notification Service APIで共通して使用されるレスポンスステータスコードの詳細は、Simple & Easy Notification Serviceのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "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": "成功",
            "useSmsFailover": false
        }
    ]
}