RCS 메시지

RCS 메시지는 버튼, 카드, 이미지 등 리치 메시지를 지원하는 채널 API입니다.

통합 RCS 발송

POST/api/comm/v1/send/omni

통합 RCS는 iOS와 안드로이드를 함께 지원하는 발송 방식입니다. 기존 연동 유지 목적이 아니라면 통합 RCS와 안드로이드 RCS 차이를 확인한 뒤 통합 RCS를 우선 사용합니다.

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 "rcs": {
8 "from": "0215991000",
9 "formatId": "RCS_FORMAT_ID",
10 "brandKey": "RCS_BRAND_KEY",
11 "body": {
12 "title": "통합 RCS 안내",
13 "description": "통합 RCS 본문입니다."
14 }
15 }
16 }, {
17 "sms": {
18 "from": "0215991000",
19 "text": "RCS fallback SMS입니다."
20 }
21 }],
22 "ref": "rcs-unified-20260331-001"
23 }'

응답 예시

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": "RCS20260331-000002",
14 "code": "A000",
15 "result": "Success"
16 }]
17 },
18 "ref": "rcs-unified-20260331-001"
19 }
20}

안드로이드 RCS 발송

POST/api/comm/v1/send/omni

안드로이드 RCS는 기존 안드로이드 채팅+ 연동 규격을 유지해야 하는 경우에 사용합니다. 신규 연동 전에는 통합 RCS와 안드로이드 RCS 차이를 먼저 확인합니다.

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 "rcs": {
8 "from": "0215991000",
9 "formatId": "RCS_FORMAT_ID",
10 "brandKey": "RCS_BRAND_KEY",
11 "body": {
12 "title": "RCS 안내",
13 "description": "안드로이드 RCS 메시지입니다."
14 }
15 }
16 }],
17 "ref": "rcs-android-20260331-001"
18 }'

응답 예시

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": "RCS20260331-000001",
14 "code": "A000",
15 "result": "Success"
16 }]
17 },
18 "ref": "rcs-android-20260331-001"
19 }
20}

이미지 업로드

POST/api/comm/v1/file/rcs

RCS 발송 전 이미지를 업로드하고, 발급된 media 값을 messageFlow[].rcs.body.media에 입력해 사용합니다.

Body Parameters

FORM-DATA

file

필수Binary

업로드할 RCS 이미지 파일입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

서비스 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/file/rcs" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: multipart/form-data" \
4 -F "file=@/path/to/rcs-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "media": "RCS_MEDIA_KEY_001",
12 "expired": "2026-03-30T23: 59: 59+09: 00"
13 }
14 }
15}

브랜드 관리

브랜드 상세 조회

GET/api/comm/v1/center/rcs/brand

brandId 기준으로 RCS 브랜드 상세 정보를 조회합니다.

Query Parameters

brandId

?袁⑸땾String

조회할 브랜드 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

API 결과 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/brand?brandId={brandId}" -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "brandId": "{brandId}",
13 "name": "{name}",
14 "brandKey": "{brandKey}",
15 "status": "ready"
16 }
17 }
18 }
19}

브랜드 수정

PUT/api/comm/v1/center/rcs/brand

브랜드 기본 정보와 브랜드 이미지를 수정합니다.

Body Parameters

FORM-DATA

brandId

?袁⑸땾String

수정할 브랜드 ID입니다.

regBrand

?袁⑸땾Object

브랜드 수정 정보입니다.

brandProfile

Binary

브랜드 프로필 이미지 파일입니다.

brandBackground

Binary

브랜드 배경 이미지 파일입니다.

seasonDocFile

Binary

시즌성 증빙 파일입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

API 결과 영역입니다.

요청 예시

1curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/rcs/brand" -H "Authorization: {ApiKey}" -F "brandId={brandId}" -F 'regBrand={
2 "name": "釉뚮옖?쒕챸",
3 "description": "釉뚮옖???ㅻ챸",
4 "tel": "0212345678",
5 "webSiteUrl": "https://www.example.com"
6 }' -F "brandProfile=@brand-profile.png"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "brandId": "{brandId}",
13 "name": "{name}",
14 "brandKey": "{brandKey}",
15 "status": "ready"
16 }
17 }
18 }
19}

공통 포맷 관리

공통 포맷 조회

GET/api/comm/v1/center/rcs/messagebase/common/list

RCS에서 사용할 수 있는 공통 포맷 목록을 조회합니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/common/list" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "messageForms": [
13 {
14 "messagebaseformId": "RPISMTX002",
15 "formName": "모바일 상품권 전송 T",
16 "bizCondition": [],
17 "cardType": "standalone media top",
18 "registerDate": "2026-02-05T17: 59: 20",
19 "updateDate": "2026-02-05T18: 37: 56"
20 }
21 ]
22 }
23 }
24 }
25}

공통 포맷 상세 조회

GET/api/comm/v1/center/rcs/messagebase/common

메시지베이스 ID를 기준으로 RCS 공통 포맷 상세 정보를 조회합니다.

Query Parameters

messagebaseId

필수String

조회할 메시지베이스 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/common?messagebaseId={messagebaseId}" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "messageForm": {
13 "formatId": "RPTDXXX001",
14 "templateName": "통합 정보형 템플릿",
15 "body": [],
16 "buttons": {
17 "suggestions": []
18 },
19 "policyInfo": {
20 "buttonsAllowed": true,
21 "maxButtonCount": 2
22 }
23 }
24 }
25 }
26 }
27}

템플릿 관리

템플릿 양식 목록 조회

GET/api/comm/v1/center/rcs/messagebase/messagebaseform/list

RCS 템플릿 등록에 사용할 수 있는 템플릿 양식 목록을 조회합니다.

Query Parameters

offset

Integer

조회 시작 위치입니다.

default: 0

limit

Integer

조회 최대 건수입니다.

min: 100 max: 1000 default: 100

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/messagebaseform/list?offset=0&limit=100" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "messageForms": [
13 {
14 "messagebaseformId": "RPISMTX002",
15 "formName": "모바일 상품권 전송 T",
16 "bizCondition": [],
17 "cardType": "standalone media top"
18 }
19 ]
20 }
21 }
22 }
23}

템플릿 양식 상세 조회

GET/api/comm/v1/center/rcs/messagebase/messagebaseform

템플릿 양식 ID를 기준으로 템플릿 양식 상세 정보를 조회합니다.

Query Parameters

messagebaseformId

필수String

메시지양식 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/messagebaseform?messagebaseformId={messagebaseformId}" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "messageForm": {
13 "formatId": "RPTDXXX001",
14 "templateName": "통합 정보형 템플릿",
15 "body": [],
16 "buttons": []
17 }
18 }
19 }
20 }
21}

템플릿 목록 조회

GET/api/comm/v1/center/rcs/messagebase/list

브랜드 ID를 기준으로 등록된 RCS 템플릿 목록을 조회합니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/list" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "templates": [
13 {
14 "messagebaseId": "{messagebaseId}",
15 "formatId": "RPTDXXX001",
16 "templateName": "통합 정보형 템플릿",
17 "status": "ready",
18 "approvalResult": "approved"
19 }
20 ]
21 }
22 }
23 }
24}

템플릿 상세 조회

GET/api/comm/v1/center/rcs/messagebase/messagebaseform

메시지양식 ID를 기준으로 등록된 RCS 템플릿 상세 정보를 조회합니다.

Query Parameters

messagebaseformId

필수String

메시지양식 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/messagebaseform?messagebaseformId={messagebaseformId}" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "messageForm": {
13 "formatId": "RPTDXXX001",
14 "templateName": "통합 정보형 템플릿",
15 "body": [],
16 "buttons": []
17 }
18 }
19 }
20 }
21}

템플릿 등록

POST/api/comm/v1/center/rcs/messagebase

브랜드에 RCS 템플릿을 등록합니다.

Body Parameters

rcs

필수Object

RCS 템플릿 요청 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}" \
4 -d '{
5 "rcs": {
6 "brandId": "{brandId}",
7 "templateId": "{templateId}",
8 "templateName": "발송 안내 템플릿",
9 "body": [],
10 "buttons": []
11 }
12}'

응답 예시

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

템플릿 수정

PUT/api/comm/v1/center/rcs/messagebase

등록된 RCS 템플릿 정보를 수정합니다.

Body Parameters

rcs

필수Object

RCS 템플릿 요청 정보입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}" \
4 -d '{
5 "rcs": {
6 "brandId": "{brandId}",
7 "templateId": "{templateId}",
8 "templateName": "발송 안내 템플릿",
9 "body": [],
10 "buttons": []
11 }
12}'

응답 예시

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

템플릿 승인 취소

PUT/api/comm/v1/center/rcs/brandId/{brandId}/messagebaseId/{messagebaseId}/cancel

승인 진행 중인 RCS 템플릿의 승인 요청을 취소합니다.

Path Parameters

brandId

필수String

브랜드 ID입니다.

messagebaseId

필수String

메시지베이스 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X PUT "https://mars.ibapi.kr/api/comm/v1/center/rcs/brandId/{brandId}/messagebaseId/{messagebaseId}/cancel" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

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

템플릿 삭제

DELETE/api/comm/v1/center/rcs/brandId/{brandId}/messagebaseId/{messagebaseId}

등록된 RCS 템플릿을 삭제합니다.

Path Parameters

brandId

필수String

브랜드 ID입니다.

messagebaseId

필수String

메시지베이스 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X DELETE "https://mars.ibapi.kr/api/comm/v1/center/rcs/brandId/{brandId}/messagebaseId/{messagebaseId}" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: {ApiKey}"

응답 예시

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

템플릿 이미지 관리

템플릿 이미지 등록

POST/api/comm/v1/center/rcs/messagebase/file

RCS 템플릿 등록에 사용할 이미지를 업로드하고 템플릿 파일 ID를 발급받습니다.

Body Parameters

FORM-DATA

brandId

필수String

브랜드 ID입니다.

file

필수Binary

템플릿 등록에 사용할 이미지 파일 바이너리입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X POST "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/file" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: multipart/form-data" \
4 -F "brandId={brandId}" \
5 -F "file=@/path/to/template-image.jpg"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "image": {
13 "fileId": "{fileId}",
14 "fileName": "template-image.jpg",
15 "url": "https://example.com/template-image.jpg",
16 "imageWidth": 900,
17 "imageHeight": 900
18 }
19 }
20 }
21 }
22}

템플릿 이미지 상세 조회

GET/api/comm/v1/center/rcs/messagebase/file

브랜드 ID와 템플릿 파일 ID를 기준으로 템플릿 이미지 상세 정보를 조회합니다.

Query Parameters

brandId

필수String

브랜드 ID입니다.

fileId

필수String

템플릿 파일 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/file?brandId={brandId}&fileId={fileId}" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "image": {
13 "fileId": "{fileId}",
14 "fileName": "template-image.jpg",
15 "url": "https://example.com/template-image.jpg",
16 "imageWidth": 900,
17 "imageHeight": 900
18 }
19 }
20 }
21 }
22}

템플릿 양식 로고 이미지 조회

GET/api/comm/v1/center/rcs/messagebase/messagebaseform/logo

템플릿 양식 ID를 기준으로 템플릿 양식에서 사용할 수 있는 로고 이미지 목록을 조회합니다.

Query Parameters

messagebaseformId

필수String

메시지양식 ID입니다.

Returns

common

Object

공통 응답 영역입니다.

data

Object

상품 응답 영역입니다.

요청 예시

1curl -X GET "https://mars.ibapi.kr/api/comm/v1/center/rcs/messagebase/messagebaseform/logo?messagebaseformId={messagebaseformId}" \
2 -H "Authorization: {ApiKey}" \
3 -H "Content-Type: application/json"

응답 예시

1{
2 "common": {
3 "authCode": "A000",
4 "authResult": "Success",
5 "infobankTrId": "header-value-X-Infobank-Tracking-Id"
6 },
7 "data": {
8 "code": "A000",
9 "result": "Success",
10 "data": {
11 "rcs": {
12 "images": [
13 {
14 "fileId": "{fileId}",
15 "fileName": "template-logo.png",
16 "imageWidth": 900,
17 "imageHeight": 900
18 }
19 ]
20 }
21 }
22 }
23}