브랜드메시지

브랜드메시지는 카카오톡 채널 친구에게 브랜드형 메시지를 발송하는 카카오 비즈메시지 채널입니다. 템플릿 기반의 기본형 발송과 메시지 내용을 직접 구성하는 자유형 발송을 모두 지원합니다.

브랜드메시지 기본형 발송

기본형 브랜드메시지는 사전에 등록된 템플릿을 기준으로 발송합니다. 템플릿 코드 기반 치환 발송에 사용할 수 있습니다.

기본형 메시지 발송

POST/api/comm/v1/send/omni

브랜드메시지 기본형 발송 규격입니다. 사전 승인된 템플릿 코드를 사용하며 sendType은 basic입니다.

기본형 발송 방식은 2가지입니다.
1. 변수 분리 방식: messageVariable, buttonVariable, couponVariable 같은 Variable 필드에 치환값을 넣는 방식입니다.
2. 전문 방식: 기존 알림톡과 비슷하게 text, attachment, carousel 구조에 직접 값을 넣는 방식입니다.

두 방식은 같은 기본형 발송 안에서 선택적으로 사용하는 개념이며, 템플릿 구조와 msgType에 맞는 필드를 사용해야 합니다. Variable 필드는 변수 치환이 필요한 경우에만 사용합니다.

Body Parameters

{}JSON

destinations

필수Object Array

수신 정보 배열입니다. 동보발송 최대 200건입니다.

messageFlow

필수Object Array

메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.

paymentCode

String

정산용 부서 코드입니다.

groupKey

String

메시지 인사이트 에서 그룹으로 묶어서 통계를 확인하기 위해 설정하는 키입니다.

idempotencyKey

String

요청에 대한 멱등함을 구분하는 멱등성 키 필드입니다.

idempotencyTtl

Integer

멱등 처리키 유효시간 입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "/api/comm/v1/send/omni" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{ "to": "01012345678", "messageVariable": { "name": "홍길동" } }],
6 "messageFlow": [{
7 "brandmessage": {
8 "sendType": "basic",
9 "msgType": "TEXT",
10 "senderKey": "{senderKey}",
11 "templateCode": "BM_TEMPLATE_001"
12 }
13 }],
14 "ref": "brand-basic-20260331-001"
15 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "data": {
11 "destinations": [{
12 "to": "01012345678",
13 "msgKey": "20260424104234546POM101182450000",
14 "code": "A000",
15 "result": "Success"
16 }]
17 },
18 "ref": "brand-basic-20260331-001"
19 }
20}

기본형 예약 발송

POST/api/comm/v1/reservation

브랜드메시지 기본형을 지정한 시각에 발송하도록 예약 등록합니다. 발송 가능한 상세 필드는 기본형 메시지 발송 규격과 동일합니다. 예약 등록 후 조회, 수정, 취소, 중지, 재개, 수신자 관리는 예약 관리 페이지에서 확인할 수 있습니다.

Body Parameters

{}JSON

destinations

필수Object Array

수신 정보 배열입니다. 동보발송 최대 200건입니다.

messageFlow

필수Object Array

메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.

resvSendTime

필수String

예약 발송 시각입니다.

resvName

String

예약 건을 식별하기 위한 이름입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

예약 등록 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/reservation" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{
6 "to": "01012345678"
7 }],
8 "messageFlow": [{
9 "brandmessage": {
10 "sendType": "basic",
11 "msgType": "FT",
12 "senderKey": "{senderKey}",
13 "templateCode": "BM_TEMPLATE_001",
14 "targeting": "M"
15 }
16 }],
17 "resvSendTime": "2026-05-01 10:00:00",
18 "resvName": "브랜드메시지 기본형 예약 발송",
19 "ref": "brand-basic-resv-20260501-001"
20 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "resvKey": "20260501100000RESV0000000001"
11 }
12}

기본형 템플릿 자동 치환 발송

POST/api/comm/v1/send/omni

기본형 브랜드메시지를 템플릿 전문 없이 템플릿 코드와 치환 변수만으로 발송합니다. Bizgo API가 템플릿 코드에 맞는 전문을 생성한 뒤 destinations[].replaceWords 값을 치환해 발송합니다.

Body Parameters

{} JSON

destinations

필수Object Array

수신 정보 배열입니다.

messageFlow

필수Object Array

메시지 규격 배열입니다.

paymentCode

String

정산용 부서 코드입니다.

groupKey

String

그룹 키입니다.

idempotencyKey

String

멱등성 키입니다.

idempotencyTtl

Integer

멱등성 키 만료 시간(초)입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/send/omni" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{
6 "to": "01000000000",
7 "replaceWords": {
8 "customerName": "홍길동",
9 "point": "500"
10 }
11 }],
12 "messageFlow": [{
13 "brandmessage": {
14 "senderKey": "{senderKey}",
15 "templateCode": "{templateCode}",
16 "sendType": "template",
17 "targeting": "I",
18 "pushAlarm": "Y",
19 "originCID": "123456789",
20 "unsubscribePhoneNumber": "0801234567",
21 "unsubscribeAuthNumber": "12345"
22 }
23 }],
24 "paymentCode": "brand-team-01",
25 "groupKey": "brand-template-group-01",
26 "idempotencyKey": "brand-template-idempotency-001",
27 "idempotencyTtl": 300,
28 "ref": "brand-template-001"
29 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "destinations": [{
12 "to":"01000000000",
13 "msgKey":"20260424104234546POM101182450000",
14 "code":"A000",
15 "result":"Success"
16 }]
17 },
18 "ref":"brand-template-001"
19 }
20}

브랜드메시지 자유형 발송

자유형 브랜드메시지는 템플릿 등록 없이 메시지 내용을 직접 구성해 발송합니다. 메시지 타입에 맞는 이미지, 버튼, 캐러셀 요소를 함께 정의할 수 있습니다.

커머스·캐러셀 커머스 discountRate(할인율) 안내

  • 허용 범위: 1~100
  • 2026년 8월 4일부터 discountRate 값이 0이면 템플릿 등록·발송 요청이 실패 처리됩니다.
  • 자유형 발송은 discount_rate, 변수 분리 방식은 고정변수 할인율에 동일하게 적용됩니다.
  • 할인율을 사용하지 않을 때는 0 대신 null로 전송하세요.

자유형 메시지 발송

POST/api/comm/v1/send/omni

브랜드메시지 자유형 발송 규격입니다. 템플릿 코드 없이 본문/버튼 값을 직접 구성하며 sendType은 free입니다.

Body Parameters

{}JSON

destinations

필수Object Array

수신 정보 배열입니다. 동보발송 최대 200건입니다.

messageFlow

필수Object Array

메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.

paymentCode

String

정산용 부서 코드입니다.

groupKey

String

메시지 인사이트 에서 그룹으로 묶어서 통계를 확인하기 위해 설정하는 키입니다.

idempotencyKey

String

요청에 대한 멱등함을 구분하는 멱등성 키 필드입니다.

idempotencyTtl

Integer

멱등 처리키 유효시간 입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "/api/comm/v1/send/omni" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{ "to": "01012345678" }],
6 "messageFlow": [{
7 "brandmessage": {
8 "sendType": "free",
9 "msgType": "TEXT",
10 "senderKey": "{senderKey}",
11 "content": "자유형 브랜드메시지 본문입니다."
12 }
13 }],
14 "ref": "brand-free-20260331-001"
15 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "SUCCESS",
10 "data": {
11 "destinations": [{
12 "to": "01012345678",
13 "msgKey": "20260424104234546POM101182450000",
14 "code": "A000",
15 "result": "Success"
16 }]
17 },
18 "ref": "brand-free-20260331-001"
19 }
20}

자유형 예약 발송

POST/api/comm/v1/reservation

브랜드메시지 자유형을 지정한 시각에 발송하도록 예약 등록합니다. 발송 가능한 상세 필드는 자유형 메시지 발송 규격과 동일합니다. 예약 등록 후 조회, 수정, 취소, 중지, 재개, 수신자 관리는 예약 관리 페이지에서 확인할 수 있습니다.

Body Parameters

{}JSON

destinations

필수Object Array

수신 정보 배열입니다. 동보발송 최대 200건입니다.

messageFlow

필수Object Array

메시지를 추가하면 순서대로 자동 Fallback 메시지 처리됩니다.

resvSendTime

필수String

예약 발송 시각입니다.

resvName

String

예약 건을 식별하기 위한 이름입니다.

ref

String

요청 참조 필드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

예약 등록 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/reservation" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "destinations": [{
6 "to": "01012345678"
7 }],
8 "messageFlow": [{
9 "brandmessage": {
10 "sendType": "free",
11 "msgType": "FT",
12 "senderKey": "{senderKey}",
13 "content": "자유형 브랜드메시지 예약 발송 본문입니다.",
14 "targeting": "M"
15 }
16 }],
17 "resvSendTime": "2026-05-01 10:00:00",
18 "resvName": "브랜드메시지 자유형 예약 발송",
19 "ref": "brand-free-resv-20260501-001"
20 }'

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "resvKey": "20260501100000RESV0000000001"
11 }
12}

브랜드메시지 기본형 동보 발송

친구 그룹 또는 전체 친구를 대상으로 기본형 템플릿 메시지를 일괄 발송하는 기능입니다. 발송 제어(재개·중지·종료)와 상태 조회를 함께 제공합니다. 발송 전 예상 모수·소요 시간 확인은 브랜드메시지 발송 사전 확인을 참고하세요.

동보 발송

동보 발송 참고사항

  • 메시지 발송에 사용하는 템플릿은 변수가 없어야 하며, 템플릿 상태가 등록(A)이어야 합니다.
  • 요청한 동보 메시지 발송 시작 일시에 맞춰 자동 발송되며, 20:50~익일 08:00에는 자동 중지 후 익일 08:00 이후 자동 재개됩니다.
  • 친구 그룹 사용 시 그룹 상태가 C(Completed)이고, 그룹 내 등록 유저 수(user_count)가 10 이상이어야 메시지 발송 예약이 가능합니다.
  • 친구 그룹 내 친구 관계는 실시간으로 동기화됩니다.
  • 전체 친구 발송·친구 그룹 발송 모두 발송 요청 시점의 친구 관계를 기반으로 발송 수를 설정하며, 실제 발송 시점의 친구 관계에 따라 설정된 발송 수 내에서 순차적으로 발송됩니다.
POST/api/comm/v1/center/brandmessage/groupMessage

기본형 템플릿을 기준으로 카카오 친구 그룹 전체에 동보발송을 예약합니다. 발송 시작 시각은 요청 시점 기준 10분 이후부터 설정할 수 있고, 08:00~20:50(KST) 범위에서 운영합니다.

Body Parameters

{} JSON

brandmessage

필수Object

기본형 템플릿 동보발송 정보입니다.

paymentCode

String

정산용 부서 코드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "brandmessage": {
6 "senderKey": "{senderKey}",
7 "templateCode": "{templateCode}",
8 "friendGroupKey": "{friendGroupKey}",
9 "sendStartAt": "2026-04-08 16:40:00",
10 "pushAlarm": "Y"
11 }
12 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "requestId":"1203981",
13 "status":"READY",
14 "sendStartAt":"2026-04-08 16:40:00",
15 "pushAlarm":"Y",
16 "expectedCount": 7,
17 "sendCount": 0,
18 "senderKey":"{senderKey}",
19 "msgType":"FI",
20 "templateCode":"{templateCode}"
21 }
22 }
23 }
24}

동보 발송 재개

POST/api/comm/v1/center/brandmessage/groupMessage/resume

중지된 기본형 템플릿 동보발송 요청을 다시 시작합니다.

Body Parameters

{} JSON

brandmessage

필수Object

동보발송 제어 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/resume" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "brandmessage": {
6 "senderKey": "{senderKey}",
7 "requestId": "1203981"
8 }
9 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "requestId":"1203981",
13 "status":"READY",
14 "sendStartAt":"2026-04-08 16:20:00",
15 "pushAlarm":"Y",
16 "expectedCount": 7,
17 "sendCount": 0,
18 "senderKey":"{senderKey}",
19 "msgType":"FI",
20 "templateCode":"{templateCode}"
21 }
22 }
23 }
24}

동보 발송 중지

POST/api/comm/v1/center/brandmessage/groupMessage/pause

진행 중인 기본형 템플릿 동보발송 요청을 일시 중지합니다.

Body Parameters

{} JSON

brandmessage

필수Object

동보발송 제어 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/pause" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "brandmessage": {
6 "senderKey": "{senderKey}",
7 "requestId": "1203981"
8 }
9 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "requestId":"1203981",
13 "status":"PAUSED",
14 "sendStartAt":"2026-04-08 16:20:00",
15 "pushAlarm":"Y",
16 "expectedCount": 7,
17 "sendCount": 3,
18 "senderKey":"{senderKey}",
19 "msgType":"FI",
20 "templateCode":"{templateCode}"
21 }
22 }
23 }
24}

동보 발송 종료

POST/api/comm/v1/center/brandmessage/groupMessage/terminate

예약 또는 진행 중인 기본형 템플릿 동보발송 요청을 종료합니다.

Body Parameters

{} JSON

brandmessage

필수Object

동보발송 제어 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/terminate" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "brandmessage": {
6 "senderKey": "{senderKey}",
7 "requestId": "1203981"
8 }
9 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "requestId":"1203981",
13 "status":"TERMINATED",
14 "sendStartAt":"2026-04-08 16:20:00",
15 "pushAlarm":"Y",
16 "expectedCount": 7,
17 "sendCount": 3,
18 "senderKey":"{senderKey}",
19 "msgType":"FI",
20 "templateCode":"{templateCode}"
21 }
22 }
23 }
24}

동보 발송 조회

GET/api/comm/v1/center/brandmessage/groupMessage

발신프로필 키와 요청 아이디를 기준으로 특정 동보발송 요청 상태를 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

requestId

필수Integer

동보발송 요청 아이디입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage?senderKey={senderKey}&requestId=1203981" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "requestId":"1203981",
13 "status":"SENDING",
14 "sendStartAt":"2026-04-08 16:40:00",
15 "pushAlarm":"Y",
16 "expectedCount": 7,
17 "sendCount": 3,
18 "senderKey":"{senderKey}",
19 "msgType":"FI",
20 "templateCode":"{templateCode}"
21 }
22 }
23 }
24}

최근 변경된 동보 발송 요청 목록 조회

GET/api/comm/v1/center/brandmessage/groupMessage/lastModified

기준 시각 이후 변경된 동보발송 요청 아이디 목록을 조회합니다. 누락된 요청 상태를 후속 동기화할 때 사용할 수 있습니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

since

String

변경 기준 일시입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/lastModified?senderKey={senderKey}&since=2026-04-08T15:00:00" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "requestIds": ["1203981", "1203982", "1203983"]
13 }
14 }
15 }
16}

브랜드메시지 발송 사전 확인

발송 전에 예상 발송 수·과금액, 보유 친구 수, 예상 소요시간을 미리 확인하는 조회 기능입니다. 친구 그룹 기반과 전화번호 명단 기반을 모두 지원하며, 동보 발송뿐 아니라 발송 전 사전 검증 용도로 사용합니다.

발송 예상 모수 확인 (친구그룹 기반)

GET/api/comm/v1/center/brandmessage/groupMessage/possible

메시지 타입과 친구 그룹 조건을 기준으로 동보발송 예상 발송 수를 조회합니다. 친구 그룹을 사용할 경우 그룹 상태가 완료(C)이고 그룹 내 등록 유저 수가 10 이상이어야 발송 예약이 가능하며, 친구 관계는 실시간으로 동기화됩니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

msgType

필수String

브랜드메시지 타입입니다. (카카오 원본 chatBubbleType로 변환됩니다.)

friendGroupKey

String

대상 친구 그룹 키입니다. 미지정 시 전체 친구를 기준으로 조회합니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/possible?senderKey={senderKey}&msgType=FI&friendGroupKey={friendGroupKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "possible": 320
13 }
14 }
15 }
16}

발송 예상 모수 확인 (전화번호 명단 기반)

POST/api/comm/v1/center/brandmessage/groupMessage/friend/possible

전화번호 명단을 기준으로 동보발송 가능 예상 수를 조회합니다. 명단은 국가코드가 자동 정규화되며, 유효한 번호를 대상으로 발송 가능 모수를 계산합니다. 최소 10건 이상이어야 하고, 하나라도 형식이 잘못되면 요청 전체가 거부됩니다.

Body Parameters

{} JSON

senderKey

필수String

발신프로필 키입니다.

phoneNumbers

필수String Array

발송 가능 여부를 확인할 전화번호 목록입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/friend/possible" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "senderKey": "{senderKey}",
6 "phoneNumbers": [
7 "01000000000",
8 "01000000001"
9 ]
10 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "possible": 320
13 }
14 }
15 }
16}

채널 전체 친구 수 조회

GET/api/comm/v1/center/brandmessage/groupMessage/friendCount

발신프로필 기준 친구 수를 조회합니다. 동보발송 가능 대상 수를 사전에 확인할 때 사용합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/friendCount?senderKey={senderKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "count": 1250
13 }
14 }
15 }
16}

예상 소요시간 조회

GET/api/comm/v1/center/brandmessage/groupMessage/estimate

동보발송 시작 시각과 대상 수를 기준으로 예상 종료 시각과 소요 시간을 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

startTime

필수String

동보발송 시작 일시입니다.

count

필수Integer

발송 모수입니다.

target

String

대상 유형입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupMessage/estimate?senderKey={senderKey}&startTime=2026-04-08T16:40:00&count=320&target=FRIEND_GROUP" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "estimatedFinishedAt":"2026-04-08T16:58:00",
13 "duration": 18
14 }
15 }
16 }
17}

이미지 파일 관리

브랜드메시지 템플릿과 자유형 메시지 구성에 사용할 이미지 파일을 업로드합니다. 메시지 타입과 레이아웃에 따라 업로드 경로를 구분합니다.

이미지 업로드

POST/api/comm/v1/file/brandmessage/default

기본형 브랜드메시지에서 사용하는 이미지를 업로드합니다. 발송 본문에 파일을 직접 첨부하는 API가 아니라 브랜드메시지 템플릿 등록과 구성에 사용할 이미지 URL을 발급받는 API입니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 브랜드메시지 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/brandmessage/default" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/brand-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/brand-image.jpg"
12 }
13 }
14}

와이드 이미지 업로드

POST/api/comm/v1/file/brandmessage/wide

와이드 이미지형 브랜드메시지에서 사용하는 이미지를 업로드합니다. 발급된 imgUrl은 브랜드메시지 템플릿 또는 발송 구성에 사용합니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 브랜드메시지 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/brandmessage/wide" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/brand-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/brand-image.jpg"
12 }
13 }
14}

와이드 리스트 첫번째 이미지 업로드

POST/api/comm/v1/file/brandmessage/wideItemList/first

와이드 리스트형 브랜드메시지의 첫 번째 리스트 이미지에 사용할 이미지를 업로드합니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 브랜드메시지 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/brandmessage/wideItemList/first" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/brand-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/brand-image.jpg"
12 }
13 }
14}

와이드 리스트 이미지 업로드

POST/api/comm/v1/file/brandmessage/wideItemList

와이드 리스트형 브랜드메시지의 2~4번째 리스트 이미지에 사용할 이미지를 업로드합니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 브랜드메시지 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/brandmessage/wideItemList" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/brand-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/brand-image.jpg"
12 }
13 }
14}

캐러셀 피드 이미지 업로드

POST/api/comm/v1/file/brandmessage/carouselFeed

캐러셀 피드형 브랜드메시지에서 사용하는 이미지를 업로드합니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 브랜드메시지 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/brandmessage/carouselFeed" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/brand-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/brand-image.jpg"
12 }
13 }
14}

캐러셀 커머스 이미지 업로드

POST/api/comm/v1/file/brandmessage/carouselCommerce

캐러셀 커머스형 브랜드메시지에서 사용하는 이미지를 업로드합니다. 전체 캐러셀 이미지 비율은 동일하게 맞춰야 합니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 브랜드메시지 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/brandmessage/carouselCommerce" \
2 -H "Authorization: {ApiKey}" \
3 -F "file=@/path/brand-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "imgUrl":"https://example.kakao.image/brand-image.jpg"
12 }
13 }
14}

동영상 관리

브랜드메시지에 사용할 동영상을 등록하고 처리 상태를 조회합니다. 발송용 동영상을 준비하는 방법은 두 가지입니다.

  • 신규 업로드 — 아직 카카오에 올리지 않은 동영상. 업로드 채널을 발급받아 클라이언트가 그 채널로 파일을 직접 올리는 2단계 구조입니다. (이미지 파일 관리 API와 달리 파일을 직접 전송받지 않습니다.)
  • 기존 동영상 등록 — 이미 채널에 올라가 있는 동영상. 재업로드 없이 vid 또는 videoUrl로 발송용 등록만 합니다.

신규 업로드 흐름

TEXT
1. 업로드 등록  POST /video/upload/register
   → 응답으로 vid, uploadUrl, token 발급
              │
              ▼
2. 파일 전송   클라이언트 → uploadUrl (카카오 서버로 직접 전송, token 사용)
              │
              ▼
3. 상태 확인   GET /video?vid=...
   → status 가 PUBLIC 이면 발송 가능 (PRIVATE 은 템플릿 등록만 가능)

1번 응답의 A000업로드 채널 발급 성공을 의미할 뿐, 동영상 등록 완료가 아닙니다. 실제 사용 가능 여부는 3번 조회의 status로 확인하세요.

2단계: 동영상 파일 전송

1단계 응답으로 받은 uploadUrl에 동영상 파일을 직접 전송합니다. uploadUrltoken발급 후 5분간만 유효하며, 실패 시 업로드 등록(1단계)부터 다시 시도해야 합니다.

구분
메서드·URLPOST {uploadUrl}
헤더x-kamp-upload-token: {token} · Content-Type: multipart/form-data
본문file — 동영상 바이너리
Bash
curl -X POST \
  -H 'x-kamp-upload-token: {token}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file=@{video_file}' \
  '{uploadUrl}'

이 전송은 카카오 업로드 서버로 직접 보내며 비즈고 API를 거치지 않습니다. 성공 응답의 vid로 3단계 상태 조회를 진행하세요. 실패 시 응답의 errCode·message로 원인(존재하지 않는 vid, 용량·해상도·길이 초과, 미지원 형식, 토큰 인증 실패 등)을 확인할 수 있습니다.

기존 동영상 등록 규칙

이미 카카오톡 채널에 올려둔 동영상은 위 2단계를 거치지 않고 vid 또는 videoUrl만 지정해 바로 등록합니다.

  • 하나는 필수vid·videoUrl 중 최소 하나를 입력합니다. 둘 다 입력하면 videoUrl이 우선 적용됩니다.
  • videoUrl 형식https://business.kakao.com/{채널식별자}/videos/{vid}
  • 등록 가능 상태PUBLIC 또는 PRIVATE 상태의 동영상만 등록할 수 있습니다.

동영상 상태 코드

조회·등록 응답의 status 값입니다.

status설명
REGISTERED업로드 등록됨
ENCODING인코딩 중
PUBLIC공개 — 발송·템플릿 등록 가능
PRIVATE비공개 — 템플릿 등록만 가능
VIOLATED정책 위반 동영상
ILLEGAL불법촬영물 동영상
DELETED삭제된 동영상
ERROR업로드·인코딩 중 에러 발생

동영상 업로드 등록

POST/api/comm/v1/center/brandmessage/video/upload/register

브랜드메시지에 사용할 동영상의 업로드를 등록하고, 카카오 업로드 채널 정보를 발급받습니다. 이 API는 업로드 채널만 발급하며, 실제 파일 전송은 응답으로 받은 uploadUrl로 직접 수행해야 합니다.

Body Parameters

{} JSON

senderKey

필수String

발신프로필 키입니다. max: 40

fileName

필수String

업로드할 동영상 파일 이름입니다.

fileSize

필수Number

업로드할 동영상 파일 크기입니다. 단위: byte

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/video/upload/register" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "senderKey": "{senderKey}",
6 "fileName": "brand-promotion.mp4",
7 "fileSize": 4075447
8 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "video": {
13 "vid":"rvuzx2fkv08xrgrrhuwsc151z",
14 "uploadUrl":"https://up03-kamp.kakao.com/v4/upload/rvuzx2fkv08xrgrrhuwsc151z/open",
15 "token":"zXupsa4sM18oTL-..."
16 }
17 }
18 }
19 }
20}

기존 동영상 등록

POST/api/comm/v1/center/brandmessage/video/register

카카오톡 채널에 이미 업로드되어 있는 동영상을 재업로드 없이 브랜드메시지 발송용으로 등록합니다. 업로드 채널을 발급받는 동영상 업로드 등록과는 별개의 API이며, 동영상 식별은 vid 또는 videoUrl 중 하나로만 지정합니다.

Body Parameters

{} JSON

senderKey

필수String

발신프로필 키입니다. max: 40

vid

String

등록할 동영상 식별자입니다. videoUrl과 함께 사용할 수 없습니다.

videoUrl

String

등록할 채널 동영상 URL입니다. vid와 함께 사용할 수 없습니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/video/register" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "senderKey": "{senderKey}",
6 "vid": "rvhyrk8x0dqp0d8oiyc1w2m9t"
7 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "video": {
13 "vid":"rvhyrk8x0dqp0d8oiyc1w2m9t",
14 "status":"PUBLIC",
15 "title":"도시",
16 "thumbnailUrl":"https://thumb.kakaocdn.net/.../2.jpg",
17 "videoUrl":"https://business.kakao.com/_jIxmCs/videos/1090870"
18 }
19 }
20 }
21 }
22}

동영상 조회

GET/api/comm/v1/center/brandmessage/video

동영상 식별자를 기준으로 업로드된 동영상 한 건의 처리 상태와 메타 정보를 조회합니다.

Query Parameters

vid

필수String

조회할 동영상 식별자입니다.

senderKey

필수String

발신프로필 키입니다. max: 40

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/video?vid={vid}&senderKey={senderKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "video": {
13 "vid":"rvuzx2fkv08xrgrrhuwsc151z",
14 "status":"PUBLIC",
15 "title":"brand-promotion",
16 "thumbnailUrl":"https://thumb.kakaocdn.net/.../2.jpg",
17 "videoUrl":"https://business.kakao.com/_jIxmCs/videos/1079462"
18 }
19 }
20 }
21 }
22}

동영상 목록 조회

GET/api/comm/v1/center/brandmessage/video/list

발신프로필 기준으로 업로드한 동영상 이력을 목록으로 조회합니다. 등록일자로 필터링하고 offset과 limit으로 페이징할 수 있습니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다. max: 40

date

String

조회할 등록일자입니다. 미지정 시 전체를 조회합니다. 형식: yyyyMMdd

offset

Number

조회 시작 위치입니다. 음수는 사용할 수 없습니다. default: 0

limit

Number

조회 건수입니다. default: 100, max: 1000

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/video/list?senderKey={senderKey}&date=20260624&offset=0&limit=100" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "offset": 0,
12 "limit": 100,
13 "totalCount": 1,
14 "videos": [{
15 "vid":"rvuzx2fkv08xrgrrhuwsc151z",
16 "senderKey":"{senderKey}",
17 "fileName":"brand-promotion.mp4",
18 "fileSize": 4075447,
19 "status":"PUBLIC",
20 "title":"brand-promotion",
21 "thumbnailUrl":"https://thumb.kakaocdn.net/.../2.jpg",
22 "videoUrl":"https://business.kakao.com/_jIxmCs/videos/1079462",
23 "modifiedAt":"2026-06-24 15:53:05",
24 "regDate":"2026-06-24 15:52:29",
25 "updateDate":"2026-06-24 15:53:05"
26 }]
27 }
28 }
29}

기본형 템플릿 관리

기본형 브랜드메시지 발송에 사용하는 템플릿을 조회하고 등록, 수정, 삭제합니다. 이미지가 필요한 유형은 이미지 파일 관리 API로 먼저 imgUrl을 발급받아 사용합니다.

템플릿 조회

GET/api/comm/v1/center/brandmessage/template

발신프로필 키와 템플릿 코드를 기준으로 브랜드메시지 템플릿 상세 정보를 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

templateCode

필수String

템플릿 코드입니다.

sendType

String

브랜드메시지 발송 타입입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/template?senderKey={senderKey}&templateCode={templateCode}&sendType=basic" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "senderKey":"{senderKey}",
13 "sendType":"basic",
14 "templateCode":"{templateCode}",
15 "msgType":"FT",
16 "text":"#{customerName}, 혜택을 확인해 주세요.",
17 "pushAlarm":"Y",
18 "createAt":"2026-04-24T10:42:34+09:00",
19 "modifiedAt":"2026-04-24T10:42:34+09:00",
20 "status":"A"
21 }
22 }
23 }
24}

최근 변경 템플릿 조회

GET/api/comm/v1/center/brandmessage/template/lastModified

지정한 시각 이후 최근 변경된 브랜드메시지 템플릿 목록을 조회합니다. 템플릿 최신화나 내부 동기화 배치 기준으로 사용할 수 있습니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

senderKeyType

String

발신키 유형입니다.

since

String

조회 시작 시각입니다.

page

Integer

페이지 번호입니다.

count

Integer

페이지당 조회 건수입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/template/lastModified?senderKey={senderKey}&senderKeyType=S&since=2026-04-23T09:00:00&page=1&count=100" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "templates": [{
13 "senderKey":"{senderKey}",
14 "senderKeyType":"S",
15 "templateCode":"BRAND_TEXT_001"
16 }]
17 }
18 }
19 }
20}

템플릿 등록

POST/api/comm/v1/center/brandmessage/template

브랜드메시지 템플릿을 등록합니다. 이미지가 필요한 유형은 브랜드메시지 이미지 업로드 API로 발급받은 imgUrl을 함께 사용합니다.

Body Parameters

{} JSON

brandmessage

필수Object

브랜드메시지 템플릿 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/template" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "brandmessage": {
6 "senderKey": "{senderKey}",
7 "sendType": "basic",
8 "templateName": "브랜드 혜택 안내",
9 "msgType": "FT",
10 "text": "#{customerName}님, 새로운 혜택을 확인해 주세요.",
11 "pushAlarm": "Y"
12 }
13 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "senderKey":"{senderKey}",
13 "sendType":"basic",
14 "templateCode":"BRAND_TEXT_001",
15 "msgType":"FT",
16 "text":"#{customerName}, 새로운 혜택을 확인해 주세요.",
17 "pushAlarm":"Y",
18 "createAt":"2026-04-24T10:42:34+09:00",
19 "modifiedAt":"2026-04-24T10:42:34+09:00",
20 "status":"A"
21 }
22 }
23 }
24}

템플릿 수정

PUT/api/comm/v1/center/brandmessage/template

등록된 브랜드메시지 템플릿 정보를 수정합니다. 검수 상태와 카카오 정책에 따라 수정 가능한 범위가 달라질 수 있습니다.

Body Parameters

{} JSON

brandmessage

필수Object

브랜드메시지 템플릿 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/template" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "brandmessage": {
6 "senderKey": "{senderKey}",
7 "sendType": "basic",
8 "templateName": "브랜드 혜택 안내 수정",
9 "msgType": "FT",
10 "text": "#{customerName}님, 업데이트된 혜택을 확인해 주세요.",
11 "pushAlarm": "Y"
12 }
13 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "brandmessage": {
12 "senderKey":"{senderKey}",
13 "sendType":"basic",
14 "templateCode":"BRAND_TEXT_001",
15 "msgType":"FT",
16 "text":"#{customerName}, 업데이트된 혜택을 확인해 주세요.",
17 "pushAlarm":"Y",
18 "createAt":"2026-04-24T10:42:34+09:00",
19 "modifiedAt":"2026-04-24T10:42:34+09:00",
20 "status":"A"
21 }
22 }
23 }
24}

템플릿 삭제

DELETE/api/comm/v1/center/brandmessage/template/senderKey/{senderKey}/templateCode/{templateCode}

발신프로필 키와 템플릿 코드를 기준으로 브랜드메시지 템플릿을 삭제합니다.

Path Parameters

senderKey

필수String

발신프로필 키입니다.

templateCode

필수String

삭제할 템플릿 코드입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/template/senderKey/{senderKey}/templateCode/{templateCode}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

그룹태그 관리

그룹태그는 브랜드메시지 템플릿과 운영 대상을 분류하기 위한 관리 정보입니다. 발신프로필 기준으로 그룹태그를 조회하고 등록, 수정, 삭제할 수 있습니다.

전체 그룹태그 조회

GET/api/comm/v1/center/brandmessage/groupTag/list

발신프로필 키를 기준으로 브랜드메시지 전체 그룹태그 목록을 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupTag/list?senderKey={senderKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "groupTags": [{
12 "groupTagKey":"{groupTagKey}",
13 "groupTagName":"VIP 고객"
14 }]
15 }
16 }
17}

그룹태그 조회

GET/api/comm/v1/center/brandmessage/groupTag

발신프로필 키와 그룹태그 키를 기준으로 브랜드메시지 그룹태그 상세 정보를 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

groupTagKey

필수String

그룹태그 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupTag?senderKey={senderKey}&groupTagKey={groupTagKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "groupTags": [{
12 "groupTagKey":"{groupTagKey}",
13 "groupTagName":"VIP 고객"
14 }]
15 }
16 }
17}

그룹태그 등록

POST/api/comm/v1/center/brandmessage/groupTag

브랜드메시지 그룹태그를 등록합니다.

Body Parameters

{} JSON

groupTag

필수Object

브랜드메시지 그룹태그 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupTag" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "groupTag": {
6 "groupTagKey": "VIP_CUSTOMER",
7 "groupTagName": "VIP 고객"
8 }
9 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "groupTags": [{
12 "groupTagKey":"VIP_CUSTOMER",
13 "groupTagName":"VIP 고객"
14 }]
15 }
16 }
17}

그룹태그 수정

PUT/api/comm/v1/center/brandmessage/groupTag

등록된 브랜드메시지 그룹태그 정보를 수정합니다.

Body Parameters

{} JSON

groupTag

필수Object

브랜드메시지 그룹태그 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupTag" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "groupTag": {
6 "groupTagKey": "VIP_CUSTOMER",
7 "groupTagName": "VIP 고객 수정"
8 }
9 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "groupTags": [{
12 "groupTagKey":"VIP_CUSTOMER",
13 "groupTagName":"VIP 고객 수정"
14 }]
15 }
16 }
17}

그룹태그 삭제

DELETE/api/comm/v1/center/brandmessage/groupTag/senderKey/{senderKey}/groupTagKey/{groupTagKey}

발신프로필 키와 그룹태그 키를 기준으로 브랜드메시지 그룹태그를 삭제합니다.

Path Parameters

senderKey

필수String

발신프로필 키입니다.

groupTagKey

필수String

삭제할 그룹태그 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/groupTag/senderKey/{senderKey}/groupTagKey/{groupTagKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

친구 그룹 관리

친구 그룹은 발신프로필 기준으로 친구 대상을 그룹화해 기본형 동보발송에 활용하는 관리 기능입니다. 파일 업로드나 전화번호 배열로 그룹을 생성하고, 그룹별 전화번호를 추가, 삭제할 수 있습니다.

친구 그룹 파일 업로드

POST/api/comm/v1/center/brandmessage/friendGroup/file

전화번호 목록 파일을 업로드해 친구 그룹 등록 또는 전화번호 추가·삭제에 사용할 임시 파일 키를 발급받습니다.

Body Parameters

FORM-DATA

senderKey

필수String

발신프로필 키입니다.

file

필수Binary

업로드할 전화번호 목록 파일입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/friendGroup/file" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: multipart/form-data" \
4 -F "senderKey={senderKey}" \
5 -F "file=@friend-group.csv"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "friendGroup": {
12 "fileKey":"{fileKey}",
13 "expiredAt":"2026-04-10 14:03:25"
14 }
15 }
16 }
17}

친구 그룹 등록

POST/api/comm/v1/center/brandmessage/friendGroup

친구 그룹을 생성합니다. fileKey 또는 phoneNumbers를 이용해 그룹에 포함할 전화번호 목록을 함께 등록할 수 있습니다.

Body Parameters

{} JSON

friendGroup

필수Object

친구 그룹 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/friendGroup" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "friendGroup": {
6 "senderKey": "{senderKey}",
7 "friendGroupKey": "VIP_CUSTOMERS",
8 "phoneNumbers": [
9 "01000000000",
10 "01000000001"
11 ]
12 }
13 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "friendGroup": {
12 "friendGroupKey":"VIP_CUSTOMERS",
13 "requestId": 1203981,
14 "status":"IN_PROGRESS",
15 "createdAt":"2026-04-09 15:10:00",
16 "modifiedAt":"2026-04-09 15:10:00"
17 }
18 }
19 }
20}

친구 그룹 조회

GET/api/comm/v1/center/brandmessage/friendGroup

발신프로필 키와 친구 그룹 키를 기준으로 친구 그룹 상세 정보를 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

friendGroupKey

필수String

친구 그룹 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/friendGroup?senderKey={senderKey}&friendGroupKey=VIP_CUSTOMERS" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "friendGroup": {
12 "friendGroupKey":"VIP_CUSTOMERS",
13 "userCount": 12000,
14 "friendCount": 11540,
15 "status":"COMPLETED",
16 "createdAt":"2026-04-09 15:10:00",
17 "modifiedAt":"2026-04-09 15:12:25"
18 }
19 }
20 }
21}

친구 그룹 목록 조회

GET/api/comm/v1/center/brandmessage/friendGroup/list

발신프로필 기준으로 등록된 친구 그룹 목록을 조회합니다.

Query Parameters

senderKey

필수String

발신프로필 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/friendGroup/list?senderKey={senderKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "friendGroups": [{
12 "friendGroupKey":"VIP_CUSTOMERS",
13 "userCount": 12000,
14 "friendCount": 11540,
15 "status":"COMPLETED",
16 "createdAt":"2026-04-09 15:10:00",
17 "modifiedAt":"2026-04-09 15:12:25"
18 }]
19 }
20 }
21}

친구 그룹 삭제

DELETE/api/comm/v1/center/brandmessage/friendGroup/senderKey/{senderKey}/friendGroupKey/{friendGroupKey}

발신프로필 키와 친구 그룹 키를 기준으로 친구 그룹을 삭제합니다.

Path Parameters

senderKey

필수String

발신프로필 키입니다.

friendGroupKey

필수String

삭제할 친구 그룹 키입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/friendGroup/senderKey/{senderKey}/friendGroupKey/{friendGroupKey}" \
2 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}

친구 그룹 내 전화번호 추가

POST/api/comm/v1/center/brandmessage/friendGroup/phoneNumber/update

기존 친구 그룹에 전화번호 목록을 추가합니다. fileKey 또는 phoneNumbers를 이용해 입력할 수 있습니다.

Body Parameters

{} JSON

friendGroup

필수Object

친구 그룹 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/friendGroup/phoneNumber/update" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "friendGroup": {
6 "senderKey": "{senderKey}",
7 "friendGroupKey": "VIP_CUSTOMERS",
8 "phoneNumbers": [
9 "01000000002",
10 "01000000003"
11 ]
12 }
13 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "friendGroup": {
12 "friendGroupKey":"VIP_CUSTOMERS",
13 "requestId": 1203982,
14 "status":"IN_PROGRESS",
15 "createdAt":"2026-04-09 15:15:00",
16 "modifiedAt":"2026-04-09 15:15:00"
17 }
18 }
19 }
20}

친구 그룹 내 전화번호 삭제

POST/api/comm/v1/center/brandmessage/friendGroup/phoneNumber/delete

기존 친구 그룹에서 전화번호 목록을 삭제합니다. fileKey 또는 phoneNumbers를 이용해 입력할 수 있습니다.

Body Parameters

{} JSON

friendGroup

필수Object

친구 그룹 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/friendGroup/phoneNumber/delete" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "friendGroup": {
6 "senderKey": "{senderKey}",
7 "friendGroupKey": "VIP_CUSTOMERS",
8 "phoneNumbers": [
9 "01000000003"
10 ]
11 }
12 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "friendGroup": {
12 "friendGroupKey":"VIP_CUSTOMERS",
13 "requestId": 1203983,
14 "status":"IN_PROGRESS",
15 "createdAt":"2026-04-09 15:18:00",
16 "modifiedAt":"2026-04-09 15:18:00"
17 }
18 }
19 }
20}

광고성 정보 수신동의 관리

광고성 브랜드메시지 발송에 필요한 수신동의 증적자료를 발신프로필 기준으로 업로드합니다.

증적자료 파일 업로드

POST/api/comm/v1/center/brandmessage/marketingAgree

광고성 정보 수신동의를 입증하는 증적자료 파일을 업로드합니다. 업로드된 파일은 발신프로필 기준으로 관리되며, 응답으로 받은 파일 키와 URL로 등록 결과를 확인할 수 있습니다.

Body Parameters

FORM-DATA

senderKey

필수String

발신프로필 키입니다. max: 40

file

필수Binary

업로드할 증적자료 파일입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/marketingAgree" \
2 -H "Authorization: {ApiKey}" \
3 -F "senderKey={senderKey}" \
4 -F "file=@/path/marketing-agree.pdf"

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success",
10 "data": {
11 "marketingAgree": {
12 "fileKey":"{fileKey}",
13 "fileUrl":"https://mud-kage.kakao.com/.../marketing-agree.pdf"
14 }
15 }
16 }
17}

무료수신거부 관리

브랜드메시지 광고성 안내에 필요한 무료수신거부 정보를 발신프로필 기준으로 관리합니다.

발신프로필 무료수신거부 정보 입력

POST/api/comm/v1/center/brandmessage/unSubscribeContent

발신프로필의 무료수신거부 전화번호와 인증번호를 등록합니다. 광고성 메시지 하단의 무료수신거부 안내에 사용할 수 있습니다.

Body Parameters

{} JSON

brandmessage

필수Object

무료수신거부 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/brandmessage/unSubscribeContent" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "brandmessage": {
6 "senderKey": "{senderKey}",
7 "unsubscribePhoneNumber": "080-1234-1234",
8 "unsubscribeAuthNumber": "12345"
9 }
10 }'

응답 예시

1{
2 "common": {
3 "authCode":"A000",
4 "authResult":"Success",
5 "infobankTrId":"Infobank-Tracking-Id"
6 },
7 "data": {
8 "code":"A000",
9 "result":"Success"
10 }
11}