RAPIv1.2

비즈뿌리오 RAPI

공통 사항

RCS 자원 관리 API (RAPI) — RCS 메시지 발송에 필요한 브랜드·챗봇·파일·메시지베이스를 등록·조회·수정·삭제하는 관리 API.

NOTE: RAPI 는 RCS 메시지를 발송하지 않습니다. 발송은 메시지 API 또는 BIZCLIENT 를 사용합니다.

연동 규격

항목
프로토콜 HTTPS
도메인 https://rapi.bizppurio.com/
메서드 POST 전용
인코딩 UTF-8
Content-Type application/json; charset=utf-8
인증 Bearer 토큰 (Authorization: Bearer {accessToken})

인증 흐름

고객사비즈뿌리오 서버(rapi.bizppurio.com)① POST /rcsapi/v1/token — bizId + apiKey② accessToken(1시간) + refreshToken + expiresIn③ 후속 호출 — Authorization: Bearer {accessToken}④ 만료 직전 POST /rcsapi/v1/refresh_token — 재발급만료 직전 refreshToken 으로 access 재발급 (재로그인 불필요)

자세한 토큰 발급은 토큰 API 를 참고하세요.

공통 응답 형식

{ "code": "0000", "message": "Success", "data": { ... } }
필드 설명
code 결과 코드 (0000 = 성공)
message 결과 메시지
data 성공 시 응답 본문 (엔드포인트별 상이)

NOTE: RAPI 결과 코드는 RCS 메시지 발송 결과 코드 (8000 / 8200 / 8800 등) 와 별개입니다. 발송 결과는 전송 결과 코드를 참고하세요.

Rate Limit

  • 본 API 자체에 별도 명시된 Rate Limit 은 없으나, 비정상 다회 호출 시 일시 차단될 수 있습니다.
  • 토큰 발급 API 는 IP 단위 별도 제한이 있을 수 있으니 토큰 캐싱 권장.

자원 ↔ 발송 연결

RAPI 로 등록·관리하는 자원은 다음과 같이 메시지 API / BIZCLIENT 에서 사용됩니다.

RAPI 에서 등록·관리 RCS 발송에서 사용
챗봇 ID (chatbotId) API content.rcs.chatbotid / BIZCLIENT BIZ_RCS.CHATBOT_ID
브랜드 키 (brandKey) API content.rcs.brandkey / BIZCLIENT BIZ_RCS.BRAND_KEY
메시지베이스 ID (messagebaseId) API content.rcs.messagebaseid / BIZCLIENT BIZ_RCS.MESSAGEBASE_ID
등록된 이미지 (fileId) API content.rcs.message.media (maapfile://{fileId} 형식)
대행사 키 (agencyKey) API content.rcs.agencykey / BIZCLIENT BIZ_RCS.AGENCY_KEY

자원 의존 관계

브랜드챗봇chatbotId파일fileId메시지베이스messagebaseIdRCS 발송 시content.rcs.chatbotidRCS 발송 시media = "maapfile://{fileId}"RCS 발송 시content.rcs.messagebaseid

토큰

RAPI 는 bizId + apiKey 로 인증 토큰을 발급받은 뒤 후속 호출에 사용합니다.

  • 도메인: https://rapi.bizppurio.com/
  • 인증 토큰 발급 후 Authorization: Bearer {accessToken} 헤더 첨부
  • 만료 직전에 refreshToken 으로 재발급하도록 운영하세요.
post/rcsapi/v1/token

인증 토큰 생성

bizId + apiKey 를 본문에 담아 호출하여 RAPI 인증 토큰을 발급받습니다.

  • accessToken 은 후속 RAPI 호출 시 Authorization: Bearer {accessToken} 형식으로 첨부합니다.
  • refreshToken토큰 재발급 호출에 사용합니다.
  • 만료 직전에 재발급하도록 운영하세요. 만료된 토큰은 후속 호출에서 인증 오류가 발생합니다.
요청 본문
파라미터타입필수설명
bizIdstring필수
비즈뿌리오 사용자 ID
apiKeystring필수
발급받은 API Key
curl -X POST "https://rapi.bizppurio.com/rcsapi/v1/token" \
  -H "Content-Type: application/json" \
  -d '{
  "bizId": "bizUserId001",
  "apiKey": "[발급 받은 API Key]"
}'
응답
200토큰 발급 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
accessTokenstring필수
인증 토큰
expiresIninteger필수
만료 시간 (unixtime)
refreshTokenstring필수
리프레시 토큰
응답 · 200
{
  "code": "200",
  "data": {
    "accessToken": "[인증 토큰]",
    "expiresIn": 1568694883,
    "refreshToken": "[리프레시 토큰]"
  }
}
post/rcsapi/v1/refresh_token

인증 토큰 재생성

만료되거나 만료 임박한 accessTokenrefreshToken 으로 재발급합니다.
응답 구조는 토큰 생성 과 동일하며, 새로운 accessToken / expiresIn / refreshToken 이 발급됩니다.

요청 본문
파라미터타입필수설명
accessTokenstring필수
만료되거나 만료 임박한 인증 토큰
refreshTokenstring필수
인증 토큰 생성 시 받은 리프레시 토큰
curl -X POST "https://rapi.bizppurio.com/rcsapi/v1/refresh_token" \
  -H "Content-Type: application/json" \
  -d '{
  "accessToken": "string",
  "refreshToken": "string"
}'
응답
200재발급 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
accessTokenstring필수
인증 토큰
expiresIninteger필수
만료 시간 (unixtime)
refreshTokenstring필수
리프레시 토큰
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "accessToken": "string",
    "expiresIn": 0,
    "refreshToken": "string"
  }
}

브랜드

이미 BizCenter(RBC) 에 등록된 브랜드를 비즈뿌리오 파트너에 연동하고 상세 정보를 조회합니다.

브랜드 자체 등록·수정·삭제 승인은 기업 전용 브랜드 관리 에서 처리됩니다.

post/rcsapi/v1/brand/link

브랜드 연동

BizCenter(RBC) 에 등록된 브랜드를 현재 파트너에 연동합니다.

브랜드 자체 등록·수정·삭제 승인은 기업 전용 브랜드 관리 를 참고하세요.

요청 본문
파라미터타입필수설명
brandIdstring필수
BizCenter 에서 생성한 브랜드 ID
brandKeystring필수
BizCenter 에서 기업 관리자가 발급하여 대행사에 전달한 브랜드 Key
curl -X POST "{baseUrl}/rcsapi/v1/brand/link" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "brandKey": "string"
}'
응답
200연동 성공 — `data` 는 [브랜드 상세](#operation/rapiGetBrand) 와 동일한 객체
파라미터타입필수설명
codestring필수
messagestring
dataobject
브랜드 상세
brandIdstring
브랜드 ID
brandKeystring
브랜드 Key
partnerIdstring
파트너 아이디
namestring
브랜드 명
statusstring
브랜드 상태
registerDatestring
브랜드 등록일시
updateDatestring
브랜드 최종 수정일시
linkDatestring
파트너 연동일시
chatbotDatestring
챗봇 최종 수정일시
messagebaseDatestring
템플릿 최종 수정일시
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "brandId": "string",
    "brandKey": "string",
    "partnerId": "string",
    "name": "string",
    "status": "string",
    "registerDate": "string",
    "updateDate": "string",
    "linkDate": "string",
    "chatbotDate": "string",
    "messagebaseDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/brand

브랜드 연동 상세 조회

해당 파트너와 연동된 브랜드를 조회합니다.

RAPI 는 대부분 POST 이지만 이 엔드포인트는 GET 입니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/brand" \
  -H "Authorization: Bearer {accessToken}"
응답
200브랜드 상세
파라미터타입필수설명
codestring필수
messagestring
dataobject
브랜드 상세
brandIdstring
브랜드 ID
brandKeystring
브랜드 Key
partnerIdstring
파트너 아이디
namestring
브랜드 명
statusstring
브랜드 상태
registerDatestring
브랜드 등록일시
updateDatestring
브랜드 최종 수정일시
linkDatestring
파트너 연동일시
chatbotDatestring
챗봇 최종 수정일시
messagebaseDatestring
템플릿 최종 수정일시
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "brandId": "string",
    "brandKey": "string",
    "partnerId": "string",
    "name": "string",
    "status": "string",
    "registerDate": "string",
    "updateDate": "string",
    "linkDate": "string",
    "chatbotDate": "string",
    "messagebaseDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}

챗봇

브랜드 산하의 챗봇(chatbotId) CRUD + 목록·상세 조회 (5개 엔드포인트).

RCS 메시지 발송 시 챗봇 ID 는 chatbotid 필드로 사용됩니다. A2P 챗봇의 경우 chatbotId 는 발신번호와 동일하며, CHAT 서비스의 경우 별도 ID 가 발급됩니다.

post/rcsapi/v1/brand/chatbot/create

챗봇 등록

브랜드 내에서 사용할 챗봇을 등록합니다. 등록된 챗봇은 브랜드 포털 관리자의 승인 후 사용 가능합니다.

A2P 챗봇의 경우 chatbotId 는 발신번호와 동일합니다. CHAT 서비스의 경우 별도 ID 가 발급됩니다.

요청 본문
파라미터타입필수설명
brandIdstring필수
BizCenter 에서 생성한 브랜드 ID
mdnstring필수
등록할 발신번호 (국가번호 생략)
rcsReplystring필수
수신모드 설정 — SMS MO:0 / RCS Postback:1
= 0 | 1
subTitlestring필수
챗봇 명
subNumCertificatestring <binary>필수
통신 서비스 이용 증명원 파일
displaystring
전시 여부
servicestring
A2P/CHAT 서비스 유형
subNumstring
챗봇 ID (A2P 의 경우 발신번호와 동일)
webhookstring
service 가 chat 인 경우 필수 (URL)
curl -X POST "{baseUrl}/rcsapi/v1/brand/chatbot/create" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "mdn": "string",
  "rcsReply": "0",
  "subTitle": "string",
  "subNumCertificate": "{binary}",
  "display": "string",
  "service": "string",
  "subNum": "string",
  "webhook": "string"
}'
응답
200등록 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
챗봇 요약 (목록용)
chatbotIdstring
챗봇 ID
brandIdstring
subNumstring
회신번호
subTitlestring
챗봇 명
displaystring
전시 상태
isMainNumboolean
대표번호 여부
groupIdstring
그룹 ID
approvalResultstring
승인 상태
approvalDatestring
챗봇 승인 일시
registerDatestring
챗봇 등록 일시
updateDatestring
챗봇 수정일시
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "chatbotId": "string",
    "brandId": "string",
    "subNum": "string",
    "subTitle": "string",
    "display": "string",
    "isMainNum": true,
    "groupId": "string",
    "approvalResult": "string",
    "approvalDate": "string",
    "registerDate": "string",
    "updateDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/brand/chatbot/update

챗봇 수정

챗봇을 수정합니다. 승인 상태에 따라 처리 여부가 결정됩니다 (저장 / 반려 / 승인 상태).

요청 본문
파라미터타입필수설명
brandIdstring필수
BizCenter 에서 생성한 브랜드 ID
mdnstring필수
등록할 발신번호 (국가번호 생략)
rcsReplystring필수
수신모드 설정 — SMS MO:0 / RCS Postback:1
= 0 | 1
subTitlestring필수
챗봇 명
subNumCertificatestring <binary>필수
통신 서비스 이용 증명원 파일
displaystring
전시 여부
servicestring
A2P/CHAT 서비스 유형
subNumstring
챗봇 ID (A2P 의 경우 발신번호와 동일)
webhookstring
service 가 chat 인 경우 필수 (URL)
chatbotIdstring필수
수정 대상 챗봇 ID
curl -X POST "{baseUrl}/rcsapi/v1/brand/chatbot/update" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "mdn": "string",
  "rcsReply": "0",
  "subTitle": "string",
  "subNumCertificate": "{binary}",
  "display": "string",
  "service": "string",
  "subNum": "string",
  "webhook": "string",
  "chatbotId": "string"
}'
응답
200수정 성공 — `data` 는 풀 필드 셋 (`approvalReason` / `botTcPage` / `mediaUrl` / `registerId` / `searchWeight` / `service` / `webhook` 포함)
파라미터타입필수설명
codestring필수
messagestring
dataallOf
chatbotIdstring
챗봇 ID
brandIdstring
subNumstring
회신번호
subTitlestring
챗봇 명
displaystring
전시 상태
isMainNumboolean
대표번호 여부
groupIdstring
그룹 ID
approvalResultstring
승인 상태
approvalDatestring
챗봇 승인 일시
registerDatestring
챗봇 등록 일시
updateDatestring
챗봇 수정일시
approvalReasonstring
승인 사유
botTcPagestring
이용 약관 페이지 URL (수정 불가)
mediaUrlarray<object>
이미지 파일 ID / URL / 사용 유형 배열
registerIdstring
챗봇 등록 계정 ID
updateIdstring
챗봇 수정 계정 ID
searchWeightstring
검색 우선 순위 (수정 불가)
servicestring
A2P/CHAT 서비스 유형
webhookstring
CHAT 서비스 시 webhook URL
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "chatbotId": "string",
    "brandId": "string",
    "subNum": "string",
    "subTitle": "string",
    "display": "string",
    "isMainNum": true,
    "groupId": "string",
    "approvalResult": "string",
    "approvalDate": "string",
    "registerDate": "string",
    "updateDate": "string",
    "approvalReason": "string",
    "botTcPage": "string",
    "mediaUrl": [
      {}
    ],
    "registerId": "string",
    "updateId": "string",
    "searchWeight": "string",
    "service": "string",
    "webhook": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/brand/chatbot/remove

챗봇 삭제

지정한 챗봇을 삭제합니다.

⚠️ 한번 삭제된 챗봇은 복원이 불가능하며, 동일한 ID 로 다시 생성할 수 없습니다. 삭제는 승인 상태에 따라 처리 여부가 결정됩니다 (저장 / 반려 / 승인).

요청 본문
파라미터타입필수설명
brandIdstring필수
BizCenter 에서 생성한 브랜드 ID
chatbotIdstring필수
삭제할 챗봇 ID
curl -X POST "{baseUrl}/rcsapi/v1/brand/chatbot/remove" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "chatbotId": "string"
}'
응답
200삭제 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
chatbotIdstring
삭제된 챗봇 ID
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "chatbotId": "string"
  }
}
get/rcsapi/v1/brand/chatbot/list

챗봇 목록 조회

브랜드에 등록된 챗봇 목록을 페이지네이션으로 조회합니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/brand/chatbot/list" \
  -H "Authorization: Bearer {accessToken}"
응답
200챗봇 목록
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
chatbotIdstring
챗봇 ID
brandIdstring
subNumstring
회신번호
subTitlestring
챗봇 명
displaystring
전시 상태
isMainNumboolean
대표번호 여부
groupIdstring
그룹 ID
approvalResultstring
승인 상태
approvalDatestring
챗봇 승인 일시
registerDatestring
챗봇 등록 일시
updateDatestring
챗봇 수정일시
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "chatbotId": "string",
      "brandId": "string",
      "subNum": "string",
      "subTitle": "string",
      "display": "string",
      "isMainNum": true,
      "groupId": "string",
      "approvalResult": "string",
      "approvalDate": "string",
      "registerDate": "string",
      "updateDate": "string"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/brand/chatbot/info

챗봇 상세 조회

지정 챗봇의 풀 필드 셋을 조회합니다. 응답 구조는 챗봇 수정 응답과 동일합니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/brand/chatbot/info" \
  -H "Authorization: Bearer {accessToken}"
응답
200챗봇 상세
파라미터타입필수설명
codestring필수
messagestring
dataallOf
chatbotIdstring
챗봇 ID
brandIdstring
subNumstring
회신번호
subTitlestring
챗봇 명
displaystring
전시 상태
isMainNumboolean
대표번호 여부
groupIdstring
그룹 ID
approvalResultstring
승인 상태
approvalDatestring
챗봇 승인 일시
registerDatestring
챗봇 등록 일시
updateDatestring
챗봇 수정일시
approvalReasonstring
승인 사유
botTcPagestring
이용 약관 페이지 URL (수정 불가)
mediaUrlarray<object>
이미지 파일 ID / URL / 사용 유형 배열
registerIdstring
챗봇 등록 계정 ID
updateIdstring
챗봇 수정 계정 ID
searchWeightstring
검색 우선 순위 (수정 불가)
servicestring
A2P/CHAT 서비스 유형
webhookstring
CHAT 서비스 시 webhook URL
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "chatbotId": "string",
    "brandId": "string",
    "subNum": "string",
    "subTitle": "string",
    "display": "string",
    "isMainNum": true,
    "groupId": "string",
    "approvalResult": "string",
    "approvalDate": "string",
    "registerDate": "string",
    "updateDate": "string",
    "approvalReason": "string",
    "botTcPage": "string",
    "mediaUrl": [
      {}
    ],
    "registerId": "string",
    "updateId": "string",
    "searchWeight": "string",
    "service": "string",
    "webhook": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}

파일

RCS 메시지에서 사용할 Maap 미디어 파일을 등록·조회합니다 (2개 엔드포인트).

등록된 파일은 fileId 로 식별되며, RCS 발송 시 maapfile://{fileId} 형식으로 참조합니다. 이미지는 등록일로부터 365일 발송 가능합니다.

post/rcsapi/v1/file/send

파일 등록

RCS 메시지에서 사용할 Maap 미디어 파일을 등록합니다.

등록된 파일은 fileId 로 식별되며, RCS 발송 시 maapfile://{fileId} 형식으로 참조합니다.

이미지는 등록일로부터 365일 발송 가능합니다 (이후 자동 삭제). 운영 시 파일 ID 만료 관리가 필요합니다.

요청 본문
파라미터타입필수설명
filestring <binary>필수
업로드 파일
fileIdstring필수
파일 ID
mimeTypestring필수
Mime type (image/jpeg, image/png 등)
usageTypestring필수
사용 타입 — chatbot / messagebase / send
= chatbot | messagebase | send
curl -X POST "{baseUrl}/rcsapi/v1/file/send" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "file": "{binary}",
  "fileId": "string",
  "mimeType": "string",
  "usageType": "chatbot"
}'
응답
200등록 성공 — `data` 는 [파일 상세](#operation/rapiGetFile) 와 동일
파라미터타입필수설명
codestring필수
messagestring
dataobject
파일 상세
fileIdstring
mimeTypestring
usageTypestring
= chatbot | messagebase | send
statusstring
파일 상태
= ready | expired
expiryDatestring
유효 기간
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "fileId": "string",
    "mimeType": "string",
    "usageType": "chatbot",
    "status": "ready",
    "expiryDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/file/info

파일 상세 조회

등록된 Maap 미디어 파일의 상세 정보를 통신사 별로 조회합니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/file/info" \
  -H "Authorization: Bearer {accessToken}"
응답
200파일 상세
파라미터타입필수설명
codestring필수
messagestring
dataobject
파일 상세
fileIdstring
mimeTypestring
usageTypestring
= chatbot | messagebase | send
statusstring
파일 상태
= ready | expired
expiryDatestring
유효 기간
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "fileId": "string",
    "mimeType": "string",
    "usageType": "chatbot",
    "status": "ready",
    "expiryDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}

메시지베이스

메시지베이스(messagebaseId) CRUD + 양식·이통사 기본 제공 조회 (9개 엔드포인트).

메시지베이스는 RCS 메시지의 포맷·카드 수·버튼 수를 결정하는 식별자입니다.

post/rcsapi/v1/brand/msgbase/create

메시지베이스 등록

브랜드 내에서 사용할 메시지베이스(템플릿) 를 등록합니다. 등록된 메시지베이스는 브랜드 포털 관리자의 승인 후 사용 가능합니다.

formattedString메시지베이스 양식 목록 또는 메시지베이스 유형 상세 에서 조회한 양식의 formattedString 을 사용해야 합니다.

요청 본문
파라미터타입필수설명
brandIdstring필수
브랜드 ID
custTmpltIdstring필수
사용자 지정 템플릿 ID (정규식 ^[0-9A-Za-z]{1,25}$)
messagebaseformIdstring필수
메시지베이스 폼 ID (정규식 ^[0-9A-Za-z]{1,10}$)
formattedStringobject필수
메시지베이스 포맷 (양식 조회 결과 사용)
tmpltNamestring필수
메시지베이스 명
curl -X POST "{baseUrl}/rcsapi/v1/brand/msgbase/create" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "custTmpltId": "string",
  "messagebaseformId": "string",
  "formattedString": {},
  "tmpltName": "string"
}'
응답
200등록 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
messagebaseIdstring
메시지베이스 ID
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseId": "string"
  }
}
post/rcsapi/v1/brand/msgbase/update

메시지베이스 수정

지정한 메시지베이스를 수정합니다.

⚠️ 승인 상태에 따라 처리 여부가 결정됩니다 (저장 / 반려 상태). 템플릿 수정 시 기존에 사용된 messagebaseformId동일한 cardType(cell, description) 에 한해 변경 가능합니다.

요청 본문
파라미터타입필수설명
brandIdstring필수
브랜드 ID
custTmpltIdstring필수
사용자 지정 템플릿 ID (정규식 ^[0-9A-Za-z]{1,25}$)
messagebaseformIdstring필수
메시지베이스 폼 ID (정규식 ^[0-9A-Za-z]{1,10}$)
formattedStringobject필수
메시지베이스 포맷 (양식 조회 결과 사용)
tmpltNamestring필수
메시지베이스 명
messagebaseIdstring필수
수정 대상 메시지베이스 ID
curl -X POST "{baseUrl}/rcsapi/v1/brand/msgbase/update" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "custTmpltId": "string",
  "messagebaseformId": "string",
  "formattedString": {},
  "tmpltName": "string",
  "messagebaseId": "string"
}'
응답
200수정 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
messagebaseIdstring
메시지베이스 ID
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseId": "string"
  }
}
post/rcsapi/v1/brand/msgbase/remove

메시지베이스 삭제

지정한 메시지베이스를 삭제합니다.

⚠️ 한번 삭제된 메시지베이스는 복원이 불가능하며, 동일한 ID 로 다시 생성할 수 없습니다.

요청 본문
파라미터타입필수설명
brandIdstring필수
브랜드 ID
messagebaseIdstring필수
삭제 대상 메시지베이스 ID
curl -X POST "{baseUrl}/rcsapi/v1/brand/msgbase/remove" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "messagebaseId": "string"
}'
응답
200삭제 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
messagebaseIdstring
메시지베이스 ID
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseId": "string"
  }
}
get/rcsapi/v1/brand/msgbase/list

메시지베이스 목록 조회

브랜드에 등록된 메시지베이스 목록을 페이지네이션으로 조회합니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/brand/msgbase/list" \
  -H "Authorization: Bearer {accessToken}"
응답
200메시지베이스 목록
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
messagebaseIdstring
messagebaseformIdstring
brandIdstring
groupIdstring
tmpltNamestring
메시지베이스 명
statusstring
메시지베이스 상태
approvalResultstring
승인 상태
approvalReasonstring
승인 사유
approvalDatestring
승인 일시
registerDatestring
registerIdstring
updateDatestring
updateIdstring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "messagebaseId": "string",
      "messagebaseformId": "string",
      "brandId": "string",
      "groupId": "string",
      "tmpltName": "string",
      "status": "string",
      "approvalResult": "string",
      "approvalReason": "string",
      "approvalDate": "string",
      "registerDate": "string",
      "registerId": "string",
      "updateDate": "string",
      "updateId": "string"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/brand/msgbase/info

메시지베이스 상세 조회

지정 메시지베이스의 풀 필드 셋을 조회합니다 (formattedString, attribute, cardType, params, guideInfo, policyInfo, spec 등 포함).

cURL
curl -X GET "{baseUrl}/rcsapi/v1/brand/msgbase/info" \
  -H "Authorization: Bearer {accessToken}"
응답
200메시지베이스 상세
파라미터타입필수설명
codestring필수
messagestring
dataallOf
messagebaseIdstring
messagebaseformIdstring
brandIdstring
groupIdstring
tmpltNamestring
메시지베이스 명
statusstring
메시지베이스 상태
approvalResultstring
승인 상태
approvalReasonstring
승인 사유
approvalDatestring
승인 일시
registerDatestring
registerIdstring
updateDatestring
updateIdstring
agencyIdstring
대행사 ID
attributearray<object>
cardTypestring
카드 종류 (Cell / Description / Free)
formattedStringobject
메시지베이스 포맷
guideInfoobject
inputTextstring
paramsarray<object>
policyInfoobject
specstring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseId": "string",
    "messagebaseformId": "string",
    "brandId": "string",
    "groupId": "string",
    "tmpltName": "string",
    "status": "string",
    "approvalResult": "string",
    "approvalReason": "string",
    "approvalDate": "string",
    "registerDate": "string",
    "registerId": "string",
    "updateDate": "string",
    "updateId": "string",
    "agencyId": "string",
    "attribute": [
      {}
    ],
    "cardType": "string",
    "formattedString": {},
    "guideInfo": {},
    "inputText": "string",
    "params": [
      {}
    ],
    "policyInfo": {},
    "spec": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/msgbaseform/list

메시지베이스 양식 목록 조회

오픈리치카드 템플릿 작성에 사용할 양식 목록을 조회합니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/msgbaseform/list" \
  -H "Authorization: Bearer {accessToken}"
응답
200양식 목록
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
messagebaseformIdstring
formNamestring
cardTypestring
bizCategorystring
bizConditionarray<string>
대상 업태 배열
bizServicestring
registerDatestring
updateDatestring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "messagebaseformId": "string",
      "formName": "string",
      "cardType": "string",
      "bizCategory": "string",
      "bizCondition": [
        "string"
      ],
      "bizService": "string",
      "registerDate": "string",
      "updateDate": "string"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/msgbaseform/info

메시지베이스 유형 상세 조회

지정 양식의 풀 필드 셋을 조회합니다. 응답의 formattedString 을 이용하여 브랜드용 메시지베이스를 등록 할 수 있습니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/msgbaseform/info" \
  -H "Authorization: Bearer {accessToken}"
응답
200양식 상세
파라미터타입필수설명
codestring필수
messagestring
dataallOf
messagebaseformIdstring
formNamestring
cardTypestring
bizCategorystring
bizConditionarray<string>
대상 업태 배열
bizServicestring
registerDatestring
updateDatestring
formattedStringobject
메시지베이스 포맷
guideInfoobject
mediaUrlarray<object>
paramsarray<object>
policyInfoobject
productCodestring
상품 코드 (sms / lms / mms 등)
specstring
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseformId": "string",
    "formName": "string",
    "cardType": "string",
    "bizCategory": "string",
    "bizCondition": [
      "string"
    ],
    "bizService": "string",
    "registerDate": "string",
    "updateDate": "string",
    "formattedString": {},
    "guideInfo": {},
    "mediaUrl": [
      {}
    ],
    "params": [
      {}
    ],
    "policyInfo": {},
    "productCode": "string",
    "spec": "string"
  }
}
get/rcsapi/v1/msgbase/common/list

메시지베이스 조회 (이통사 기본 제공)

리치카드 규격의 SMS, LMS, MMS 용 메시지베이스(SS000000, SL000000, SMwT*, CMwM* 등) 를 조회합니다.

카드 종류

  • standalone
  • standalone media top
  • standalone horizontal
  • carousel medium
  • carousel small
cURL
curl -X GET "{baseUrl}/rcsapi/v1/msgbase/common/list" \
  -H "Authorization: Bearer {accessToken}"
응답
200이통사 기본 제공 메시지베이스 목록 — [메시지베이스 목록 조회](#operation/rapiListMessagebases) 와 동일 응답 구조
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
messagebaseIdstring
messagebaseformIdstring
brandIdstring
groupIdstring
tmpltNamestring
메시지베이스 명
statusstring
메시지베이스 상태
approvalResultstring
승인 상태
approvalReasonstring
승인 사유
approvalDatestring
승인 일시
registerDatestring
registerIdstring
updateDatestring
updateIdstring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "messagebaseId": "string",
      "messagebaseformId": "string",
      "brandId": "string",
      "groupId": "string",
      "tmpltName": "string",
      "status": "string",
      "approvalResult": "string",
      "approvalReason": "string",
      "approvalDate": "string",
      "registerDate": "string",
      "registerId": "string",
      "updateDate": "string",
      "updateId": "string"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/msgbase/common/info

메시지베이스 상세 조회 (이통사 기본 제공)

이통사가 기본 제공하는 메시지베이스의 풀 필드 셋을 조회합니다.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/msgbase/common/info" \
  -H "Authorization: Bearer {accessToken}"
응답
200메시지베이스 상세 — [메시지베이스 상세 조회](#operation/rapiGetMessagebase) 와 동일 응답 구조
파라미터타입필수설명
codestring필수
messagestring
dataallOf
messagebaseIdstring
messagebaseformIdstring
brandIdstring
groupIdstring
tmpltNamestring
메시지베이스 명
statusstring
메시지베이스 상태
approvalResultstring
승인 상태
approvalReasonstring
승인 사유
approvalDatestring
승인 일시
registerDatestring
registerIdstring
updateDatestring
updateIdstring
agencyIdstring
대행사 ID
attributearray<object>
cardTypestring
카드 종류 (Cell / Description / Free)
formattedStringobject
메시지베이스 포맷
guideInfoobject
inputTextstring
paramsarray<object>
policyInfoobject
specstring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseId": "string",
    "messagebaseformId": "string",
    "brandId": "string",
    "groupId": "string",
    "tmpltName": "string",
    "status": "string",
    "approvalResult": "string",
    "approvalReason": "string",
    "approvalDate": "string",
    "registerDate": "string",
    "registerId": "string",
    "updateDate": "string",
    "updateId": "string",
    "agencyId": "string",
    "attribute": [
      {}
    ],
    "cardType": "string",
    "formattedString": {},
    "guideInfo": {},
    "inputText": "string",
    "params": [
      {}
    ],
    "policyInfo": {},
    "spec": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/brand/msgbase/v2/create

메시지베이스 등록 (v2)

브랜드 내에서 사용할 메시지베이스를 v2 규격으로 등록합니다. messagebaseformIdparams 각 항목 중 템플릿에 표시될 내용을 body 로 입력하여 원하는 템플릿을 등록합니다.

등록된 메시지베이스는 RCS Biz Center 운영자의 승인 후 사용 가능합니다.

요청 본문
파라미터타입필수설명
brandIdstring필수
브랜드 ID
custTmpltIdstring필수
사용자 지정 템플릿 ID
messagebaseformIdstring필수
메시지베이스 폼 ID
tmpltNamestring(40)필수
메시지베이스 명
bodyarray<object>필수
lineIndexinteger
라인 인덱스
paramstring
파라미터 키
valuestring
표시될 값
decorationobject
본문 항목 데코레이션
backgroundstring
heightstring
textAlignmentstring
textColorstring
textSizestring
textStylestring
buttonsarray<object>
suggestionsarray<object>
actionobject
버튼 액션 정의
curl -X POST "{baseUrl}/rcsapi/v1/brand/msgbase/v2/create" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "custTmpltId": "string",
  "messagebaseformId": "string",
  "tmpltName": "string",
  "body": [
    {
      "lineIndex": 0,
      "param": "string",
      "value": "string",
      "decoration": {
        "background": "string",
        "height": "string",
        "textAlignment": "string",
        "textColor": "string",
        "textSize": "string",
        "textStyle": "string"
      }
    }
  ],
  "buttons": [
    {
      "suggestions": [
        {
          "action": {}
        }
      ]
    }
  ]
}'
응답
200등록 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
messagebaseIdstring
메시지베이스 ID
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseId": "string"
  }
}
post/rcsapi/v1/brand/msgbase/v2/update

메시지베이스 수정 (v2)

메시지베이스의 ID 를 유지하면서 내용을 변경합니다. 수정 등록된 템플릿은 RCS Biz Center 운영자의 승인이 필요합니다.

지원 범위: 텍스트 템플릿(타이틀 선택형 / 타이틀 자유형), 이미지 템플릿, LMS 템플릿.

요청 본문
파라미터타입필수설명
brandIdstring필수
브랜드 ID
messagebaseIdstring필수
메시지베이스 ID
messagebaseformIdstring필수
메시지베이스 폼 ID
tmpltNamestring(40)필수
메시지베이스 명
bodyarray<object>필수
lineIndexinteger
라인 인덱스
paramstring
파라미터 키
valuestring
표시될 값
decorationobject
본문 항목 데코레이션
backgroundstring
heightstring
textAlignmentstring
textColorstring
textSizestring
textStylestring
buttonsarray<object>
suggestionsarray<object>
actionobject
버튼 액션 정의
curl -X POST "{baseUrl}/rcsapi/v1/brand/msgbase/v2/update" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "messagebaseId": "string",
  "messagebaseformId": "string",
  "tmpltName": "string",
  "body": [
    {
      "lineIndex": 0,
      "param": "string",
      "value": "string",
      "decoration": {
        "background": "string",
        "height": "string",
        "textAlignment": "string",
        "textColor": "string",
        "textSize": "string",
        "textStyle": "string"
      }
    }
  ],
  "buttons": [
    {
      "suggestions": [
        {
          "action": {}
        }
      ]
    }
  ]
}'
응답
200수정 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
messagebaseIdstring
메시지베이스 ID
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "messagebaseId": "string"
  }
}
post/rcsapi/v1/brand/msgbase/v2/file/create

이미지 템플릿용 파일 등록

이미지 템플릿에서 사용할 이미지 파일을 등록합니다.

파일을 먼저 등록해야 이미지 템플릿 등록 시 fileId 를 지정할 수 있습니다.

요청 본문
파라미터타입필수설명
brandIdstring필수
BizCenter 에서 생성한 브랜드 ID
filestring <binary>필수
업로드 파일
curl -X POST "{baseUrl}/rcsapi/v1/brand/msgbase/v2/file/create" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "brandId": "string",
  "file": "{binary}"
}'
응답
200등록 성공 — `data.fileId` 발급
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
fileIdstring
파일 ID
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "fileId": "string"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
get/rcsapi/v1/brand/msgbase/v2/file/info

이미지 템플릿용 파일 정보 조회

이미지 템플릿용으로 등록한 이미지 파일 정보를 조회합니다.

지원 범위: 이미지 템플릿, LMS 템플릿.

cURL
curl -X GET "{baseUrl}/rcsapi/v1/brand/msgbase/v2/file/info" \
  -H "Authorization: Bearer {accessToken}"
응답
200파일 정보
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
fileIdstring
fileNamestring
imageWidthstring
imageHeightstring
urlstring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "fileId": "string",
      "fileName": "string",
      "imageWidth": "string",
      "imageHeight": "string",
      "url": "string"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}

기업 전용 브랜드

기업관리자 계정으로 브랜드 자체를 등록·수정·삭제·권한 위임할 수 있는 엔드포인트 (11개).

모든 엔드포인트는 기업관리자 권한이 필요합니다.

post/rcsapi/v1/corp/brand/create

브랜드 등록 승인

기업관리자 계정으로 등록된 브랜드 승인을 요청합니다.

1개 이상의 발신번호를 반드시 함께 등록해야 하며, 브랜드 프로필 이미지·발신번호 통신서비스 가입증명원이 필요합니다.

brandBackground 제거 방법 — 등록되어 있는 백그라운드 이미지를 제거하려면 파일 없이 brandBackground form key 만 전송합니다.

요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID (기업관리자)
clientSecretstring필수
API Key
regBrandobject필수
브랜드 등록·수정 공용 객체
namestring필수
브랜드 홈에 표시되는 브랜드 이름
descriptionstring필수
브랜드 홈에 표시되는 브랜드 설명
telstring필수
브랜드 홈 전화번호 (대표 발신번호와 별개)
categoryIdstring필수
브랜드 카테고리 ID
subCategoryIdstring필수
브랜드 하위 카테고리 ID
categoryOptstring
검색용 키워드 임의 등록
zipCodestring
우편번호
roadAddressstring
도로명주소
detailAddressstring
상세주소
emailstring
이메일주소
webSiteUrlstring
홈페이지 주소
menusarray<object>

메뉴 정보 (브랜드 홈에 최대 4개. chat 기본 등록 → 지정 가능 최대 3개.
call 미포함 + 2개 이하 시 call 자동 추가)

buttonTypestring필수
버튼 유형
= call | web | app | store | order | buy | tickets | moreinfo
applinkobject
APP Link 패키지 정보 객체
packageNamestring필수
APP 실행 패키지명
actionstring필수
APP 실행 Action
uristring필수
APP 실행 URI
weblinkstring
call 외 모든 버튼의 Web URL (http:// 또는 https:// 로 시작)
brandProfilestring <binary>필수
프로필 이미지 (388x388~1080x1080, 1:1 비율 권장, png, 최대 1MB)
brandBackgroundstring <binary>필수
백그라운드 이미지 (388x388~1080x1080, jpg/png, 최대 1MB)
mainMdnstring필수
대표 발신번호 (chatbots 에 포함되어 있어야 함)
chatbotsarray<object>필수
등록할 챗봇 정보 (최대 1000개)
mdnstring필수
등록할 발신번호 (국가번호 생략)
subTitlestring필수
챗봇 명
rcsReplystring필수
수신 모드 (SMS MO:0 / RCS Postback:1)
= 0 | 1
subnumstring
챗봇 ID (A2P 의 경우 발신번호와 동일)
displaystring
전시 여부
servicestring
A2P/CHAT 서비스 유형
webhookstring
service=chat 시 필수 (URL)
subNumCertificatestring <binary>필수
통신서비스 이용증명원 파일
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/create" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "regBrand": {
    "name": "string",
    "description": "string",
    "tel": "string",
    "categoryId": "string",
    "subCategoryId": "string",
    "categoryOpt": "string",
    "zipCode": "string",
    "roadAddress": "string",
    "detailAddress": "string",
    "email": "string",
    "webSiteUrl": "string",
    "menus": [
      {
        "buttonType": "call",
        "applink": {
          "packageName": "string",
          "action": "string",
          "uri": "string"
        },
        "weblink": "string"
      }
    ]
  },
  "brandProfile": "{binary}",
  "brandBackground": "{binary}",
  "mainMdn": "string",
  "chatbots": [
    {
      "mdn": "string",
      "subTitle": "string",
      "rcsReply": "0",
      "subnum": "string",
      "display": "string",
      "service": "string",
      "webhook": "string"
    }
  ],
  "subNumCertificate": "{binary}"
}'
응답
200등록 성공 — `data.brandId` 발급
파라미터타입필수설명
codestring필수
messagestring
dataobject
brandIdstring
발급된 브랜드 ID
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "brandId": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/update

브랜드 수정 승인 요청

기업관리자 계정으로 승인 이력이 없는 브랜드(검수 반려 또는 승인 요청 미진행 상태) 를 수정 승인 요청합니다.

이미 운영중인 브랜드의 정보를 수정하려면 운영중 브랜드 정보 수정 을 사용하세요.

요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID (기업관리자)
clientSecretstring필수
API Key
regBrandobject필수
브랜드 등록·수정 공용 객체
namestring필수
브랜드 홈에 표시되는 브랜드 이름
descriptionstring필수
브랜드 홈에 표시되는 브랜드 설명
telstring필수
브랜드 홈 전화번호 (대표 발신번호와 별개)
categoryIdstring필수
브랜드 카테고리 ID
subCategoryIdstring필수
브랜드 하위 카테고리 ID
categoryOptstring
검색용 키워드 임의 등록
zipCodestring
우편번호
roadAddressstring
도로명주소
detailAddressstring
상세주소
emailstring
이메일주소
webSiteUrlstring
홈페이지 주소
menusarray<object>

메뉴 정보 (브랜드 홈에 최대 4개. chat 기본 등록 → 지정 가능 최대 3개.
call 미포함 + 2개 이하 시 call 자동 추가)

buttonTypestring필수
버튼 유형
= call | web | app | store | order | buy | tickets | moreinfo
applinkobject
APP Link 패키지 정보 객체
packageNamestring필수
APP 실행 패키지명
actionstring필수
APP 실행 Action
uristring필수
APP 실행 URI
weblinkstring
call 외 모든 버튼의 Web URL (http:// 또는 https:// 로 시작)
brandProfilestring <binary>필수
프로필 이미지 (388x388~1080x1080, 1:1 비율 권장, png, 최대 1MB)
brandBackgroundstring <binary>필수
백그라운드 이미지 (388x388~1080x1080, jpg/png, 최대 1MB)
mainMdnstring필수
대표 발신번호 (chatbots 에 포함되어 있어야 함)
chatbotsarray<object>필수
등록할 챗봇 정보 (최대 1000개)
mdnstring필수
등록할 발신번호 (국가번호 생략)
subTitlestring필수
챗봇 명
rcsReplystring필수
수신 모드 (SMS MO:0 / RCS Postback:1)
= 0 | 1
subnumstring
챗봇 ID (A2P 의 경우 발신번호와 동일)
displaystring
전시 여부
servicestring
A2P/CHAT 서비스 유형
webhookstring
service=chat 시 필수 (URL)
subNumCertificatestring <binary>필수
통신서비스 이용증명원 파일
brandIdstring필수
수정 대상 브랜드 ID
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/update" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "regBrand": {
    "name": "string",
    "description": "string",
    "tel": "string",
    "categoryId": "string",
    "subCategoryId": "string",
    "categoryOpt": "string",
    "zipCode": "string",
    "roadAddress": "string",
    "detailAddress": "string",
    "email": "string",
    "webSiteUrl": "string",
    "menus": [
      {
        "buttonType": "call",
        "applink": {
          "packageName": "string",
          "action": "string",
          "uri": "string"
        },
        "weblink": "string"
      }
    ]
  },
  "brandProfile": "{binary}",
  "brandBackground": "{binary}",
  "mainMdn": "string",
  "chatbots": [
    {
      "mdn": "string",
      "subTitle": "string",
      "rcsReply": "0",
      "subnum": "string",
      "display": "string",
      "service": "string",
      "webhook": "string"
    }
  ],
  "subNumCertificate": "{binary}",
  "brandId": "string"
}'
응답
200수정 성공 — `data.brandId` 반환
파라미터타입필수설명
codestring필수
messagestring
dataobject
brandIdstring
발급된 브랜드 ID
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "brandId": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand-allowed/update

운영중 브랜드 정보 수정

기업관리자·기업담당자 계정으로 현재 운영 중인 브랜드의 정보를 수정합니다.

브랜드명 또는 프로필 이미지가 수정되면 재 승인이 필요하며, 상태가 승인대기로 변경됩니다.
brandBackground 제거 방법 — 등록되어 있는 백그라운드 이미지를 제거하려면 파일 없이 brandBackground form key 만 전송합니다.

등록 엔드포인트와 달리 chatbots / subNumCertificate 를 받지 않으며, personId 가 필수입니다.

요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID (기업관리자/기업담당자)
clientSecretstring필수
API Key
brandIdstring필수
수정 대상 브랜드 ID
personIdstring필수
브랜드 관리자 ID (=기업관리자)
regBrandobject필수
브랜드 등록·수정 공용 객체
namestring필수
브랜드 홈에 표시되는 브랜드 이름
descriptionstring필수
브랜드 홈에 표시되는 브랜드 설명
telstring필수
브랜드 홈 전화번호 (대표 발신번호와 별개)
categoryIdstring필수
브랜드 카테고리 ID
subCategoryIdstring필수
브랜드 하위 카테고리 ID
categoryOptstring
검색용 키워드 임의 등록
zipCodestring
우편번호
roadAddressstring
도로명주소
detailAddressstring
상세주소
emailstring
이메일주소
webSiteUrlstring
홈페이지 주소
menusarray<object>

메뉴 정보 (브랜드 홈에 최대 4개. chat 기본 등록 → 지정 가능 최대 3개.
call 미포함 + 2개 이하 시 call 자동 추가)

buttonTypestring필수
버튼 유형
= call | web | app | store | order | buy | tickets | moreinfo
applinkobject
APP Link 패키지 정보 객체
packageNamestring필수
APP 실행 패키지명
actionstring필수
APP 실행 Action
uristring필수
APP 실행 URI
weblinkstring
call 외 모든 버튼의 Web URL (http:// 또는 https:// 로 시작)
brandProfilestring <binary>필수
프로필 이미지 (388x388~1080x1080, 1:1 비율 권장, png, 최대 1MB)
brandBackgroundstring <binary>필수
백그라운드 이미지 (388x388~1080x1080, jpg/png, 최대 1MB). 파일 없이 form key 만 전송 시 제거
mainMdnstring필수
대표 발신번호 (chatbots 에 포함되어 있어야 함)
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand-allowed/update" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "brandId": "string",
  "personId": "string",
  "regBrand": {
    "name": "string",
    "description": "string",
    "tel": "string",
    "categoryId": "string",
    "subCategoryId": "string",
    "categoryOpt": "string",
    "zipCode": "string",
    "roadAddress": "string",
    "detailAddress": "string",
    "email": "string",
    "webSiteUrl": "string",
    "menus": [
      {
        "buttonType": "call",
        "applink": {
          "packageName": "string",
          "action": "string",
          "uri": "string"
        },
        "weblink": "string"
      }
    ]
  },
  "brandProfile": "{binary}",
  "brandBackground": "{binary}",
  "mainMdn": "string"
}'
응답
200수정 성공 — `data` 는 [브랜드 상세](#operation/rapiCorpGetBrand) 의 풀 필드 셋
파라미터타입필수설명
codestring필수
messagestring
dataallOf
namestring필수
브랜드 홈에 표시되는 브랜드 이름
descriptionstring필수
브랜드 홈에 표시되는 브랜드 설명
telstring필수
브랜드 홈 전화번호 (대표 발신번호와 별개)
categoryIdstring필수
브랜드 카테고리 ID
subCategoryIdstring필수
브랜드 하위 카테고리 ID
categoryOptstring
검색용 키워드 임의 등록
zipCodestring
우편번호
roadAddressstring
도로명주소
detailAddressstring
상세주소
emailstring
이메일주소
webSiteUrlstring
홈페이지 주소
menusarray<object>

메뉴 정보 (브랜드 홈에 최대 4개. chat 기본 등록 → 지정 가능 최대 3개.
call 미포함 + 2개 이하 시 call 자동 추가)

buttonTypestring필수
버튼 유형
= call | web | app | store | order | buy | tickets | moreinfo
applinkobject
APP Link 패키지 정보 객체
packageNamestring필수
APP 실행 패키지명
actionstring필수
APP 실행 Action
uristring필수
APP 실행 URI
weblinkstring
call 외 모든 버튼의 Web URL (http:// 또는 https:// 로 시작)
brandIdstring
brandKeystring
statusstring
브랜드 상태
categoryNamestring
subCategoryNamestring
mediaurlarray<object>
미디어 정보 (fieldId / typeName / url)
fieldIdstring
typeNamestring
urlstring
registerDatestring
updateDatestring
approvalDatestring
chatbotDatestring
messagebaseDatestring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "name": "string",
    "description": "string",
    "tel": "string",
    "categoryId": "string",
    "subCategoryId": "string",
    "categoryOpt": "string",
    "zipCode": "string",
    "roadAddress": "string",
    "detailAddress": "string",
    "email": "string",
    "webSiteUrl": "string",
    "menus": [
      {
        "buttonType": "call",
        "applink": {
          "packageName": "string",
          "action": "string",
          "uri": "string"
        },
        "weblink": "string"
      }
    ],
    "brandId": "string",
    "brandKey": "string",
    "status": "string",
    "categoryName": "string",
    "subCategoryName": "string",
    "mediaurl": [
      {
        "fieldId": "string",
        "typeName": "string",
        "url": "string"
      }
    ],
    "registerDate": "string",
    "updateDate": "string",
    "approvalDate": "string",
    "chatbotDate": "string",
    "messagebaseDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/remove

브랜드 삭제 요청 (승인 이력 없음)

기업관리자 계정으로 승인 이력이 없는 브랜드의 삭제를 요청합니다.

승인된(운영 중) 브랜드를 삭제하려면 승인된 브랜드 삭제 를 사용하세요.

요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID (기업관리자)
clientSecretstring필수
API Key
brandIdstring필수
삭제 대상 브랜드 ID
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/remove" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "brandId": "string"
}'
응답
200삭제 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
brandIdstring
발급된 브랜드 ID
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "brandId": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand-allowed/remove

승인된 브랜드 삭제 요청

기업관리자 계정으로 승인 후 사용 중인 브랜드의 삭제를 요청합니다.

⚠️ 삭제 조건:

  • 토큰 발급 계정과 personId 가 동일해야 함
  • brandId 에 대한 브랜드 관리자 권한 보유
  • 반려/저장 상태는 즉시 삭제 가능
  • 승인 후 사용 중인 브랜드는 등록된 발신번호·템플릿을 먼저 삭제해야 처리됨
요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID (기업관리자)
clientSecretstring필수
API Key
brandIdstring필수
삭제 대상 브랜드 ID
personIdstring필수
브랜드 관리자 ID (=기업관리자)
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand-allowed/remove" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "brandId": "string",
  "personId": "string"
}'
응답
200삭제 성공
파라미터타입필수설명
codestring필수
messagestring
dataobject
brandIdstring
발급된 브랜드 ID
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "brandId": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/info

브랜드 상세 내용 조회

기업관리자/기업담당자 계정으로 브랜드의 상세 내용을 조회합니다.

요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID
clientSecretstring필수
API Key
personIdstring필수
브랜드 관리자 ID
brandIdstring필수
브랜드 ID
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/info" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "personId": "string",
  "brandId": "string"
}'
응답
200브랜드 상세
파라미터타입필수설명
codestring필수
messagestring
dataallOf
namestring필수
브랜드 홈에 표시되는 브랜드 이름
descriptionstring필수
브랜드 홈에 표시되는 브랜드 설명
telstring필수
브랜드 홈 전화번호 (대표 발신번호와 별개)
categoryIdstring필수
브랜드 카테고리 ID
subCategoryIdstring필수
브랜드 하위 카테고리 ID
categoryOptstring
검색용 키워드 임의 등록
zipCodestring
우편번호
roadAddressstring
도로명주소
detailAddressstring
상세주소
emailstring
이메일주소
webSiteUrlstring
홈페이지 주소
menusarray<object>

메뉴 정보 (브랜드 홈에 최대 4개. chat 기본 등록 → 지정 가능 최대 3개.
call 미포함 + 2개 이하 시 call 자동 추가)

buttonTypestring필수
버튼 유형
= call | web | app | store | order | buy | tickets | moreinfo
applinkobject
APP Link 패키지 정보 객체
packageNamestring필수
APP 실행 패키지명
actionstring필수
APP 실행 Action
uristring필수
APP 실행 URI
weblinkstring
call 외 모든 버튼의 Web URL (http:// 또는 https:// 로 시작)
brandIdstring
brandKeystring
statusstring
브랜드 상태
categoryNamestring
subCategoryNamestring
mediaurlarray<object>
미디어 정보 (fieldId / typeName / url)
fieldIdstring
typeNamestring
urlstring
registerDatestring
updateDatestring
approvalDatestring
chatbotDatestring
messagebaseDatestring
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "name": "string",
    "description": "string",
    "tel": "string",
    "categoryId": "string",
    "subCategoryId": "string",
    "categoryOpt": "string",
    "zipCode": "string",
    "roadAddress": "string",
    "detailAddress": "string",
    "email": "string",
    "webSiteUrl": "string",
    "menus": [
      {
        "buttonType": "call",
        "applink": {
          "packageName": "string",
          "action": "string",
          "uri": "string"
        },
        "weblink": "string"
      }
    ],
    "brandId": "string",
    "brandKey": "string",
    "status": "string",
    "categoryName": "string",
    "subCategoryName": "string",
    "mediaurl": [
      {
        "fieldId": "string",
        "typeName": "string",
        "url": "string"
      }
    ],
    "registerDate": "string",
    "updateDate": "string",
    "approvalDate": "string",
    "chatbotDate": "string",
    "messagebaseDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/categories

브랜드 카테고리 조회

브랜드 등록 시 사용 가능한 카테고리 목록을 조회합니다.

요청 본문
파라미터타입필수설명
clientIdstring필수
clientSecretstring필수
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/categories" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string"
}'
응답
200카테고리 목록
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
categoryIdstring
브랜드 카테고리 ID
categoryNamestring
브랜드 카테고리 명
subCategoriesarray<object>
하위 카테고리 배열
subCategoryIdstring
subCategoryNamestring
updateDatestring
카테고리 수정 일자
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "categoryId": "string",
      "categoryName": "string",
      "subCategories": [
        {
          "subCategoryId": "string",
          "subCategoryName": "string"
        }
      ],
      "updateDate": "string"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/privilege/create

권한 등록

브랜드 관리자 권한을 가진 기업관리자 계정으로 브랜드의 부 관리자 또는 대행사 권한을 등록합니다.

권한 상태 (status)

상태 의미
Waiting 브랜드 운영권한 신청 후 브랜드 관리자 승인 대기
Processing 권한 정보를 이통3사에 동기화 중
Ok 권한 상태 정상
요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID
clientSecretstring필수
API Key
brandIdstring필수
브랜드 ID
personIdstring필수
브랜드 관리자 ID
regPrivilegesarray<object>필수
기업관리자/기업담당자 또는 대행사 정보 배열
idstring필수
기업관리자/기업담당자/대행사 ID
privilegeTypestring필수
권한 유형 (위임 시 Manager 고정)
= Manager | SubManager | Agency
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/privilege/create" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "brandId": "string",
  "personId": "string",
  "regPrivileges": [
    {
      "id": "string",
      "privilegeType": "Manager"
    }
  ]
}'
응답
200권한 등록 성공
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
권한 정보 배열
idstring
대상 ID
privilegeTypestring
= Manager | SubManager | Agency
statusstring
권한 상태
= Waiting | Processing | Ok
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "id": "string",
      "privilegeType": "Manager",
      "status": "Waiting"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/privilege/update

권한 위임

브랜드 관리자 권한을 다른 기업관리자에게 위임합니다.

위임 시 기존 브랜드 관리자는 자동으로 부관리자로 변경됩니다. regPrivilege.privilegeTypeManager 로 고정합니다.

요청 본문
파라미터타입필수설명
clientIdstring필수
BizCenter ID
clientSecretstring필수
API Key
brandIdstring필수
브랜드 ID
personIdstring필수
브랜드 관리자 ID
regPrivilegeobject필수
권한 대상 정보
idstring필수
기업관리자/기업담당자/대행사 ID
privilegeTypestring필수
권한 유형 (위임 시 Manager 고정)
= Manager | SubManager | Agency
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/privilege/update" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "brandId": "string",
  "personId": "string",
  "regPrivilege": {
    "id": "string",
    "privilegeType": "Manager"
  }
}'
응답
200위임 성공
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
권한 정보 배열
idstring
대상 ID
privilegeTypestring
= Manager | SubManager | Agency
statusstring
권한 상태
= Waiting | Processing | Ok
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "id": "string",
      "privilegeType": "Manager",
      "status": "Waiting"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/privilege/remove

권한 삭제

브랜드 부관리자, 대행사 권한 중 지정 대상을 삭제합니다.

⚠️ 브랜드 관리자는 삭제 불가. 브랜드 관리자를 변경하려면 권한 위임 을 사용하세요.

요청 본문
파라미터타입필수설명
clientIdstring필수
clientSecretstring필수
brandIdstring필수
브랜드 ID
personIdstring필수
브랜드 관리자 ID
idstring필수
삭제 대상 부관리자/대행사 ID
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/privilege/remove" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "brandId": "string",
  "personId": "string",
  "id": "string"
}'
응답
200삭제 성공
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
권한 정보 배열
idstring
대상 ID
privilegeTypestring
= Manager | SubManager | Agency
statusstring
권한 상태
= Waiting | Processing | Ok
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "id": "string",
      "privilegeType": "Manager",
      "status": "Waiting"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}
post/rcsapi/v1/corp/brand/privilege/list

권한 조회

브랜드에 등록된 운영 권한 정보를 조회합니다.

요청 본문
파라미터타입필수설명
clientIdstring필수
clientSecretstring필수
brandIdstring필수
브랜드 ID
personIdstring필수
브랜드 관리자 ID
curl -X POST "{baseUrl}/rcsapi/v1/corp/brand/privilege/list" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "clientSecret": "string",
  "brandId": "string",
  "personId": "string"
}'
응답
200권한 목록
파라미터타입필수설명
codestring필수
messagestring
dataarray<object>
권한 배열
idstring
대상 ID
privilegeTypestring
= Manager | SubManager | Agency
statusstring
권한 상태
= Waiting | Processing | Ok
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": [
    {
      "id": "string",
      "privilegeType": "Manager",
      "status": "Waiting"
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}

대행사

광고 대행사가 자사 권한으로 호출하는 전용 엔드포인트 (1개) — RCS 포토 발송용 미디어 파일 등록.

post/rcsapi/v1/agency/file

대행사 전용 파일 등록

광고 대행사가 자사 권한으로 RCS 포토 발송용 미디어 파일을 등록합니다.

RCS 발송 시 대행사가 등록한 파일을 사용하려면, 발송 페이로드에 agencykey 필드를 함께 전송해야 합니다.

일반 파일 등록과의 차이

구분 엔드포인트 사용 타입 지원 mimeType
일반 사용자 POST /rcsapi/v1/file/send chatbot / messagebase / send image/jpeg, image/png 등
대행사 POST /rcsapi/v1/agency/file send jpeg / png / gif / bmp
요청 본문
파라미터타입필수설명
filestring <binary>필수
업로드 파일
fileIdstring(64)필수
파일 ID (64byte)
mimeTypestring필수
Mime type — image/jpeg / image/png / image/gif / image/bmp
= image/jpeg | image/png | image/gif | image/bmp
usageTypestring필수
사용 타입 — send (대행사 전용은 send 만 지원)
= send
curl -X POST "{baseUrl}/rcsapi/v1/agency/file" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json" \
  -d '{
  "file": "{binary}",
  "fileId": "string",
  "mimeType": "image/jpeg",
  "usageType": "send"
}'
응답
200등록 성공 — `data` 는 [파일 상세 조회 응답](#operation/rapiGetFile) 과 동일
파라미터타입필수설명
codestring필수
messagestring
dataobject
파일 상세
fileIdstring
mimeTypestring
usageTypestring
= chatbot | messagebase | send
statusstring
파일 상태
= ready | expired
expiryDatestring
유효 기간
paginationobject
페이지네이션 정보
limitinteger필수
조회 최대 건수 (기본 100, 최대 1000)
offsetinteger필수
시작 offset (기본 0)
totalinteger필수
총 개수
응답 · 200
{
  "code": "string",
  "message": "string",
  "data": {
    "fileId": "string",
    "mimeType": "string",
    "usageType": "chatbot",
    "status": "ready",
    "expiryDate": "string"
  },
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 0
  }
}