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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
content |
String | Required | 메시지 내용
|
buttons |
Array | Optional | 버튼 정보
|
coupon |
Object | Optional | 쿠폰 정보 |
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
버튼 유형
버튼 유형에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
WL |
String | 웹 링크
|
AL |
String | 앱 링크
|
BF |
String | 비즈니스 폼
|
AC |
String | 채널 추가
|
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
messages |
Array | Optional | 메시지 정보 |
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
messageId |
String | Required | 메시지 아이디 |
countryCode |
String | Optional | 국가 코드 |
to |
String | Required | 수신 번호 |
requestStatusCode |
String | Required | 요청 상태 코드
|
requestStatusName |
String | Required | 요청 상태
|
requestStatusDesc |
String | Required | 요청 상태 설명 |
useSmsFailover |
Boolean | Required | SMS 대체 발송 사용 여부
|
응답 상태 코드
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
content |
String | Required | 메시지 내용
|
buttons |
Array | Optional | 버튼 정보
|
image |
Object | Optional | 이미지 정보
|
image.imageId |
String | Conditional | 이미지 아이디
|
image.imageLink |
String | Conditional | 이미지 URL
|
coupon |
Object | Optional | 쿠폰 정보
|
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
content |
String | Required | 메시지 내용
|
buttons |
Array | Optional | 버튼 정보
|
image |
Object | Optional | 이미지 정보
|
image.imageId |
String | Conditional | 이미지 아이디
|
image.imageLink |
String | Conditional | 이미지 URL
|
coupon |
Object | Optional | 쿠폰 정보
|
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
headerContent |
String | Required | 헤더(제목)
|
buttons |
Array | Optional | 버튼 정보
|
item |
Object | Required | 와이드 리스트 정보 |
item.list |
Array | Required | 와이드 리스트 |
coupon |
Object | Optional | 쿠폰 정보
|
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
item.list
item.list에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
title |
String | Required | 아이템 제목
|
imageId |
String | Required | 이미지 아이디
|
linkMobile |
String | Required | 모바일 웹 링크
|
linPc |
String | Optional | PC 웹 링크
|
schemeAndroid |
String | Optional | Android 앱 링크
|
schemeIos |
String | Optional | iOS 앱 링크
|
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
additionalContent |
String | Optional | 부가 정보
|
buttons |
Array | Required | buttons 정보
|
image |
Object | Optional | 이미지 정보
|
image.imageId |
String | Conditional | 이미지 아이디
|
image.imageLink |
String | Conditional | 이미지 URL
|
commerce |
Object | Required | 커머스 정보 |
commerce.title |
String | Required | 상품명
|
commerce.regularPrice |
String | Required | 정상 가격(원)
|
commerce.discountPrice |
String | Conditional | 할인 후 가격(원)
|
commerce.discountRate |
String | Conditional | 할인율(%)
|
commerce.discountFixed |
String | Conditional | 정액 할인 가격(원)
|
coupon |
Object | Optional | 쿠폰 정보
|
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
carousel |
Object | Required | 캐러셀 정보 |
carousel.head |
Object | Optional | 캐러셀 인트로 정보 |
carousel.head.headerContent |
String | Required | 헤더(제목)
|
carousel.head.content |
String | Required | 내용
|
carousel.head.imageId |
String | Required | 이미지 아이디
|
carousel.head.linkMobile |
String | Conditional | 모바일 웹 링크
|
carousel.head.linkPc |
String | Optional | PC 웹 링크
|
carousel.head.schemeAndroid |
String | Optional | Android 앱 링크
|
carousel.head.schemeIos |
String | Optional | iOS 앱 링크
|
carousel.list |
Array | Required | 캐러셀 리스트
|
carousel.tail |
Object | Optional | 캐러셀 더보기 정보 |
carousel.tail.linkMobile |
String | Required | 모바일 웹 링크
|
carousel.tail.linkPc |
String | Optional | PC 웹 링크
|
carousel.tail.schemeAndroid |
String | Optional | Android 앱 링크
|
carousel.tail.schemeIos |
String | Optional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
carousel.list
carousel.list에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
additionalContent |
String | Optional | 부가 정보
|
buttons |
Array | Required | 버튼 정보: buttons
|
image |
Object | Optional | 이미지 정보
|
image.imageId |
String | Conditional | 이미지 아이디
|
image.imageLink |
String | Conditional | 이미지 URL
|
coupon |
Object | Optional | 쿠폰 정보
|
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
commerce |
Object | Required | 커머스 정보 |
commerce.title |
String | Required | 상품명
|
commerce.regularPrice |
Integer | Required | 정상 가격(원)
|
commerce.discountPrice |
Integer | Conditional | 할인 후 가격(원)
|
commerce.discountRate |
Integer | Conditional | 할인율(%)
|
commerce.discountFixed |
Integer | Conditional | 정액 할인 가격(원)
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
carousel |
Object | Required | 캐러셀 정보 |
carousel.list |
Array | Required | 캐러셀 리스트
|
carousel.tail |
Object | Optional | 캐러셀 더보기 정보 |
carousel.tail.linkMobile |
String | Required | 모바일 웹 링크
|
carousel.tail.linkPc |
String | Optional | PC 웹 링크
|
carousel.tail.schemeAndroid |
String | Optional | Android 앱 링크
|
carousel.tail.schemeIos |
String | Optional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
carousel.list
carousel.list에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
headerContent |
String | Required | 헤더(제목)
|
message |
String | Required | 내용
|
buttons |
Array | Required | 버튼 정보
|
image |
Object | Optional | 이미지 정보
|
image.imageId |
String | Conditional | 이미지 아이디
|
image.imageLink |
String | Conditional | 이미지 URL
|
coupon |
Object | Optional | 쿠폰 정보
|
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
targeting |
String | Optional | 타겟팅 코드
|
isAdult |
Boolean | Optional | 대상 연령
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
headerContent |
String | Optional | 헤더(제목)
|
content |
String | Optional | 내용
|
video |
Object | Required | 동영상 정보 |
video.thumbnailId |
String | Required | 동영상 썸네일용 이미지 아이디
|
video.videoUrl |
String | Required | 카카오TV 동영상 URL
|
buttons |
Array | Optional | 버튼 정보: buttons
|
coupon |
Object | Optional | 쿠폰 정보
|
coupon.title |
String | Required | 쿠폰 제목
|
coupon.description |
String | Required | 쿠폰 설명
|
coupon.linkMobile |
String | Conditional | 모바일 웹 링크
|
coupon.linkPc |
String | Optional | PC 웹 링크
|
coupon.schemeAndroid |
String | Conditional | Android 앱 링크
|
coupon.schemeIos |
String | Conditional | iOS 앱 링크
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
buttons
buttons에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
type |
Array | Required | 버튼 유형 정보 |
name |
String | Required | 버튼 이름
|
linkMobile |
String | Conditional | 모바일 웹 링크
|
linkPc |
String | Optional | PC 웹 링크
|
schemeIos |
String | Conditional | iOS 앱 링크
|
schemeAndroid |
String | Conditional | Android 앱 링크
|
bizFormId |
String | Optional | 비즈니스 폼 아이디 |
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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 서비스 아이디
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
plusFriendId |
String | Required | 채널 아이디
|
messageType |
String | Required | 메시지 타입
|
templateCode |
String | Required | 메시지 템플릿 코드
|
targeting |
String | Optional | 타겟팅 코드
|
messages |
Array | Required | 메시지 정보 |
reserveTime |
String | Optional | 예약 일시
|
reserveTimeZone |
String | Optional | 예약 타임존
|
messages
messages에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
countryCode |
String | Optional | 국가 코드
|
to |
String | Required | 수신 번호
|
templateParameters |
Object | Required | 템플릿 파라미터
|
useSmsFailover |
Boolean | Optional | SMS 대체 발송 사용 여부
|
failoverConfig |
Object | Optional | 대체 발송 설정 |
failoverConfig.type |
String | Optional | 메시지 타입
|
failoverConfig.from |
String | Optional | 발신 번호
|
failoverConfig.subject |
String | Optional | 메시지 제목
|
failoverConfig.content |
String | Optional | 메시지 내용
|
요청 예시
요청 예시는 다음과 같습니다.
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 | 요청 아이디 |
requestTime |
DateTime | Required | 요청 일시
|
statusCode |
String | Required | 요청 상태 코드
|
statusName |
String | Required | 상태
|
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
}
]
}