POPBill Developers
연동신청
  • 가이드 0
  • 레퍼런스 0
  • 오류코드 0
카카오톡
  • 전자세금계산서
  • 현금영수증
  • 전자명세서
  • 홈택스수집(세금)
  • 홈택스수집(현금)
  • 사업자등록상태조회
  • 기업정보조회
  • 계좌조회
  • 예금주조회
  • 카카오톡
  • 문자
  • 팩스
API 레퍼런스

브랜드 메시지 전송

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개)
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 14 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
채널 추가 버튼은 첫번째 위치에만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
content string 1,300 조건부 브랜드 메시지 내용
줄바꿈 최대 99개
대량 전송인 경우 필수
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
btns array 5 N 버튼 목록
최대 5개 (쿠폰 강조을 포함하는 경우 최대 4개)
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 14 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
채널 추가 버튼은 첫번째 위치에만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
요청 예시 (단건)
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
동보 전송인 경우 필수
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개)
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 14 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
채널 추가 버튼은 첫번째 위치에만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
imageUrl string 500 조건부 이미지 URL
[UploadImage - 이미지 업로드] API로 응답받은 URL
대량 전송인 경우 필수
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
content string 1,300 조건부 브랜드 메시지 내용
줄바꿈 최대 99개
대량 전송인 경우 필수
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
btns array 5 N 버튼 목록
최대 5개 (쿠폰 강조을 포함하는 경우 최대 4개)
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 14 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
채널 추가 버튼은 첫번째 위치에만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
요청 예시 (단건)
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
동보 전송인 경우 필수
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개
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 8 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
버튼 1개인 경우 채널추가 버튼은 첫번째 위치만 가능
버튼 2개인 경우 채널추가 버튼은 두번째 위치만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 18 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
imageUrl string 500 조건부 이미지 URL
대량 전송인 경우 필수
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
content string 76 Y 브랜드 메시지 내용
줄바꿈 최대 5개
대량 전송인 경우 필수
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
btns array 2 N 버튼 목록
최대 2개
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 8 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
버튼 1개인 경우 채널추가 버튼은 첫번째 위치만 가능
버튼 2개인 경우 채널추가 버튼은 두번째 위치만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 18 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
요청 예시 (단건)
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개
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 30 조건부 타이틀
메인 아이템은 최대 25자, 서브 아이템은 30자
서브 아이템인 경우 필수
줄바꿈 최대 1개
imageUrl string 500 Y 이미지 URL
메인 아이템인 경우 [UploadWideListMainImage - 리스트 메인 이미지 업로드] API로 응답받은 URL
서브 아이템인 경우 [UploadWideListImage - 리스트 서브 이미지 업로드] API로 응답받은 URL
linkMobile string 1,000 Y Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
btns array 2 N 버튼 목록
최대 2개
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 14 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
버튼 1개인 경우 채널추가 버튼은 첫번째 위치만 가능
버튼 2개인 경우 채널추가 버튼은 두번째 위치만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
header string 20 조건부 제목
대량 전송인 경우 필수
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
item array 4 N 아이템 목록
최소 3개, 최대 4개
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 30 Y 타이틀
메인 아이템은 최대 25자, 서브 아이템은 30자
줄바꿈 최대 1개
imageUrl string 500 Y 이미지 URL
메인 아이템인 경우 [UploadWideListMainImage - 리스트 메인 이미지 업로드] API로 응답받은 URL
서브 아이템인 경우 [UploadWideListImage - 리스트 서브 이미지 업로드] API로 응답받은 URL
linkMobile string 1,000 Y Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
btns array 2 N 버튼 목록
최대 2개
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 14 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
버튼 1개인 경우 채널추가 버튼은 첫번째 위치만 가능
버튼 2개인 경우 채널추가 버튼은 두번째 위치만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
요청 예시 (단건)
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 처리에 대한 응답결과
순번 변수명 타입 길이 설명
formField string - 이미지 필드
imageUrl string - 이미지 URL
응답 예시
{
    "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 요청번호
파트너가 접수 단위를 식별하기 위해 할당하는 관리번호 영문 대소문자, 숫자, 특수문자('-', '_')만 이용 가능
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
tail object - N 캐러셀 더보기
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
linkMobile string 1,000 Y Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
tail object - N 캐러셀 더보기
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
linkMobile string 1,000 Y Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
요청 예시 (단건)
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 처리에 대한 응답결과
순번 변수명 타입 길이 설명
formField string - 이미지 필드
imageUrl string - 이미지 URL
응답 예시
{
    "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
동보 전송인 경우 입력
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개
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 8 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
header string 20 N 제목
대량 전송인 경우 입력
videoUrl string 500 조건부 동영상 링크
대량 전송인 경우 필수
thumbnailUrl string 500 N 썸네일 URL
대량 전송인 경우 입력
content string 76 N 내용
줄바꿈 최대 5개
대량 전송인 경우 입력
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
btns array 1 N 버튼 목록
최대 1개
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
n string 8 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
요청 예시 (단건)
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
동보 전송인 경우 필수
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 - 조건부 커머스 정보
할인가격 입력하는 경우 할인율 또는 할인금액 중 하나는 필수
동보 전송인 경우 필수
순번 변수명 타입 길이 필수 설명
title string 30 Y 상품명
regularPrice number - Y 정상가격
0 ~ 99,999,999
discountPrice number - N 할인가격
0 ~ 99,999,999
discountRate number - 조건부 할인율
0 ~ 100
discountFixed number - 조건부 할인금액
0 ~ 999,999
btns array 2 조건부 버튼 목록
최소 1개, 최대 2개
동보 전송인 경우 필수
순번 변수명 타입 길이 필수 설명
n string 8 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
버튼 1개인 경우 채널추가 버튼은 첫번째 위치만 가능
버튼 2개인 경우 채널추가 버튼은 두번째 위치만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
imageUrl string 500 조건부 이미지 URL
대량 전송인 경우 필수
addContent string 34 N 부가메시지
줄바꿈 최대 1개
대량 전송인 경우 입력
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
commerce object - 조건부 커머스 정보
할인가격 입력하는 경우 할인율 또는 할인금액 중 하나는 필수
대량 전송인 경우 필수
순번 변수명 타입 길이 필수 설명
title string 30 Y 상품명
regularPrice number - Y 정상가격
0 ~ 99,999,999
discountPrice number - N 할인가격
0 ~ 99,999,999
discountRate number - 조건부 할인율
0 ~ 100
discountFixed number - 조건부 할인금액
0 ~ 999,999
btns array 2 조건부 버튼 목록
최소 1개, 최대 2개
대량 전송인 경우 필수
순번 변수명 타입 길이 필수 설명
n string 8 Y 버튼명
t string 2 Y 버튼유형
  • WL웹링크
  • AL앱링크
  • MD메시지전달
  • BK봇키워드
  • AC채널추가
버튼 1개인 경우 채널추가 버튼은 첫번째 위치만 가능
버튼 2개인 경우 채널추가 버튼은 두번째 위치만 가능
u1 string 1,000 N 버튼링크
- {t} = "AL" 경우 iOS 앱링크 적용
- {t} = "WL" 경우 Mobile 웹링크 적용
u2 string 1,000 N 버튼링크
- {t} = "AL" 경우 Android 앱링크 적용
- {t} = "WL" 경우 PC 웹링크 적용
coupon object - N 쿠폰 강조
채널 쿠폰 사용 시 linkAndroid, linkIos 중 1개 필수
외부 쿠폰 사용 시 linkMobile 필수
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
title string 15 Y 쿠폰 제목
#{숫자}원 할인 쿠폰(숫자 : 1~99,999,999)
#{숫자}% 할인 쿠폰(숫자 : 1~100)
배송비 할인 쿠폰
#{7자 이내} 무료 쿠폰
#{7자 이내} UP 쿠폰
description string 12 Y 쿠폰 설명
줄바꿈 사용 불가
linkMobile string 1,000 조건부 Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 조건부 Android 앱링크
linkIos string 1,000 조건부 iOS 앱링크
요청 예시 (단건)
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 캐러셀 인트로
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
header string 20 Y 제목
content string 50 Y 내용
imageUrl string 500 Y 이미지 URL
linkMobile string 1,000 N Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
tail object - N 캐러셀 더보기
동보 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
linkMobile string 1,000 Y Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
adultYN boolean - N 성인용 메시지 여부
기본값 : false
대량 전송인 경우 입력
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
head object - N 캐러셀 인트로
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
header string 20 Y 제목
content string 50 Y 내용
imageUrl string 500 Y 이미지 URL
linkMobile string 1,000 N Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
순번 변수명 타입 길이 필수 설명
tail object - N 캐러셀 더보기
대량 전송인 경우 입력
순번 변수명 타입 길이 필수 설명
linkMobile string 1,000 Y Mobile 웹링크
linkPc string 1,000 N PC 웹링크
linkAndroid string 1,000 N Android 앱링크
linkIos string 1,000 N iOS 앱링크
요청 예시 (단건)
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 처리에 대한 응답결과
순번 변수명 타입 길이 설명
formField string - 이미지 필드
imageUrl string - 이미지 URL
응답 예시
{
    "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 - 조건부 브랜드 메시지 캐러셀 변수 캐러셀에 변수 사용한 경우 필수
동보 전송인 경우 필수
순번 변수명 타입 길이 필수 설명
contentVariable object - 조건부 브랜드 메시지 캐러셀 내용 변수 캐러셀 제목, 캐러셀 내용, 캐러셀 이미지 링크, 캐러셀 부가정보에 변수 사용한 경우 필수
buttonVariable object - 조건부 브랜드 메시지 캐러셀 버튼 변수 버튼 링크에 변수 사용한 경우 필수
couponVariable object - 조건부 브랜드 메시지 캐러셀 쿠폰 변수 쿠폰 설명, 링크에 변수 사용한 경우 필수
commerceVariable object - 조건부 브랜드 메시지 캐러셀 커머스 변수 상품명, 정상가격, 할인가격, 할인율, 할인금액에 변수 사용한 경우 필수
msgs array 1,000 Y 수신자 정보
순번 변수명 타입 길이 필수 설명
receiveNum string 20 Y 수신번호
receiveName string 70 N 수신자명
altSubject string 40 N 대체문자 제목
대체문자 내용이 90byte 이상인 경우에만 적용
대량 전송인 경우 입력
altContent string 2,000 조건부 대체문자 내용
대체문자 전송 시 필수
단위 : byte
대량 전송인 경우 입력
interOPRefKey string 20 N 파트너 지정키
브랜드 메시지 대량 전송 시 파트너가 개별건마다 입력할 수 있는 값
contentVariable object - 조건부 브랜드 메시지 내용 변수 내용, 헤더, 아이템 제목, 아이템 이미지 링크, 부가정보에 변수 사용한 경우 필수
대량 전송인 경우 필수
buttonVariable object - 조건부 브랜드 메시지 버튼 변수 버튼 링크에 변수 사용한 경우 필수
대량 전송인 경우 필수
couponVariable object - 조건부 브랜드 메시지 쿠폰 변수 쿠폰 설명, 링크에 변수 사용한 경우 필수
대량 전송인 경우 필수
commerceVariable object - 조건부 브랜드 메시지 커머스 변수 상품명, 정상가격, 할인가격, 할인율, 할인금액에 변수 사용한 경우 필수
대량 전송인 경우 필수
carouselVariable array - 조건부 브랜드 메시지 캐러셀 변수 캐러셀에 변수 사용한 경우 필수
대량 전송인 경우 필수
순번 변수명 타입 길이 필수 설명
contentVariable object - 조건부 브랜드 메시지 캐러셀 내용 변수 캐러셀 제목, 캐러셀 내용, 캐러셀 이미지 링크, 캐러셀 부가정보에 변수 사용한 경우 필수
buttonVariable object - 조건부 브랜드 메시지 캐러셀 버튼 변수 버튼 링크에 변수 사용한 경우 필수
couponVariable object - 조건부 브랜드 메시지 캐러셀 쿠폰 변수 쿠폰 설명, 링크에 변수 사용한 경우 필수
commerceVariable object - 조건부 브랜드 메시지 캐러셀 커머스 변수 상품명, 정상가격, 할인가격, 할인율, 할인금액에 변수 사용한 경우 필수
요청 예시 (단건)
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": "취소 완료"
}