브랜드 메시지 전송
1. SendBMSText - 텍스트 전송
POST
https://popbill-test.linkhub.co.kr/BMS/Text
POST
https://popbill.linkhub.co.kr/BMS/Text
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 텍스트형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| content | string | 1,300 | 조건부 |
브랜드 메시지 내용
줄바꿈 최대 99개
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| btns | array | 5 | N |
버튼 목록
최대 5개 (쿠폰 강조을 포함하는 경우 최대 4개)
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| coupon | object | - | N |
쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/Text' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/Text' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/Text' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
2-1. SendBMSImage - 이미지 전송
POST
https://popbill-test.linkhub.co.kr/BMS/Image
POST
https://popbill.linkhub.co.kr/BMS/Image
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 이미지형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 브랜드 메시지 전송 전에 [UploadImage - 이미지 업로드] API로 이미지 업로드가 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| imageUrl | string | 500 | 조건부 |
이미지 URL
[UploadImage - 이미지 업로드] API로 응답받은 URL
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| imageLink | string | 500 | N |
이미지 링크 URL
이미지를 클릭하면 연결되는 URL
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| content | string | 1,300 | 조건부 |
내용
줄바꿈 최대 99개
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| btns | array | 5 | N |
버튼 목록
최대 5개 (쿠폰 강조을 포함하는 경우 최대 4개)
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| coupon | object | - | N |
쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/Image' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28dr6QSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/Image' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28dr6QSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28zwSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/Image' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28drzwSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
2-2. UploadImage - 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/Default
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/Default
- 브랜드 메시지 이미지 전송에 사용할 이미지를 업로드합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| image | file | - | Y |
이미지 파일
가로:세로 비율제한 2:1이상 3:4이하
가로 500px 이상 권장 사이즈 800*400px 파일형식 및 크기 jpg, png / 최대 5MB |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/Default' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'image=@"/path/image.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
|
| message | string | - | API 처리에 대한 응답메시지 | |
| imageUrl | string | 500 | 이미지 URL |
응답 예시
{
"code": "1",
"message": "성공",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
3-1. SendBMSWideImage - 와이드 전송
POST
https://popbill-test.linkhub.co.kr/BMS/WideImage
POST
https://popbill.linkhub.co.kr/BMS/WideImage
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 와이드 이미지형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 브랜드 메시지 전송 전에 [UploadWideImage - 와이드형 이미지 업로드] API로 이미지 업로드가 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| imageUrl | string | 500 | 조건부 |
이미지 URL
[UploadWideImage -와이드 이미지 업로드] API로 응답받은 URL
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| imageLink | string | 500 | N |
이미지 링크 URL
이미지를 클릭하면 연결되는 URL
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| content | string | 76 | 조건부 |
브랜드 메시지 내용
줄바꿈 최대 5개
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| btns | array | 2 | N |
버튼 목록
최대 2개
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| coupon | object | - | N |
쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/WideImage' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28dr6QSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/WideImage' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28dr6QSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28zwSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/WideImage' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"imageUrl": "https://mud-kage.kakao.com/dn/Pr575/dJMcabwMHsv/QJuvrxpS28drzwSsn4K/img_l.jpg",
"imageLink": "https://www.popbill.com",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
3-2. UploadWideImage - 와이드 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/WideImage
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/WideImage
- 브랜드 메시지 와이드 전송에 사용할 이미지를 업로드합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| image | file | - | Y |
이미지 파일
가로:세로 비율제한 2:1이상 1:1이하
가로 500px 이상 권장 사이즈 800*600px 파일형식 및 크기 jpg, png / 최대 5MB |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/WideImage' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'image=@"/path/image.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
|
| message | string | - | API 처리에 대한 응답메시지 | |
| imageUrl | string | 500 | 이미지 URL |
응답 예시
{
"code": "1",
"message": "성공",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
4-1. SendBMSWideList - 리스트 전송
POST
https://popbill-test.linkhub.co.kr/BMS/WideList
POST
https://popbill.linkhub.co.kr/BMS/WideList
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 와이드 리스트형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| header | string | 20 | 조건부 |
제목
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| item | array | 4 | N |
아이템 목록
최소 3개, 최대 4개
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| btns | array | 2 | N |
버튼 목록
최대 2개
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| coupon | object | - | N |
쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/WideList' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"header": "헤더",
"item": [
{
"title": "아이템 제목1",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목2",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목3",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/WideList' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"header": "헤더",
"item": [
{
"title": "아이템 제목1",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목2",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목3",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"header": "헤더",
"item": [
{
"title": "아이템 제목1",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목2",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목3",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/WideList' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"header": "헤더",
"item": [
{
"title": "아이템 제목1",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목2",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
},
{
"title": "아이템 제목3",
"imageUrl": "https://mud-kage.kakao.com/dn/bbpkmf/dJMcaadjEnb/zJ0XkMqa2vVl1p0dWeK/img_l.jpg",
"linkMobile": "https://www.popbill.com"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
4-2. UploadWideListMainImage - 리스트 메인 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/WideList/Main
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/WideList/Main
- 브랜드 메시지 리스트 전송에 사용할 메인 이미지를 업로드합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| image | file | - | Y |
이미지 파일
고정비율 2:1
가로 500px 이상 권장 사이즈 800*400px 파일형식 및 크기 jpg, png / 최대 5MB |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/WideList/Main' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'image=@"/path/image.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
|
| message | string | - | API 처리에 대한 응답메시지 | |
| imageUrl | string | 500 | 이미지 URL |
응답 예시
{
"code": "1",
"message": "성공",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
4-3. UploadWideListImage - 리스트 서브 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/WideList
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/WideList
- 브랜드 메시지 리스트 전송에 사용할 서브 이미지를 업로드합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| images | file | - | Y |
이미지 파일
고정비율 1:1
가로 500px 이상 파일형식 및 크기 jpg, png / 최대 5MB 최대 3개 |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/WideList' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'images=@"/path/image1.jpg"'
--form 'images=@"/path/image2.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
||||||||||||||||
| message | string | - | API 처리에 대한 응답메시지 | ||||||||||||||||
| result | array | - | API 처리에 대한 응답결과 | ||||||||||||||||
|
|||||||||||||||||||
응답 예시
{
"code": 1,
"message": "성공",
"result": [
{
"formField": "image_1",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
},
{
"formField": "image_2",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
]
}
5-1. SendBMSCarouselFeed - 캐러셀 전송
POST
https://popbill-test.linkhub.co.kr/BMS/CarouselFeed
POST
https://popbill.linkhub.co.kr/BMS/CarouselFeed
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 캐러셀 피드형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| carousel | array | 6 | 조건부 |
캐러셀 목록
최소 2개, 최대 6개
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tail | object | - | N |
캐러셀 더보기
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/CarouselFeed' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/c8JBPF/dJMcafy2vaR/9cyuCLSkzBmM3opIFbPiz1/img_l.jpg",
"imageLink": "https://www.popbill.com",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/YSLKV/dJMcaf6QD9q/payZOdvsbnOWWUWAnKY101/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/CarouselFeed' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/c8JBPF/dJMcafy2vaR/9cyuCLSkzBmM3opIFbPiz1/img_l.jpg",
"imageLink": "https://www.popbill.com",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/YSLKV/dJMcaf6QD9q/payZOdvsbnOWWUWAnKY101/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
}
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/c8JBPF/dJMcafy2vaR/9cyuCLSkzBmM3opIFbPiz1/img_l.jpg",
"imageLink": "https://www.popbill.com",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/YSLKV/dJMcaf6QD9q/payZOdvsbnOWWUWAnKY101/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/CarouselFeed' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/c8JBPF/dJMcafy2vaR/9cyuCLSkzBmM3opIFbPiz1/img_l.jpg",
"imageLink": "https://www.popbill.com",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/YSLKV/dJMcaf6QD9q/payZOdvsbnOWWUWAnKY101/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
},
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
5-2. UploadCarouselFeedImage - 캐러셀 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/CarouselFeed
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/CarouselFeed
- 브랜드 메시지 캐러셀 전송에 사용할 이미지를 업로드합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| images | file | - | Y |
이미지 파일
가로:세로 비율제한 2:1이상 3:4이하
가로 500px 이상 권장 사이즈 800*600px 또는 800*400px 파일형식 및 크기 jpg, png / 최대 5MB 최대 10개 |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/CarouselFeed' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'images=@"/path/image1.jpg"'
--form 'images=@"/path/image2.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
||||||||||||||||
| message | string | - | API 처리에 대한 응답메시지 | ||||||||||||||||
| result | array | - | API 처리에 대한 응답결과 | ||||||||||||||||
|
|||||||||||||||||||
응답 예시
{
"code": 1,
"message": "성공",
"result": [
{
"formField": "image_1",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
},
{
"formField": "image_2",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
]
}
6-1. SendBMSVideo - 동영상 전송
POST
https://popbill-test.linkhub.co.kr/BMS/Video
POST
https://popbill.linkhub.co.kr/BMS/Video
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 텍스트형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| header | string | 20 | N |
제목
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| videoUrl | string | 500 | 조건부 |
동영상 링크
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| thumbnailUrl | string | 500 | N |
썸네일 URL
[UploadVideoImage - 동영상 이미지 업로드] API로 응답받은 URL
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| content | string | 76 | N |
내용
줄바꿈 최대 5개
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| btns | array | 1 | N |
버튼 목록
최대 1개
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/Video' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"videoUrl": "https://tv.kakao.com/channel/10245985/cliplink/460954388",
"thumbnailUrl": "https://mud-kage.kakao.com/dn/btYDl2/dJMcahJTEDl/Kg8fpFKTx7lLdKles7Mc60/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/Video' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"videoUrl": "https://tv.kakao.com/channel/10245985/cliplink/460954388",
"thumbnailUrl": "https://mud-kage.kakao.com/dn/btYDl2/dJMcahJTEDl/Kg8fpFKTx7lLdKles7Mc60/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"videoUrl": "https://tv.kakao.com/channel/10245985/cliplink/460954388",
"thumbnailUrl": "https://mud-kage.kakao.com/dn/btYDl2/dJMcahJTEDl/Kg8fpFKTx7lLdKles7Mc60/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/Video' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"videoUrl": "https://tv.kakao.com/channel/10245985/cliplink/460954388",
"thumbnailUrl": "https://mud-kage.kakao.com/dn/btYDl2/dJMcahJTEDl/Kg8fpFKTx7lLdKles7Mc60/img_l.jpg",
"header": "헤더",
"content": "브랜드 메시지 내용",
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
6-2. UploadVideoImage - 동영상 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/Video
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/Video
- 브랜드 메시지 동영상 전송에 사용할 이미지를 업로드합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| image | file | - | Y |
이미지 파일
가로:세로 비율제한 2:1이상 3:4이하
가로 500px 이상 권장 사이즈 800*400px 파일형식 및 크기 jpg, png / 최대 5MB |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/Video' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'image=@"/path/image.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
|
| message | string | - | API 처리에 대한 응답메시지 | |
| imageUrl | string | 500 | 이미지 URL |
응답 예시
{
"code": "1",
"message": "성공",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
7-1. SendBMSCommerce - 커머스 전송
POST
https://popbill-test.linkhub.co.kr/BMS/Commerce
POST
https://popbill.linkhub.co.kr/BMS/Commerce
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 커머스형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| imageUrl | string | 500 | 조건부 |
이미지 URL
[UploadCommerceImage - 커머스 이미지 업로드] API로 응답받은 URL
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| imageLink | string | 500 | N |
이미지 링크 URL
이미지를 클릭하면 연결되는 URL
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| addContent | string | 34 | N |
부가메시지
줄바꿈 최대 1개
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| commerce | object | - | 조건부 |
커머스 정보
할인가격 입력하는 경우 할인율 또는 할인금액 중 하나는 필수
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| btns | array | 2 | 조건부 |
버튼 목록
최소 1개, 최대 2개
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| coupon | object | - | N |
쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/Commerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"imageUrl": "https://mud-kage.kakao.com/dn/jCE2v/dJMcaioIsCz/acNc4qeZvAX6Sa8hevQPK1/img_l.jpg",
"commerce": {
"title": "상품명",
"regularPrice": 1000,
"discountPrice": 100,
"discountFixed": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/Commerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"imageUrl": "https://mud-kage.kakao.com/dn/jCE2v/dJMcaioIsCz/acNc4qeZvAX6Sa8hevQPK1/img_l.jpg",
"commerce": {
"title": "상품명",
"regularPrice": 1000,
"discountPrice": 100,
"discountFixed": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"imageUrl": "https://mud-kage.kakao.com/dn/jCE2v/dJMcaioIsCz/acNc4qeZvAX6Sa8hevQPK1/img_l.jpg",
"adultYN": false,
"commerce": {
"title": "상품명",
"regularPrice": 1000,
"discountPrice": 100,
"discountFixed": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/Commerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"imageUrl": "https://mud-kage.kakao.com/dn/jCE2v/dJMcaioIsCz/acNc4qeZvAX6Sa8hevQPK1/img_l.jpg",
"commerce": {
"title": "상품명",
"regularPrice": 1000,
"discountPrice": 100,
"discountFixed": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
],
"coupon": {
"title": "1000원 할인 쿠폰",
"description": "쿠폰 설명",
"linkMobile": "https://www.popbill.com"
},
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
7-2. UploadCommerceImage - 커머스 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/Commerce
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/Commerce
- 브랜드 메시지 커머스 전송에 사용할 이미지를 업로드합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| image | file | - | Y |
이미지 파일
가로:세로 비율제한 2:1이상 3:4이하
가로 500px 이상 권장 사이즈 800*400px 파일형식 및 크기 jpg, png / 최대 5MB |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/Commerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'image=@"/path/image.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
|
| message | string | - | API 처리에 대한 응답메시지 | |
| imageUrl | string | 500 | 이미지 URL |
응답 예시
{
"code": "1",
"message": "성공",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
8-1. SendBMSCarouselCommerce - 캐러셀 커머스 전송
POST
https://popbill-test.linkhub.co.kr/BMS/CarouselCommerce
POST
https://popbill.linkhub.co.kr/BMS/CarouselCommerce
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 캐러셀 커머스형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| plusFriendID | string | 30 | Y | 검색용 아이디 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adultYN | boolean | - | N |
성인용 메시지 여부
기본값 : false
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| head | object | - | N |
캐러셀 인트로
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| carousel | array | 6 | 조건부 |
캐러셀 목록
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| tail | object | - | N |
캐러셀 더보기
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/CarouselCommerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"head": {
"header": "캐러셀 인트로 제목",
"content": "캐러셀 인트로 내용",
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg"
},
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": "10000",
"discountPrice": 9000,
"discountRate": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/CarouselCommerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"head": {
"header": "캐러셀 인트로 제목",
"content": "캐러셀 인트로 내용",
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg"
},
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": "10000",
"discountPrice": 9000,
"discountRate": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
}
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"head": {
"header": "캐러셀 인트로 제목",
"content": "캐러셀 인트로 내용",
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg"
},
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": "10000",
"discountPrice": 9000,
"discountRate": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
}
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/CarouselCommerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"plusFriendID": "@팝빌",
"targeting": "I",
"head": {
"header": "캐러셀 인트로 제목",
"content": "캐러셀 인트로 내용",
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg"
},
"carousel": [
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": "10000",
"discountPrice": 9000,
"discountRate": 10
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
},
{
"imageUrl": "https://mud-kage.kakao.com/dn/bpQO3e/dJMcafL82dm/vFoK4fIWdelJ4w8igTXjsK/img_l.jpg",
"imageLink": "https://www.popbill.com",
"commerce": {
"title": "상품명",
"regularPrice": 10000
},
"btns": [
{
"n": "버튼명",
"t": "MD"
}
]
}
],
"tail": {
"linkMobile": "https://www.popbill.com"
},
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
8-2. UploadCarouselCommerceImage - 캐러셀 커머스 이미지 업로드
POST
https://popbill-test.linkhub.co.kr/BMS/Upload/Image/CarouselCommerce
POST
https://popbill.linkhub.co.kr/BMS/Upload/Image/CarouselCommerce
- 브랜드 메시지 캐러셀 커머스 전송에 사용할 이미지를 업로드합니다.
- 캐러셀 커머스 이미지는 모든 업로드 이미지의 비율이 동일해야 합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 multipart/form-data |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| images | file | - | Y |
이미지 파일
가로:세로 비율제한 2:1이상 3:4이하
가로 500px 이상 권장 사이즈 800*600px 또는 800*400px 파일형식 및 크기 jpg, png / 최대 5MB 최대 11개 |
요청 예시
curl --request POST \
--url 'https://{domain}/BMS/Upload/Image/CarouselCommerce' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: multipart/form-data' \
--form 'images=@"/path/image1.jpg"'
--form 'images=@"/path/image2.jpg"'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
1성공
|
||||||||||||||||
| message | string | - | API 처리에 대한 응답메시지 | ||||||||||||||||
| result | array | - | API 처리에 대한 응답결과 | ||||||||||||||||
|
|||||||||||||||||||
응답 예시
{
"code": 1,
"message": "성공",
"result": [
{
"formField": "image_1",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
},
{
"formField": "image_2",
"imageUrl": "https://mud-kage.kakao.com/dn/bMQ3ze/dJMcahpDs55/FnZPcowCMtxkeZkvSyopu1/img_l.jpg"
}
]
}
9. SendBMSVariable - 템플릿형 전송
POST
https://popbill-test.linkhub.co.kr/BMS/Variable
POST
https://popbill.linkhub.co.kr/BMS/Variable
- 카카오톡 채널을 추가한 사용자 또는 마케팅 정보 수신에 동의한 사용자에게 템플릿형 광고성 메시지를 전송합니다. (최대 1,000건)
- 비채널 친구에게 브랜드 메시지를 전송하기 위해서는 등록된 비즈니스 채널에 대해 브랜드 메시지 채널 신청이 필요합니다.
- 전송실패시 대체문자를 전송할 수 있고, 이 경우 문자(SMS/LMS) 요금이 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| templateCode | string | 12 | Y | 브랜드 메시지 템플릿 코드 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| targeting | string | 1 | Y |
전송대상
I채널친구
N비채널 친구
M전체
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsubscribeNo | string | 13 | 조건부 |
080 수신거부 번호
{targeting}="N" or "M" 인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altYN | boolean | - | N |
대체문자 전송 여부
기본값 : false
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sendNum | string | 20 | 조건부 |
발신번호
대체문자 전송시 필수
팝빌에 등록되지 않은 발신번호를 입력하는 경우 오류 반환 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altSubject | string | 40 | N |
대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altContent | string | 2,000 | 조건부 |
대체문자 내용
대체문자 전송 시 필수
단위 : byte 동보 전송인 경우 입력
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| altUnsubscribeNo | string | 20 | 조건부 |
대체문자 080 수신거부 번호
대체문자 전송 시 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reserveDT | string | 14 | N |
전송 예약일시
형식 : yyyyMMddHHmmss
예약 가능 시간 08:00~20:50 기본값 : 즉시전송
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| requestNum | string | 36 | N |
요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| contentVariable | object | - | 조건부 |
브랜드 메시지 내용 변수
내용, 헤더, 아이템 제목, 아이템 이미지 링크, 부가정보에 변수 사용한 경우 필수
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| buttonVariable | object | - | 조건부 |
브랜드 메시지 버튼 변수
버튼 링크에 변수 사용한 경우 필수
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| couponVariable | object | - | 조건부 |
브랜드 메시지 쿠폰 변수
쿠폰 설명, 링크에 변수 사용한 경우 필수
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| commerceVariable | object | - | 조건부 |
브랜드 메시지 커머스 변수
상품명, 정상가격, 할인가격, 할인율, 할인금액에 변수 사용한 경우 필수
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| carouselVariable | array | - | 조건부 |
브랜드 메시지 캐러셀 변수
캐러셀에 변수 사용한 경우 필수
동보 전송인 경우 필수
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| msgs | array | 1,000 | Y | 수신자 정보 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시 (단건)
curl --request POST \
--url 'https://{domain}/BMS/Variable' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"targeting": "I",
"templateCode": "026030000095",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동",
"contentVariable": {
"이름": "팝빌"
}
}
]
}'
요청 예시 (대량)
curl --request POST \
--url 'https://{domain}/BMS/Variable' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"targeting": "I",
"templateCode": "026030000095",
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1",
"contentVariable": {
"이름": "팝빌"
}
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2",
"contentVariable": {
"이름": "팝빌"
}
}
]
}'
요청 예시 (동보)
curl --request POST \
--url 'https://{domain}/BMS/Variable' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"targeting": "I",
"templateCode": "026030000095",
"contentVariable": {
"이름": "팝빌"
},
"msgs": [
{
"receiveNum": "01012345678",
"receiveName": "홍길동1"
},
{
"receiveNum": "01012345678",
"receiveName": "홍길동2"
}
]
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| receiptNum | string | 18 | 접수번호 |
응답 예시
{
"receiptNum": "026012710214000001"
}
10. CancelReserve - 예약전송 전체 취소 (접수번호)
GET
https://popbill-test.linkhub.co.kr/KakaoTalk/{receiptNum}/Cancel
GET
https://popbill.linkhub.co.kr/KakaoTalk/{receiptNum}/Cancel
- 팝빌에서 반환받은 접수번호로 예약된 카카오톡을 전송 취소합니다. (예약시간 10분 전까지 가능)
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Accept-Language | N |
응답 언어 설정
ko-KR: 기본값
en-US
|
|
| Accept-Encoding | N | 응답 압축 방식 gzip |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
Query 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| receiptNum | string | 18 | Y |
팝빌에서 할당한 접수번호
카카오톡 예약전송 요청의 반환값
|
요청 예시
curl --request GET \
--url 'https://{domain}/KakaoTalk/{receiptNum}/Cancel' \
--header 'Authorization: Bearer {token}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
0미등록
1등록
|
|
| message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{
"code": 1,
"message": "취소 완료"
}
11. CancelReservebyRCV - 예약전송 부분 취소 (접수번호)
POST
https://popbill-test.linkhub.co.kr/KakaoTalk/{receiptNum}/Cancel
POST
https://popbill.linkhub.co.kr/KakaoTalk/{receiptNum}/Cancel
- 팝빌에서 반환받은 접수번호로 접수 건을 식별하여 수신번호에 예약된 카카오톡을 전송 취소합니다. (예약시간 10분 전까지 가능)
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| Accept-Language | N |
응답 언어 설정
ko-KR: 기본값
en-US
|
|
| Accept-Encoding | N | 응답 압축 방식 gzip |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
Query 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| receiptNum | string | 18 | Y |
팝빌에서 할당한 접수번호
카카오톡 예약전송 요청의 반환값
|
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| receiveNum | string | 20 | Y | 예약전송 수신번호 |
요청 예시
curl --request POST \
--url 'https://{domain}/KakaoTalk/{receiptNum}/Cancel' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"receiveNum": "01012345678"
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
0미등록
1등록
|
|
| message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{
"code": 1,
"message": "취소 완료"
}
12. CancelReserveRN - 예약전송 전체 취소 (요청번호)
GET
https://popbill-test.linkhub.co.kr/KakaoTalk/Cancel/{requestNum}
GET
https://popbill.linkhub.co.kr/KakaoTalk/Cancel/{requestNum}
- 파트너가 할당한 요청번호로 예약된 카카오톡을 전송 취소합니다. (예약시간 10분 전까지 가능)
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Accept-Language | N |
응답 언어 설정
ko-KR: 기본값
en-US
|
|
| Accept-Encoding | N | 응답 압축 방식 gzip |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
Query 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| requestNum | string | 36 | Y | 파트너가 할당한 요청번호 |
요청 예시
curl --request GET \
--url 'https://{domain}/KakaoTalk/Cancel/{requestNum}' \
--header 'Authorization: Bearer {token}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
0미등록
1등록
|
|
| message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{
"code": 1,
"message": "취소 완료"
}
13. CancelReserveRNbyRCV - 예약전송 부분 취소 (요청번호)
POST
https://popbill-test.linkhub.co.kr/KakaoTalk/Cancel/{requestNum}
POST
https://popbill.linkhub.co.kr/KakaoTalk/Cancel/{requestNum}
- 파트너가 할당한 요청번호로 접수 건을 식별하여 수신번호에 예약된 카카오톡을 전송 취소합니다. (예약시간 10분 전까지 가능)
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| Authorization | Y | 인증 토큰 | |
| Content-Type | Y | 요청 본문 형식 application/json |
|
| Accept-Language | N |
응답 언어 설정
ko-KR: 기본값
en-US
|
|
| Accept-Encoding | N | 응답 압축 방식 gzip |
|
| X-PB-UserID | N | 팝빌회원 아이디 |
Query 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| requestNum | string | 36 | Y | 파트너가 할당한 요청번호 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| receiveNum | string | 20 | Y | 예약전송 수신번호 |
요청 예시
curl --request POST \
--url 'https://{domain}/KakaoTalk/Cancel/{requestNum}' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"receiveNum": "01012345678"
}'
Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| code | number | - |
API 처리에 대한 응답코드
0미등록
1등록
|
|
| message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{
"code": 1,
"message": "취소 완료"
}
