--- title: "메시지 발송" slug: "sens-brandmessage-send" tags: ["SENS", "Classic", "VPC"] updated: 2026-10-22T10:46:41Z published: 2026-10-22T10:46:41Z canonical: "api-gov.ncloud-docs.com/sens-brandmessage-send" --- > ## Documentation Index > Fetch the complete documentation index at: https://api-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 메시지 발송 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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | 메시지 정보: [messages](/docs/sens-brandmessage-send#messages) | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | 참고 `reserveTime`에는 현재 시각으로부터 10분 이내의 시간을 지정할 수 없습니다. #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `content` | String | Required | 메시지 내용 - 한/영 구분 없이 변수 및 URL 포함 1,300자 이내 입력 - 줄바꿈 최대 99회 - URL 형식 입력 가능 | | `buttons` | Array | Optional | 버튼 정보: [buttons](/docs/sens-brandmessage-send#buttons) - 쿠폰 사용 시 최대 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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: SMS - 90 bytes 초과: LMS | | `failoverConfig.from` | String | Optional | 발신 번호 - 콘솔을 통해 등록된 번호만 사용 가능 | | `failoverConfig.subject` | String | Optional | 메시지 제목 - 미입력 시 채널 이름으로 적용 - LMS에서만 사용 가능 | | `failoverConfig.content` | String | Optional | 메시지 내용 - 미입력 시 `content` 로 적용 | #### `buttons` `buttons`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | Array | Required | 버튼 유형 정보: [type](/docs/sens-brandmessage-send#type) | | `name` | String | Required | 버튼 이름 - 최대 14자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### `type` `type`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 설명 | | --- | --- | --- | | `WL` | String | 웹 링크 - http:// 또는 https://로 시작하는 URL - `linkMobile`의 경우, 필수 입력 | | `AL` | String | 앱 링크 - `linkMobile`, `schemeIos`, `schemeAndroid` 중 2개는 필수 입력 | | `BF` | String | 비즈니스 폼 - 버튼명(name)에 5가지 형식만 사용 가능 - 톡에서 설명하기 - 톡에서 응모하기 - 톡에서 예약하기 - `TEXT`, `IMAGE` 템플릿의 경우 첫 번째, 그 외에는 마지막 버튼으로만 사용 가능 - AC 버튼과 함께 사용하는 경우, AC 순서가 우선하며, 첫 번째 버튼 위치에서는 AC -> BF 순서로, 마지막 버튼 위치에서는 BF -> AC 순서로 배치 - 최대 1개만 사용 가능 | | `AC` | String | 채널 추가 - `TEXT`, `IMAGE` 템플릿의 경우 첫 번째, 그 외에는 마지막 버튼으로만 사용 가능 | | `BK` | String | 봇 키워드 | | `MD` | String | 메시지 전달 | | `BC` | String | 상담톡 전환 - 상담톡을 이용하는 채널만 사용 가능 | | `BT` | String | 챗봇 전환 - 카카오 오픈 빌더의 챗봇을 사용하는 채널만 사용 가능 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | 메시지 정보: [messages](/docs/sens-brandmessage-send#messages1) | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `messageId` | String | - | 메시지 아이디 | | `countryCode` | String | - | 국가 코드 | | `to` | String | - | 수신 번호 | | `requestStatusCode` | String | - | 요청 상태 코드 - `A000`: 성공 - 그 외: 실패 | | `requestStatusName` | String | - | 요청 상태 - `success` \| `fail` - `success`: 성공 - `fail`: 실패 | | `requestStatusDesc` | String | - | 요청 상태 설명 | | `useSmsFailover` | Boolean | - | SMS 대체 발송 사용 여부 - `true` \| `false` - `true`: 사용 - `false`: 사용 안 함 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | [메시지](/docs/sens-brandmessage-send#messages2) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `content` | String | Required | 메시지 내용 - 최대 1,300자 - 줄바꿈 최대 99회 - URL 형식 입력 가능 | | `buttons` | Array | Optional | [버튼](/docs/sens-brandmessage-send#buttons1) 정보 - 최대 5개 - 쿠폰 강조 버튼은 최대 1개만 생성 가능 | | `image` | Object | Optional | 이미지 정보 - [이미지 목록 조회](/docs/sens-brandmessage-image-list) 참조 | | `image.imageId` | String | Conditional | 이미지 아이디 - 이미지를 추가하는 경우, 필수 입력 | | `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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: SMS - 90 bytes 초과: LMS | | `failoverConfig.from` | String | Optional | 발신 번호 - 콘솔을 통해 등록된 번호만 사용 가능 | | `failoverConfig.subject` | String | Optional | 메시지 제목 - 미입력 시 채널 이름으로 적용 - LMS에서만 사용 가능 | | `failoverConfig.content` | String | Optional | 메시지 내용 - 미입력 시 `content` 로 적용 | #### `buttons` `buttons`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | Array | Required | 버튼 유형 정보: [type](/docs/sens-brandmessage-send#type) | | `name` | String | Required | 버튼 이름 - 최대 14자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | [메시지](/docs/sens-brandmessage-send#messages3) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `content` | String | Required | 메시지 내용 - 최대 76자 - 줄바꿈 최대 5회 | | `buttons` | Array | Optional | [버튼](/docs/sens-brandmessage-send#buttons2) 정보 - 최대 2개 - 쿠폰 강조 버튼은 최대 1개만 생성 가능 | | `image` | Object | Optional | 이미지 정보 - [이미지 목록 조회](/docs/sens-brandmessage-image-list) 참조 | | `image.imageId` | String | Conditional | 이미지 아이디 - 이미지를 추가하는 경우, 필수 입력 | | `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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: SMS - 90 bytes 초과: LMS | | `failoverConfig.from` | String | Optional | 발신 번호 - 콘솔을 통해 등록된 번호만 사용 가능 | | `failoverConfig.subject` | String | Optional | 메시지 제목 - 미입력 시 채널 이름으로 적용 - LMS에서만 사용 가능 | | `failoverConfig.content` | String | Optional | 메시지 내용 - 미입력 시 `content` 로 적용 | #### `buttons` `buttons`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | Array | Required | [버튼 유형](/docs/sens-brandmessage-send#type) 정보 | | `name` | String | Required | 버튼 이름 - 최대 8자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | [메시지](/docs/sens-brandmessage-send#messages4) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `headerContent` | String | Required | 헤더(제목) - 최대 20자 - 줄바꿈 불가 | | `buttons` | Array | Optional | [버튼](/docs/sens-brandmessage-send#buttons3) 정보 - 최대 2개(가로 배열) | | `item` | Object | Required | 와이드 리스트 정보 | | `item.list` | Array | Required | [와이드 리스트](/docs/sens-brandmessage-send#itemlist) | | `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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: SMS - 90 bytes 초과: LMS | | `failoverConfig.from` | String | Optional | 발신 번호 - 콘솔을 통해 등록된 번호만 사용 가능 | | `failoverConfig.subject` | String | Optional | 메시지 제목 - 미입력 시 채널 이름으로 적용 - LMS에서만 사용 가능 | | `failoverConfig.content` | String | Optional | 메시지 내용 - 미입력 시 `content` 로 적용 | #### `buttons` `buttons`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | Array | Required | [버튼 유형](/docs/sens-brandmessage-send#type) 정보 | | `name` | String | Required | 버튼 이름 - 최대 8자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### `item.list` `item.list`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `title` | String | Required | 아이템 제목 - 1번째 아이템 - 사용 시, 선택(Optional) 입력 - 최대 25자 - 줄바꿈 최대 1회 - 2~4번째 아이템 - 사용 시, 필수(Required) 입력 - 최대 30자 - 줄바꿈 최대 1회 | | `imageId` | String | Required | 이미지 아이디 - 1번째 아이템 - 메인 와이드 아이템 리스트 이미지 - 2~4번째 아이템 - 서브 와이드 아이템 리스트 이미지 - [이미지 목록 조회](/docs/sens-brandmessage-image-list) 참조 | | `linkMobile` | String | Required | 모바일 웹 링크 - 최대 1,000자 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeAndroid` | String | Optional | Android 앱 링크 - 최대 1,000자 | | `schemeIos` | String | Optional | iOS 앱 링크 - 최대 1,000자 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | [메시지](/docs/sens-brandmessage-send#messages5) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `additionalContent` | String | Optional | 부가 정보 - 최대 34자 - 줄바꿈 최대 1회 | | `buttons` | Array | Required | [buttons](/docs/sens-brandmessage-send#buttons4) 정보 - 최소 1개, 최대 2개 | | `image` | Object | Optional | 이미지 정보 - [이미지 목록 조회](/docs/sens-brandmessage-image-list) 참조 | | `image.imageId` | String | Conditional | 이미지 아이디 - 이미지를 추가하는 경우, 필수 입력 | | `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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: SMS - 90 bytes 초과: LMS | | `failoverConfig.from` | String | Optional | 발신 번호 - 콘솔을 통해 등록된 번호만 사용 가능 | | `failoverConfig.subject` | String | Optional | 메시지 제목 - 미입력 시 채널 이름으로 적용 - LMS에서만 사용 가능 | | `failoverConfig.content` | String | Optional | 메시지 내용 - 미입력 시 `content` 로 적용 | #### `buttons` `buttons`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | Array | Required | [버튼 유형](/docs/sens-brandmessage-send#type) 정보 | | `name` | String | Required | 버튼 이름 - 최대 8자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | [메시지](/docs/sens-brandmessage-send#messages6) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `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 | 이미지 아이디 - `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 | [캐러셀 리스트](/docs/sens-brandmessage-send#carousellist) - 최소 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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: 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](/docs/sens-brandmessage-send#buttons5) - 최소 1개, 최대 2개 | | `image` | Object | Optional | 이미지 정보 - [이미지 목록 조회](/docs/sens-brandmessage-image-list) 참조 | | `image.imageId` | String | Conditional | 이미지 아이디 - 이미지를 추가하는 경우, 필수 입력 | | `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 | [버튼 유형](/docs/sens-brandmessage-send#type) 정보 | | `name` | String | Required | 버튼 이름 - 최대 8자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | [메시지](/docs/sens-brandmessage-send#messages7) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `carousel` | Object | Required | 캐러셀 정보 | | `carousel.list` | Array | Required | [캐러셀 리스트](/docs/sens-brandmessage-send#carousellist1) - 최소 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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: 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 | [버튼](/docs/sens-brandmessage-send#buttons6) 정보 - 최소 1개, 최대 2개 | | `image` | Object | Optional | 이미지 정보 - [이미지 목록 조회](/docs/sens-brandmessage-image-list) 참조 | | `image.imageId` | String | Conditional | 이미지 아이디 - 이미지를 추가하는 경우, 필수 입력 | | `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 | [버튼 유형](/docs/sens-brandmessage-send#type) 정보 | | `name` | String | Required | 버튼 이름 - 최대 8자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | [메시지](/docs/sens-brandmessage-send#messages8) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `headerContent` | String | Optional | 헤더(제목) - 최대 20자 - 줄바꿈 불가 | | `content` | String | Optional | 내용 - 최대 76자 - 줄바꿈 최대 5회 | | `video` | Object | Required | 동영상 정보 | | `video.thumbnailId` | String | Required | 동영상 썸네일용 이미지 아이디 - 최대 500자 | | `video.videoUrl` | String | Required | 카카오TV 동영상 URL - 최대 500자 - 카카오TV에 업로드된 동영상만 사용 가능 | | `buttons` | Array | Optional | 버튼 정보: [buttons](/docs/sens-brandmessage-send#buttons7) - 최대 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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: SMS - 90 bytes 초과: LMS | | `failoverConfig.from` | String | Optional | 발신 번호 - 콘솔을 통해 등록된 번호만 사용 가능 | | `failoverConfig.subject` | String | Optional | 메시지 제목 - 미입력 시 채널 이름으로 적용 - LMS에서만 사용 가능 | | `failoverConfig.content` | String | Optional | 메시지 내용 - 미입력 시 `content` 로 적용 | #### `buttons` `buttons`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | Array | Required | [버튼 유형](/docs/sens-brandmessage-send#type) 정보 | | `name` | String | Required | 버튼 이름 - 최대 8자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - 최대 1,000자 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Optional | PC 웹 링크 - 최대 1,000자 | | `schemeIos` | String | Conditional | iOS 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - 최대 1,000자 - `type`이 `AL`인 경우, 필수 입력 | | `bizFormId` | String | Optional | 비즈니스 폼 아이디 | #### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. #### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | #### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - 네이버 클라우드 플랫폼 콘솔의 **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 | 메시지 템플릿 코드 - 네이버 클라우드 플랫폼 콘솔의 **Simple & Easy Notification Service** > **Biz MessageBrand** > **Message Template**에서 확인 | | `targeting` | String | Optional | 타겟팅 코드 - `M` \| `N` \| `I` (기본값) - `M`: 고객사의 광고성 정보 수신 동의 유저(카카오톡 수신 동의) - `N`: 고객사의 광고성 정보 수신 동의 유저(카카오톡 수신 동의) 중 해당 채널 친구 제외 - `I`: 광고성 정보 수신 동의 유저(카카오톡 수신 동의)이면서 해당 채널 친구 | | `messages` | Array | Required | [메시지](/docs/sens-brandmessage-send#messages9) 정보 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-gov.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `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 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: 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.gov-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 | - | 요청 아이디 | | `requestTime` | DateTime | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `statusCode` | String | - | 요청 상태 코드 - `202`: 성공 - 그 외: 실패 - HTTP Status 규격을 따름 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리 중 - `fail`: 실패 | | `messages` | Array | - | [메시지](/docs/sens-brandmessage-send#messages1) 정보 | #### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. #### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 } ] } ```