콘텐츠로 이동

3.5 RCS

구분접속 URL
상용https://mnt-api.msghub.uplus.co.kr
검수https://mnt-api.msghub-qa.uplus.co.kr

이 문서는 메시지허브 RCS API 사용법을 안내합니다. API는 브랜드 관리, 템플릿 관리 등의 기능을 제공합니다. 각 API의 기능, 요청 및 응답 형식, 파라미터, 예시 등을 포함하고 있습니다.

모든 API 요청에는 다음과 같은 공통 헤더 정보가 필요합니다.

헤더 이름타입필수설명
AuthorizationString●Bearer 방식의 인증 토큰
Content-TypeString●application/json;charset=UTF-8

기능 설명: 고객사에 등록된 모든 RCS 브랜드 목록을 조회합니다.


GET /rcs/v1/brand HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
offsetString●시작 offset 번호(default: 0) 입니다.
limitString●조회 최대 건수(default: 100, maximum: 1000) 입니다.

{
"code": "100000",
"message": "성공",
"result": [
{
"brandId": "BR.q...5",
"brandName": "테스트 브랜드",
"agencyId": "AG.123456",
"approvalStatus": "approved",
"chatbotDate": "2023-01-01T00:00:00Z",
"messagebaseDate": "2023-01-01T00:00:00Z",
"regDt": "2023-01-01T00:00:00Z",
"updDt": "2023-01-01T00:00:00Z",
"approvalDt": "2023-01-01T00:00:00Z"
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 100
}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand?offset=0&limit=100" \
-H "accept: */*" \
-H "apiId: apiId... " \
-H "apiSecret: SK.Abkdls... " \
-H "Authorization: Bearer {token}"

기능 설명: 특정 브랜드 ID에 해당하는 브랜드의 상세 정보를 조회합니다.


GET /rcs/v1/brand/{brandId} HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수설명
brandIdString●브랜드 ID

{
"code": "10000",
"message": "성공",
"data": [
{
"brandId": "BR.q7..N5",
"name": "브랜드",
"brandKey": "BK.z..ND",
"status": "검수완료",
"chatbotDate": "2021-09-10T11:30:01.000+09",
"messagebaseDate": "2021-09-07T16:29:23.000+09",
"registerDate": "2021-06-09T14:01:06.000+09",
"updateDate": "2024-01-28T14:01:15.000+09",
"approvalDate": "2024-01-28T14:01:15.000+09",
"mediaUrl": [
{
"fileId": "LT-BR.q...V",
"fileName": "t...4.png",
"url": "https://dev-image-rcsbizcenter.s3.ap-northeast-2.amazonaws.com/brand/BR.q...5/LT-BR.q...1.png",
"typeName": "profile"
}
],
"menus": [
{
"buttonType": "buy",
"weblink": "https://naver.com",
"feedinfoYn": "N"
}
],
"description": "브랜드설명",
"tel": "0314000000",
"categoryId": "HOS",
"categoryName": "병원",
"subCategoryId": "HOS016",
"subCategoryName": "신경외과",
"categoryOpt": "신경",
"zipCode": "01234",
"roadAddress": "도로명주소",
"detailAddress": "상세주소",
"email": "test@gmail.com",
"webSiteUrl": "http://www.naver.com",
"approvalReason": "검수완료"
}
]
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BK.z..ND" \
-H "accept: */*" \
-H "apiId: apiId... " \
-H "apiSecret: SK.Abkdls... " \
-H "Authorization: Bearer {token}"

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


GET /rcs/v1/brand/categories HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자

NameType설명
codeString결과 코드
messageString결과 메시지
data[].categoryIdString카테고리 그룹 아이디
data[].categoryNameString카테고리 그룹 이름
data[].subCategoriesArray
data[].subCategories.subCategoryIdString하위 카테고리 아이디
data[].subCategories.subCategoryNameString하위 카테고리 이름
{
"code": "10000",
"message": "성공",
"data": [
{
"categoryId": "ITE",
"categoryName": "IT",
"subCategories": [
{
"subCategoryId": "ITE001",
"subCategoryName": "인터넷/컴퓨터"
},
{
"subCategoryId": "ITE002",
"subCategoryName": "정보통신/SW"
},
......
]
}
curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/categories" \
-H "accept: */*" \
-H "apiId: apiId... " \
-H "apiSecret: SK.Abkdls... " \
-H "Authorization: Bearer {token}"

기능 설명: 새로운 RCS 브랜드를 등록합니다.


POST /rcs/v1/brand HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명
regBrandObject●
mainMdnString●브랜드 대표 발신번호. 입력된 번호는 chatbots에 포함되어 있어야 합니다.
profileImgFilePathString●브랜드 프로필 이미지경로
bgImgFilePathString-브랜드 백그라운드 이미지경로
certiFilePathString-통신서비스이용증명원 파일경로
chatbotsArray●등록할 챗봇(발신번호) 정보
필드명타입필수설명크기
nameString●브랜드 이름최대 20자
descriptionString●브랜드 설명최대 150자
telString●브랜드 전화번호최대 12자
menusObject-최대 menu는 3개 등록 가능합니다. 브랜드 홈에는 chat이 기본 등록되어 최대 4개 표시됩니다.
categoryIdString●카테고리 ID
subCategoryIdString●하위 카테고리 ID
categoryOptString-검색용 키워드
zipCodeString-우편번호
roadAddressString-도로명 주소
detailAddressString-상세 주소
emailString-이메일주소
webSiteUrlString-홈페이지 주소
필드명타입필수 여부설명크기
buttonTypeString-챗봇 버튼타입최대 20자
weblinkString-URL은 http:// 또는 https:// 로 시작하여야 합니다.최대 128자
필드명타입필수설명크기
mdnString●등록할 발신번호
rcsReplyString●SMS MO 수신 0, RCS Postback 수신 11자
subTitleString●챗봇 이름
serviceString●A2P/CHAT 서비스 유형-
displayString-챗봇 전시 설정값 default 01, ‘00’ : 브랜드채널 노출,브랜드검색 불허,브랜드홈 비전시2자

{
"code": "10000",
"message": "성공",
"data": {
"brandId": "BR.newBrand123"
}
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand" \
-H "accept: */*" \
-H "apiId: apiId... " \
-H "apiSecret: SK.Abkdls... " \
-H "Authorization: Bearer {token}"
-d "{
"regBrand": {
"name": "브랜드명",
"description": "브랜드설명",
"tel": "전화번호",
"menus": [
{
"buttonType": "메뉴 버튼 타입",
"weblink": "http://www.naver.com"
}
],
"categoryId": "카테고리 id",
"subCategoryId": "하위카테고리 id",
"categoryOpt": "검색키워드",
"zipCode": "우편번호",
"roadAddress": "도로명주소",
"detailAddress": "상세주소",
"email": "메일주소",
"webSiteUrl": "회사 웹사이트"
},
"mainMdn": "브랜드 대표 발신번호",
"profileImgFilePath": "브랜드 프로필 이미지경로",
"bgImgFilePath": "브랜드 백그라운드 이미지경로",
"certiFilePath": "통신서비스이용증명원 파일경로",
"chatbots": [
{
"mdn": "발신번호",
"rcsReply": "0/1 SMS MO 수신 0, RCS Postback 수신 1",
"subTitle": "챗봇이름",
"service": "A2P/CHAT 서비스 유형",
"display": "01"
}
]
}'

기능 설명: 기존 RCS 브랜드 정보를 수정합니다.


PUT /rcs/v1/brand/{brandId} HTTP/1.1
필드명타입필수설명
brandIdString●브랜드 ID
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명
regBrandObject●
mainMdnString●브랜드 대표 발신번호. 입력된 번호는 chatbots에 포함되어 있어야 합니다.
profileImgFilePathString●브랜드 프로필 이미지경로.
bgImgFilePathString-브랜드 백그라운드 이미지경로.
필드명타입필수설명크기
nameString●브랜드 이름최대 20자
descriptionString●브랜드 설명최대 150자
telString●브랜드 전화번호최대 12자
menusObject-최대 menu는 3개 등록 가능합니다. 브랜드 홈에는 chat이 기본 등록되어 최대 4개 표시됩니다.
categoryIdString●카테고리 ID
subCategoryIdString●하위 카테고리 ID
categoryOptString-검색용 키워드
zipCodeString-우편번호
roadAddressString-도로명 주소
detailAddressString-상세 주소
emailString-이메일주소
webSiteUrlString-홈페이지 주소
필드명타입필수 여부설명크기
buttonTypeString-챗봇 버튼타입최대 20자
weblinkString-URL은 http:// 또는 https:// 로 시작하여야 합니다.최대 128자

{
"code": "10000",
"message": "OK"
}

curl -X PUT "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.A...G" \
-H "accept: */*" \
-H "apiId: apiId... " \
-H "apiSecret: SK.Abkdls... " \
-H "Authorization: Bearer {token}"
-d "{
"regBrand": {
"name": "브랜드명",
"description": "브랜드설명",
"tel": "전화번호",
"menus": [
{
"buttonType": "메뉴 버튼 타입",
"weblink": "http://www.naver.com"
}
],
"categoryId": "카테고리 id",
"subCategoryId": "하위카테고리 id",
"categoryOpt": "검색키워드",
"zipCode": "우편번호",
"roadAddress": "도로명주소",
"detailAddress": "상세주소",
"email": "메일주소",
"webSiteUrl": "회사 웹사이트"
},
"mainMdn": "브랜드 대표 발신번호",
"profileImgFilePath": "브랜드 프로필 이미지경로",
"bgImgFilePath": "브랜드 백그라운드 이미지경로"
}'

기능 설명: RCS 브랜드를 삭제합니다.


DELETE /rcs/v1/brand/{brandId} HTTP/1.1
필드명타입필수설명
brandIdString●브랜드 ID
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자

{
"code": "10000",
"message": "성공"
}

curl -X DELETE "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.x...y" \
-H "accept: */*" \
-H "apiId: apiId... " \
-H "apiSecret: SK.Abkdls... " \
-H "Authorization: Bearer {token}"

기능 설명: 브랜드 내에 등록된 챗봇 리스트 조회합니다.


GET /rcs/v1/brand/{brandId}/chatbot HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드ID최대 13자
필드명타입필수 여부설명
brandKeyString●브랜드 Key
필드명타입필수 여부설명크기
offsetString●시작 offset 번호(default: 0) 입니다.
limitString●조회 최대 건수(default: 100, maximum: 1000) 입니다.

{
"code": "10000",
"message": "성공",
"data": {
"result": [
{
"chatbotId": "0310010002",
"brandId": "BR.q...5",
"isMainNum": "Y",
"subNum": "02-123-4567",
"subTitle": "고객센터",
"service": "a2p",
"display": "01",
"approvalResult": "승인",
"registerDate": "2023-05-15 14:30:45",
"approvalDate": "2023-05-16 09:22:10",
"updateDate": "2023-05-15 14:30:45",
"registerId": "user123",
"updateId": "user123"
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 100
}
}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.x...y/chatbot?offset=0&limit=100" \
-H "accept: */*" \
-H "brandKey: BK.4.....4" \
-H "Authorization: Bearer {token}"

기능 설명: 지정된 브랜드에 챗봇(발신번호)을 등록합니다. 챗봇 등록시 브랜드포털 관리자의 승인 후 사용이 가능합니다.


GET /rcs/v1/brand/{brandId}/chatbot/{chatbotId} HTTP/1.1
필드명타입필수 여부설명크기
brandKeyString●브랜드 Key최대 18자
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
chatbotIdString●챗봇ID Path Parameter 입니다.

{
"code": "10000",
"message": "성공",
"data": [
{
"groupId": "GR12345",
"chatbotId": "0310010002",
"brandId": "BR.q...5",
"subNum": "0310010003",
"isMainNum": true,
"subTitle": "고객센터",
"service": "a2p",
"display": "01",
"approvalResult": "승인",
"registerDate": "2023-05-15 14:30:45",
"approvalDate": "2023-05-16 09:22:10",
"updateDate": "2023-05-15 14:30:45",
"registerId": "user123",
"updateId": "user123",
"mediaUrl": {},
"approvalReason": "",
"status": "active",
"rcsReply": "1",
"searchWeight": "0",
"webhook": "",
"botTcPage": ""
}
],
"meta": {}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.x...y/chatbot/0...8" \
-H "accept: */*" \
-H "brandKey: BK.4.....4" \
-H "Authorization: Bearer {token}"

기능 설명: 지정된 브랜드에 챗봇(발신번호)을 등록합니다. 챗봇 등록시 브랜드포털 관리자의 승인 후 사용이 가능합니다.


POST /rcs/v1/brand/{brandId}/chatbot HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드ID최대 13자
필드명타입필수설명크기
subNumCertificateString●통신서비스이용증명원 파일경로최대 20MB
chatbotsObject●브랜드 대표 발신번호. 입력된 번호는 chatbots에 포함되어 있어야 합니다.-
필드명타입필수설명크기
mdnString●등록할 발신번호최대 40자
rcsReplyString●SMS MO 수신 0, RCS Postback 수신 11자
subTitleString●챗봇 이름최대 20자
serviceString●A2P/CHAT 서비스 유형최대 4자
displayString-챗봇 전시 설정값 default 01, ‘00’ : 브랜드채널 노출,브랜드검색 불허,브랜드홈 비전시2자

{
"code": "10000",
"message": "성공",
"data": [
{
"groupId": "string",
"chatbotId": "string",
"brandId": "string",
"subNum": "string",
"isMainNum": "string",
"subTitle": "string",
"service": "string",
"display": "string",
"approvalResult": "string",
"registerDate": "string",
"approvalDate": "string",
"updateDate": "string",
"registerId": "string",
"updateId": "string"
}
],
"meta": {}
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.x...y/chatbot" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"subNumCertificate": "/efs/file/console/2....s.jpg",
"chatbots": [
{
"mdn": "1...4",
"rcsReply": "1",
"subTitle": "챗봇이름",
"service": "a2p",
"display": "01"
}
]
}'

기능 설명: 지정된 브랜드에 챗봇의 정보를 업데이트합니다. 챗봇의 업데이트는 승인상태에 따라 처리여부가 결정됩니다


PUT /rcs/v1/brand/{brandId}/chatbot/{chatbotId} HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
chatbotIdString●챗봇ID Path Parameter 입니다.
필드명타입필수설명크기
subNumCertificateObject●통신서비스이용증명원 파일경로최대 20MB
chatbotsString●브랜드 대표 발신번호. 입력된 번호는 chatbots에 포함되어 있어야 합니다.-
필드명타입필수설명크기
mdnString●등록할 발신번호최대 40자
rcsReplyString●SMS MO 수신 0, RCS Postback 수신 11자
subTitleString●챗봇 이름최대 20자
serviceString●A2P/CHAT 서비스 유형최대 4자
displayString-챗봇 전시 설정값 default 01, ‘00’ : 브랜드채널 노출,브랜드검색 불허,브랜드홈 비전시2자

{
"code": "10000",
"message": "성공",
"data": [
{
"groupId": "GR12345",
"chatbotId": "0310010002",
"brandId": "BR.q...5",
"subNum": "0310010003",
"isMainNum": true,
"subTitle": "고객센터",
"service": "a2p",
"display": "01",
"approvalResult": "승인",
"registerDate": "2023-05-15 14:30:45",
"approvalDate": "2023-05-16 09:22:10",
"updateDate": "2023-05-15 14:30:45",
"registerId": "user123",
"updateId": "user123",
"mediaUrl": {},
"approvalReason": "",
"status": "active",
"rcsReply": "1",
"searchWeight": "0",
"webhook": "",
"botTcPage": ""
}
],
"meta": {}
}

curl -X PUT "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.x...y/chatbot/1...5" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"subNumCertificate": "/efs/file/console/2....s.jpg",
"chatbots": [
{
"mdn": "1...4",
"rcsReply": "1",
"subTitle": "챗봇이름",
"service": "a2p",
"display": "01"
}
]
}'

기능 설명: 해당 챗봇을 삭제합니다. 챗봇의 삭제는 승인상태에 따라 처리 여부가 결정됩니다.


DELETE /rcs/v1/brand/{brandId}/chatbot/{chatbotId} HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
chatbotIdString●챗봇ID Path Parameter 입니다.

{
"code": "10000",
"message": "성공",
"data": {}
}

curl -X DELETE "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.x...y/chatbot/1...5" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

4.6. 대화방ID 등록 가능 여부 조회

섹션 제목: “4.6. 대화방ID 등록 가능 여부 조회”

기능 설명: 대화방ID 등록 가능 여부를 조회 합니다. 등록 가능한 경우 200 OK 응답으로 리턴되며, 대화방ID 형식 부적합, 이미 등록된 대화방ID 등 등록이 불가능한 경우 400 Error 리턴됩니다


GET /rcs/v1/usableQuery/chatbotId/{chatbotId} HTTP/1.1
필드명타입필수 여부설명크기
chatbotIdString●챗봇ID Path Parameter 입니다.

{
"code": "10000",
"message": "성공",
"data": {
"httpStatus": "OK",
"status": "200",
"code": "20000000",
"error": null,
"desc": "registration available",
"result": {
"chatbotId": "11...47"
}
}
}
{
"code": "21399",
"message": "RCS Biz Center 처리 실패",
"data": {
"code": "64348",
"message": "1....3 is already registered."
}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/rcs/v1/usableQuery/chatbotId/1...5" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"


기능 설명: 템플릿 양식 목록을 조회합니다.


GET /rcs/v1/messagebase/messagebaseform HTTP/1.1
필드명타입필수 여부설명크기
offsetString●시작 offset 번호(default: 0) 입니다.
limitString●조회 최대 건수(default: 100, maximum: 1000) 입니다.

{
"code": "10000",
"message": "성공",
"data": {
"result": [
{
"messagebaseformId": "CLT00004",
"formName": "로고 타이틀 스타일",
"cardType": "descriptionNew",
"bizCondition": [],
"bizCategory": null,
"bizService": null,
"registerDate": "2025-04-16T10:08:30.000+09",
"updateDate": "2025-05-28T10:30:25.000+09"
},
{
"messagebaseformId": "CLL00006",
"formName": "LMS 템플릿 명세서C형",
"cardType": "descriptionNew",
"bizCondition": [],
"bizCategory": null,
"bizService": null,
"registerDate": "2024-09-23T09:12:46.000+09",
"updateDate": "2025-05-28T10:31:31.000+09"
},
....
]
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/messagebase/messagebaseform?offset=0&limit=100" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

기능 설명: 템플릿 유형의 상세 내용을 조회합니다. formattedString을 이용하여 원하는 브랜드용 템플릿을 작성할 수 있습니다.


GET /rcs/v1/messagebase/messagebaseform/{messagebaseformId} HTTP/1.1
필드명타입필수 여부설명크기
offsetString●시작 offset 번호(default: 0) 입니다.
limitString●조회 최대 건수(default: 100, maximum: 1000) 입니다.

{
"code": "10000",
"message": "성공",
"data": [
{
"messagebaseformId": "FF005C",
"formName": "명세서 C",
"cardType": "cell",
"bizCondition": [
"all"
],
"bizCategory": "금융",
"bizService": "명세서",
"registerDate": "2021-04-19T11:09:11.000+09",
"updateDate": "2023-10-27T17:32:03.000+09",
"mediaUrl": [
{
"fileId": "LT-messagebase.common-qE1mwe",
"fileName": "명세서.png",
"url": "https://file-qa.rcsbizcenter.com/form/messagebase.common/LT-messagebase.common-qE1mwe_1.png",
"typeName": "icon"
}
],
"productCode": "tmplt",
"spec": "openrichcard",
"guideInfo": {
......
}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/messagebaseform/....." \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

5.3. 이통사 기본 템플릿 목록 조회

섹션 제목: “5.3. 이통사 기본 템플릿 목록 조회”

기능 설명: 이통사가 기본 제공하는 템플릿을 조회합니다.


GET /rcs/v1/messagebase/common HTTP/1.1
필드명타입필수 여부설명크기
messagebaseformIdString●템플릿 유형 ID

{
"code": "10000",
"message": "성공",
"data": {
"result": [
{
"groupId": null,
"messagebaseId": "OL00000003",
"tmpltName": "문단형",
"messagebaseformId": "OL00000003",
"brandId": "common",
"status": "ready",
"approvalResult": "승인",
"approvalReason": null,
"registerDate": "2024-11-29T15:24:00.000+09",
"approvalDate": "2024-11-29T15:24:03.000+09",
"updateDate": "2024-11-29T15:24:00.000+09",
"registerId": "leekmstg",
"updateId": null
},
{
"groupId": null,
"messagebaseId": "OL00000002",
"tmpltName": "기본형 타이틀 강조",
"messagebaseformId": "OL00000002",
"brandId": "common",
"status": "ready",
"approvalResult": "승인",
"approvalReason": null,
"registerDate": "2024-07-10T14:32:52.000+09",
"approvalDate": "2024-07-10T14:32:53.000+09",
"updateDate": "2024-07-10T14:32:52.000+09",
"registerId": "leekmstg",
"updateId": null
},
....
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/messagebase/common?offset=0&limit=100" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

5.4. 이통사 기본 템플릿 상세 조회

섹션 제목: “5.4. 이통사 기본 템플릿 상세 조회”

기능 설명: 템플릿 이통사가 기본 제공하는 리치카드 별 상세 내용을 조회합니다.


GET /rcs/v1/messagebase/common/{messagebaseId} HTTP/1.1
필드명타입필수 여부설명크기
messagebaseformIdString●템플릿 유형 ID

{
"code": "10000",
"message": "성공",
"data": [
{
"groupId": null,
"messagebaseId": "CMwMhM0300",
"tmpltName": "슬라이드형(Medium,3장)",
"messagebaseformId": "CMwMhM0300",
"brandId": "common",
"status": "ready",
"approvalResult": "승인",
"approvalReason": "승인완료",
"registerDate": "2019-11-08T19:17:24.000+09",
"approvalDate": "2020-11-06T13:09:09.000+09",
"updateDate": "2020-04-08T12:32:01.000+09",
"registerId": "smooncho",
"updateId": "smooncho",
"productCode": "mms",
"spec": "richcard",
"cardType": "carousel medium",
"agencyId": null,
"inputText": null,
"attribute": null,
"guideInfo": {
"maxLineCount": 4,
"maxDisplayText": 13,
"maxDescriptionSize": 60,
"imageWidth": "696",
"imageHeight": "504",
"detailInfo": {
"summary": "모든 RCS A2P 대상 단말에서 메시지가 잘려 보이지 않을 최대 보장 description 라인 수에 대한 가이드 정보입니다.",
"charactersPerLine": {
"title": 13,
"description": 14,
"buttonName": 13
},
"combinations": [
{
"condition": {
"mediaPhase": null,
"numberOfLinesOnTitle": 0,
"numberOfButtons": 0
},
"numberOfLinesOnDescription": 28
},
....
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/messagebase/common/....." \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

기능 설명: 브랜드 내에 등록된 메시지베이스 리스트 조회합니다.


GET /rcs/v1/brand/{brandId}/messagebase HTTP/1.1
필드명타입필수 여부설명크기
brandKeyString●브랜드 Key최대 18자
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
필드명타입필수 여부설명크기
offsetString●시작 offset 번호(default: 0) 입니다.
limitString●조회 최대 건수(default: 100, maximum: 1000) 입니다.

{
"code": "100000",
"message": "성공",
"data": {
"result": [
{
"groupId": "그룹ID",
"messagebaseId": "메시지베이스ID",
"tmpltName": "템플릿명",
"messagebaseformId": "템플릿양식ID",
"brandId": "브랜드ID",
"status": "상태",
"approvalResult": "승인결과",
"approvalReason": "승인사유",
"registerDate": "등록일시",
"approvalDate": "승인일시",
"updateDate": "수정일시",
"registerId": "등록자ID",
"updateId": "수정자ID"
},
{
"groupId": null,
"messagebaseId": "UBR.q...n",
"tmpltName": "test",
"messagebaseformId": "CC001D",
"brandId": "BR.q...5",
"status": "ready",
"approvalResult": "승인대기",
"approvalReason": null,
"registerDate": "2021-09-07T16:29:23.000+09",
"approvalDate": null,
"updateDate": "2021-09-07T16:29:23.000+09",
"registerId": "등록ID",
"updateId": null
},
{
"groupId": null,
"messagebaseId": "UBR.q...0F",
"tmpltName": "test02",
"messagebaseformId": "GG000F",
"brandId": "BR.q...5",
"status": "ready",
"approvalResult": "승인",
"approvalReason": "승인완료",
"registerDate": "2021-06-09T14:01:06.000+09",
"approvalDate": "2021-06-09T17:00:07.000+09",
"updateDate": "2021-06-09T14:01:06.000+09",
"registerId": "등록ID",
"updateId": "등록ID"
}
],
"pagination": {
"total": 2,
"offset": 0,
"limit": 100
}
}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.q...5/messagebase?offset=0&limit=100" \
-H "accept: */*" \
-H "brandKey: BK.z...D " \
-H "Authorization: Bearer {token}"

기능 설명: 브랜드 내에 등록된 메시지베이스 상세 조회합니다.


GET /rcs/v1/brand/{brandId}/messagebase/{messagebaseId} HTTP/1.1
필드명타입필수 여부설명크기
brandKeyString●브랜드 Key최대 18자
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
messagebaseIdString●메시지베이스ID Path Parameter 입니다.-

{
"code": "100000",
"message": "성공",
"data": [
{
"groupId": null,
"messagebaseId": "UBR.q...n",
"tmpltName": "test",
"messagebaseformId": "CC001D",
"brandId": "BR.q...5",
"status": "ready",
"approvalResult": "승인",
"approvalReason": null,
"registerDate": "2021-09-07T16:29:23.000+09",
"approvalDate": null,
"updateDate": "2021-09-07T16:29:23.000+09",
"registerId": "등록자ID",
"updateId": null,
"productCode": "tmplt",
"spec": "openrichcard",
"cardType": "description",
"agencyId": null,
"inputText": "test",
"attribute": [
"주점",
"유통/커머스",
"출고"
],
"guideInfo": {
"maxLineCount": 0,
"maxDisplayText": 17,
"maxDescriptionSize": 90,
"imageWidth": "0",
"imageHeight": "0",
"detailInfo": null
},
"policyInfo": {
"cardCount": 1,
"maxMediaSize": 1048576,
"maxTitleSize": 0,
"maxButtonCount": 2,
"maxDescriptionSize": 90,
"adBodyAllowed": true,
"buttonsAllowed": false,
"adHeaderAllowed": false
},
"params": [
{
"param": "description",
"isMandatory": true,
"type": "String",
"contentType": "description",
"strSize": -1,
"fileSize": null,
"strRegx": "^(test)$",
"verification": [
"test"
],
"imageWidth": null,
"imageHeight": null,
"couplingId": null,
"inputText": null,
"relationId": null
}
],
"formattedString": {
"RCSMessage": {
"openrichcardMessage": {
"layout": {
"orientation": "vertical",
"widget": "LinearLayout",
"children": [
{
"widget": "ImageView",
"mediaUrl": "maapfile://LT-20....Rg",
"width": "content",
"marginBottom": "8dp",
"paddingTop": "16dp",
"height": "content"
},
{
"orientation": "vertical",
"widget": "LinearLayout",
"paddingBottom": "8dp",
"children": [
{
"widget": "TextView",
"textSize": "17dp",
"paddingBottom": "8dp",
"textAlignment": "textStart",
"width": "content",
"text": "{{description}}",
"textColor": "#404040",
"height": "content"
}
],
"width": "match",
"height": "content"
}
],
"background": "#ffffff",
"paddingRight": "16dp",
"width": "284dp",
"paddingLeft": "16dp",
"height": "content"
},
"suggestions": [],
"zoomAllowed": "true",
"card": "open_rich_card"
},
"trafficType": "advertisement"
}
}
}
]
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.q...5/messagebase/UBR.q...n" \
-H "accept: */*" \
-H "brandKey: BK.z...D" \
-H "Authorization: Bearer {token}"

기능 설명: Messagebase를 등록합니다.


POST /rcs/v1.1/{brandId}/messagebase HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
NameType필수설명크기
messagebaseformIdString●템플릿 양식 ID최대 10자
custTmpltIdString●사용자 지정 템플릿ID로 영문/숫자 25자 이내만 가능최대 25자
tmpltNameString●템플릿명최대 40자
brandIdString●브랜드 ID최대 13자
agencyIdString-대행사 ID최대 20자
formattedStringObject●오픈리치카드를 구성하는 Widget 의 속정 정보 객체입니다.

{
"code": "100000",
"message": "성공"
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1.1/BR.vC...h/messagebase" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"messagebaseformId": "ITHIMS",
"tmpltName": "템플릿명",
"brandId": "BR.W.....D",
"custTmpltId": "T.....i",
"agencyId": "uplus",
"body": [
{
"param": "description",
"value": "{{고객}}님 RCS 테스트 발송입니다. "
},
{
"param": "title",
"value": "제목입력"
},
{
"param": "media",
"value": "maapfile://LT-BR.W.....2"
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"displayText": "URL 링크 버튼명",
"postback": {
"data": "set_by_chatbot_open_url"
},
"urlAction": {
"openUrl": {
"url": "https://www.naver.com/"
}
}
}
}
]
}
]
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1.1/BR.vC...h/messagebase" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"brandId": "BR.v....h",
"messagebaseformId": "ITTBNV",
"custTmpltId": "Test0001",
"tmpltName": "썸네일 세로형",
"agencyId": "uplus",
"body": [
{
"param": "media",
"value": "maapfile://thumbMain"
},
{
"param": "title",
"value": "제목"
},
{
"param": "description",
"value": "{{고객}}님 RCS 발송입니다."
},
{
"param": "subDesc1",
"value": "썸네일내용1"
},
{
"param": "subDesc2",
"value": "썸네일내용2"
},
{
"param": "subDesc3",
"value": "썸네일내용3"
},
{
"param": "subMedia1",
"value": "maapfile://thumb1"
},
{
"param": "subMedia2",
"value": "maapfile://thumb2"
},
{
"param": "subMedia3",
"value": "maapfile://thumb3"
}
],
"buttons": [ ] -- 하단의 버튼 유형별 json을 참고해주세요.
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1.1/BR.vC...h/messagebase" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"brandId": "BR.v....h",
"messagebaseformId": "ITTBNH",
"custTmpltId": "Test0001",
"tmpltName": "썸네일 가로형",
"agencyId": "uplus",
"body": [
{
"param": "media",
"value": "maapfile://thumbMain"
},
{
"param": "title",
"value": "제목"
},
{
"param": "description",
"value": "{{고객}}님 RCS 발송입니다."
},
{
"param": "subMedia1",
"value": "maapfile://thumb1"
},
{
"param": "subMedia2",
"value": "maapfile://thumb2"
},
{
"param": "subMedia3",
"value": "maapfile://thumb3"
}
],
"buttons": [ ] -- 하단의 버튼 유형별 json을 참고해주세요.
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1.1/BR.vC...h/messagebase" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"brandId": "BR.v....h",
"messagebaseformId": "ITHITS", -- ITHITS(이미지 1:1) ITHITV(이미지 3:4)
"custTmpltId": "Test0001",
"tmpltName": "이미지강조형",
"agencyId": "uplus",
"body": [
{
"param": "media",
"value": "maapfile://thumbMain"
},
{
"param": "title",
"value": "제목"
},
{
"param": "subTitle1",
"value": ""
},
{
"param": "subTitle2",
"value": ""
},
{
"param": "subTitle3",
"value": ""
},
{
"param": "subDesc1",
"value": ""
},
{
"param": "subDesc2",
"value": ""
},
{
"param": "subDesc3",
"value": ""
}
],
"buttons": [ ] -- 하단의 버튼 유형별 json을 참고해주세요.
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1.1/BR.vC...h/messagebase" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"brandId": "BR.v....h",
"messagebaseformId": "ITSNSH", -- ITSNSH(중간버튼형) ITSNSS(하단버튼형)
"custTmpltId": "Test0001",
"tmpltName": "SNS형",
"agencyId": "uplus",
"body": [
{
"param": "media",
"value": "maapfile://Main"
},
{
"param": "title",
"value": "제목"
},
{
"param": "description",
"value": "{{고객}}님 RCS 발송입니다."
}
],
"buttons": [ ] -- 하단의 버튼 유형별 json을 참고해주세요.
}'
curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1.1/BR.vC...h/messagebase" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"brandId": "BR.v....h",
"messagebaseformId": "ITCRM2", -- 슬라이드갯수에 따라 ITCRM2 ~ ITCRM6
"custTmpltId": "Test0001",
"tmpltName": "슬라이드형",
"agencyId": "uplus",
"body": [
{
"param": "media1",
"value": "maapfile://...media1"
},
{
"param": "title1",
"value": "제목"
},
{
"param": "description1",
"value": "슬라이드1 내용"
},
{
"param": "media2",
"value": "maapfile://...media2"
},
{
"param": "title2",
"value": "제목"
},
{
"param": "description2",
"value": "슬라이드2 내용"
},
{
"param": "media3",
"value": "maapfile://...media3"
},
{
"param": "title3",
"value": "제목"
},
{
"param": "description3",
"value": "슬라이드3 내용"
},
{
"param": "media4",
"value": "maapfile://...media4"
},
{
"param": "title4",
"value": "제목"
},
{
"param": "description4",
"value": "슬라이드4 내용"
},
{
"param": "media5",
"value": "maapfile://...media5"
},
{
"param": "title5",
"value": "제목"
},
{
"param": "description5",
"value": "슬라이드5 내용"
},
{
"param": "media6",
"value": "maapfile://...media6"
},
{
"param": "title6",
"value": "제목"
},
{
"param": "description6",
"value": "슬라이드6 내용"
}
],
"buttons": [ ] -- 하단의 버튼 유형별 json을 참고해주세요.
}'

RCS 버튼 유형별 json 예시입니다.

"buttons": [
{
"suggestions": [
{
"action": {
"displayText": "상품 상세보기(버튼명)",
"postback": {
"data": "set_by_chatbot_open_url"
},
"urlAction": {
"openUrl": {
"url": "https://example.com/product/123"
}
}
}
}
]
}
]
"buttons": [
{
"suggestions": [
{
"action": {
"displayText": "복사하기 버튼명",
"clipboardAction": {
"copyToClipboard": {
"text": "복사할 내용"
}
},
"postback": {
"data": "set_by_chatbot_copy_to_clipboard"
}
}
}
]
}
]
"buttons": [
{
"suggestions": [
{
"action": {
"displayText": "전화걸기 버튼명",
"postback": {
"data": "set_by_chatbot_dial_phone_number"
},
"dialerAction": {
"dialPhoneNumber": {
"phoneNumber": "01012341234"
}
}
}
}
]
}
]
"buttons": [
{
"suggestions": [
{
"action": {
"displayText": "일정추가 버튼명",
"postback": {
"data": "set_by_chatbot_create_calendar_event"
},
"calendarAction": {
"createCalendarEvent": {
"description": "일정 내용",
"startTime": "2025-07-09T00:00:00Z",
"endTime": "2025-07-10T23:59:59Z",
"title": "일정 제목"
}
}
}
}
]
}
]
"buttons": [
{
"suggestions": [
{
"action": {
"mapAction": {
"requestLocationPush": {}
},
"displayText": "현재위치 공유 버튼명",
"postback": {
"data": "set_by_chatbot_request_location_push"
}
}
}
]
}
]
"buttons": [
{
"suggestions": [
{
"action": {
"mapAction": {
"showLocation": {
"fallbackUrl": "지도 APP 미작동시 대체할 URL",
"location": {
"latitude": "위도",
"label": "지도 APP에 표시될 라벨",
"longitude": "경도"
}
}
},
"displayText": "지도 버튼명",
"postback": {
"data": "set_by_chatbot_show_location"
}
}
}
]
}
]
"buttons": [
{
"suggestions": [
{
"action": {
"mapAction": {
"showLocation": {
"fallbackUrl": "지도 APP 미작동시 대체할 URL",
"location": {
"query": "지도 APP에서 검색할 구문"
}
}
},
"displayText": "지도 버튼명",
"postback": {
"data": "set_by_chatbot_search_locations"
}
}
}
]
}
]

기능 설명: Messa요청base를 업데이트 합니다. 템플릿의 업데이트는 승인상태에 따라 처리 여부가 결정됩니다.


PUT /rcs/v1/brand/{brandId}/messagebase/{messagebaseId} HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
messagebaseIdString●메시지베이스ID Path Parameter 입니다.-
NameType필수설명크기
messagebaseformIdString●템플릿 양식 ID최대 10자
custTmpltIdString●사용자 지정 템플릿ID로 영문/숫자 25자 이내만 가능최대 25자
tmpltNameString●템플릿명최대 40자
brandIdString●브랜드 ID최대 13자
agencyIdString-대행사 ID최대 20자
formattedStringObject●오픈리치카드를 구성하는 Widget 의 속정 정보 객체입니다.

{
"code": "100000",
"message": "성공",
"result": [
{
"brandId": "BR.q...5",
"brandName": "테스트 브랜드",
"agencyId": "AG.123456",
"approvalStatus": "approved",
"chatbotDate": "2023-01-01T00:00:00Z",
"messagebaseDate": "2023-01-01T00:00:00Z",
"regDt": "2023-01-01T00:00:00Z",
"updDt": "2023-01-01T00:00:00Z",
"approvalDt": "2023-01-01T00:00:00Z"
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 100
}
}

curl -X PUT "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.v...h/messagebase/UBR.v...c" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"
-d "{
"messagebaseformId": "EE001D",
"custTmpltId": "TEST0001",
"tmpltName": "TEST0001 수정",
"brandId": "BR.v...h",
"agencyId": "uplus",
"formattedString": {
"RCSMessage": {
"trafficType": "advertisement",
"openrichcardMessage": {
"card": "open_rich_card",
"layout": {
"width": "284dp",
"height": "content",
"widget": "LinearLayout",
"children": [
{
"width": "content",
"height": "content",
"widget": "ImageView",
"mediaUrl": "maapfile://LT-200820124159649-HpvY",
"paddingTop": "16dp",
"marginBottom": "8dp"
}
],
"background": "#ffffff",
"orientation": "vertical",
"paddingLeft": "16dp",
"paddingRight": "16dp"
},
"suggestions": [
{
"action": {
"postback": {
"data": "set_by_chatbot_copy_to_clipboard"
},
"displayText": "복사하기",
"clipboardAction": {
"copyToClipboard": {
"text": "복사하기"
}
}
}
}
],
"zoomAllowed": true
}
}
}
}"

기능 설명: 브랜드 내 지정된 템플릿을 삭제합니다. 템플릿의 삭제는 승인상태에 따라 처리 여부가 결정됩니다. 한번 삭제된 템플릿은 복원이 불가능하며 동일한 ID로 생성할 수 없습니다.


DELETE /rcs/v1/brand/{brandId}/messagebase/{messagebaseId} HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
messagebaseIdString●메시지베이스ID Path Parameter 입니다.-

{
"code": "10000",
"message": "성공"
}

curl -X DELETE "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.n....h/messagebase/UBR.v.....4" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

기능 설명: 지정된 템플릿의 승인요청을 취소합니다. 각 상태별 취소 요청 동작은 다음과 같습니다.

승인대기 : 저장 상태로 변경
승인대기(수정) : 직전 승인 상태 및 데이터로 롤백
반려(수정) : 직전 승인 상태 및 데이터로 롤백
이외의 경우 에러 리턴


PUT /rcs/v1/brand/{brandId}/messagebase/{messagebaseId}/cancel HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.최대 13자
messagebaseIdString●메시지베이스ID Path Parameter 입니다.-

{
"code": "10000",
"message": "성공"
}

curl -X PUT "https://mnt-api.msghub.uplus.co.kr/rcs/v1/brand/BR.v...h/messagebase/UBR.vC....02/cancel" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

6.1. 대행사 하위 고객사 프로젝트 목록 조회

섹션 제목: “6.1. 대행사 하위 고객사 프로젝트 목록 조회”

기능 설명: 대행사가 계약된 고객사의 프로젝트 목록을 조회한다.


POST /rcs/v1/agency/brand/project HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
agencyIdString●RCS Biz Center에 등록된 대행사 ID 입니다.
regnosArray●조회 대상 고객사의 사업자등록번호 목록 입니다.

{
"code": "10000",
"message": "성공",
"data": {
"result": [
{
"corpId": "string",
"corpRegNum": "string",
"brandId": "string",
"brandName": "string",
"agencyId": "string",
"contracts": [
"string"
],
"registerDate": "string",
"updateDate": "string",
"brandDate": "string",
"chatbotDate": "string",
"messagebaseDate": "string"
}
]
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/brand/project?agencyId=.....&regnos=1.....1" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

6.2. 대행사 하위 고객사 프로젝트 연결

섹션 제목: “6.2. 대행사 하위 고객사 프로젝트 연결”

기능 설명: 대행사가 계약된 고객사의 프로젝트 목록을 조회한다.


POST /rcs/v1/agency/subCorp/subBrandProjectReg HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
projectIdString●연결할 프로젝트ID
corpIdString●연결할 회사ID
userIdString●연결 등록자 ID
subBrandsArray●연결할 브랜드 아이디 목록

{
"code": "10000",
"message": "성공"
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/subCorp/subBrandProjectReg?projectId=D....L&corpId=A....A&userId=S....Q&subBrands=BR.F....O" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

기능 설명: 대행사가 계약된 브랜드를 기업 단위로 조회한다.


GET ​/rcs​/v1​/agency​/{agencyId}​/corp​/{corpRegNum}​/brand HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
agencyIdString●RCS Biz Center에 등록된 대행사 ID 입니다.
corpRegNumString●대상 기업의 사업자등록번호(10자리) 입니다.
필드명타입필수 여부설명크기
offsetString●시작 offset 번호(default: 0) 입니다.
limitString●조회 최대 건수(default: 100, maximum: 1000) 입니다.

{
"code": "10000",
"message": "성공"
"data" :{
"result": [
{
"corpId": "string",
"corpRegNum": "string",
"brandId": "string",
"brandName": "string",
"agencyId": "string",
"contracts": [
"string"
],
"registerDate": "string",
"updateDate": "string",
"brandDate": "string",
"chatbotDate": "string",
"messagebaseDate": "string"
}
]
}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/a....k/corp/5....1/brand?offset=0&limit=100" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

6.4. 대행사 하위 브랜드 상세 조회

섹션 제목: “6.4. 대행사 하위 브랜드 상세 조회”

기능 설명: 대행사 하위 브랜드 상세 정보를 조회한다.


GET /rcs/v1/agency/{agencyId}/brand/{brandId} HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
agencyIdString●RCS Biz Center에 등록된 대행사 ID 입니다.
brandIdString●브랜드ID 입니다.

{
"code": "10000",
"message": "성공"
"data": [
{
"categoryId": "string",
"categoryName": "string",
"subCategories": [
{
"subCategoryId": "string",
"subCategoryName": "string"
}
],
"updateDate": "string"
}
],
"meta": {}
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/a....k/brand/BR.a...5" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

6.5. 대행사 하위고객 브랜드 수신 등록 목록 조회

섹션 제목: “6.5. 대행사 하위고객 브랜드 수신 등록 목록 조회”

기능 설명: 대행사 하위고객 브랜드 수신 등록 목록 조회


POST /rcs/v1/agency/subCorp/brandRegList HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
regnoString●사업자번호
brandIdString-브랜드ID 입니다.

{
"code": "10000",
"message": "성공"
"data": [
{
"regno":"사업자번호",
"brandId":"브랜드id",
"regId":"등록자id",
"regDt":"등록일자"
}
]
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/subCorp/brandRegList?regno=2.....8&brandId=BR.5.....A3" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

6.6. 대행사 하위고객 브랜드 수신 등록 설정/해제

섹션 제목: “6.6. 대행사 하위고객 브랜드 수신 등록 설정/해제”

기능 설명: 대행사 하위고객 브랜드 수신 등록을 설정하거나 해제합니다.


POST /rcs/v1/agency/subCorp/brand HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
confYnString●수신 제외 브랜드 등록/삭제(Y : 등록, N : 삭제)1자

{
"code": "10000",
"message": "성공"
"data": { }
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/subCorp/brand?confYn=Y" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

6.7. 대행사 하위고객 브랜드 수신 등록/제외

섹션 제목: “6.7. 대행사 하위고객 브랜드 수신 등록/제외”

기능 설명: 대행사 하위고객 브랜드 수신 등록을 설정하거나 해제합니다.


POST /rcs/v1/agency/subCorp/brandReg HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자
필드명타입필수 여부설명크기
subBrandsRegString●수신 제외 브랜드 등록/삭제(Y : 등록, N : 삭제)1자
subBrandsArray●하위브랜드 목록

{
"code": "10000",
"message": "성공"
"data": { }
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/subCorp/brandReg?subBrandsReg=Y&subBrands=BR.d...a" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

기능 설명: 대행사 브랜드, 메시지베이스, 챗봇 동기화 요청


POST /rcs/v1/agency/brand/sync HTTP/1.1
필드명타입필수 여부설명크기
apiIdString●RCS Biz Center에 가입시 등록한 ID 입니다.최대 20자
apiSecretString●RCS Biz Center에 가입시 발급된 clientSecret 입니다.최대 18자

{
"code": "10000",
"message": "성공"
"data": { }
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/agency/brand/sync" \
-H "accept: */*" \
-H "apiId: ....." \
-H "apiSecret: ....." \
-H "Authorization: Bearer {token}"

6.9. 대행사 양방향 청약 고객 목록 조회

섹션 제목: “6.9. 대행사 양방향 청약 고객 목록 조회”

GET ​/rcs​/v1​/agency​/bi​/corpUnitList HTTP/1.1

{
"code": "10000",
"message": "성공"
"data": [
{
"regNo": "사업자번호",
"corpName": "회사명",
"regDate": "등록일시"
}
]
}

curl -X GET "https://mnt-api.msghub.uplus.co.kr/rcs​/v1​/agency​/bi​/corpUnitList" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

6.10. 대행사 양방향 청약 고객 등록

섹션 제목: “6.10. 대행사 양방향 청약 고객 등록”

POST ​/rcs​/v1​/agency​/bi​/corpUnit HTTP/1.1
필드명타입필수 여부설명크기
regNoString●사업자번호최대 20자
corpNameString●사업자명최대 50자

{
"code": "10000",
"message": "성공",
"data": {},
"meta": {}
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs​/v1​/agency​/bi​/corpUnit" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

6.11. 대행사 양방향 청약 고객 삭제

섹션 제목: “6.11. 대행사 양방향 청약 고객 삭제”

DELETE ​/rcs​/v1​/agency​/bi​/corpUnit/{regNo} HTTP/1.1
필드명타입필수 여부설명크기
regNoString●사업자번호최대 20자

{
"code": "10000",
"message": "성공",
"data": {},
"meta": {}
}

curl -X DELETE "https://mnt-api.msghub.uplus.co.kr/rcs​/v1/agency/bi/corpUnit/1.....9" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

7.1. 캠페인 메시지 발송/읽음확인 통계 조회

섹션 제목: “7.1. 캠페인 메시지 발송/읽음확인 통계 조회”

기능 설명: 동일 Group ID에 발송일 기준 3일간 (D+3) 집계됩니다. 단, 이통사별 발송 성공건수 100건 이상인 경우에 한해 집계됩니다. 통계 조회 기간은 데이터 존재 시 최근 1년 6개월 이내 기간 중 최대 31일까지 검색 가능합니다.


POST /rcs/v1/statQuery/message/{brandId} HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드ID최대 13자
필드명타입필수 여부설명크기
brandKeyString●RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key-
startDateString●요청시작일자20250501
endDateString●요청종료일자20250530
campaignIdString●발송 캠페인 구분 ID-
chatbotIdString-대화방ID-

{
"code": "10000",
"message": "성공",
"data": {
"status": "200",
"code": "20000000",
"result": [
{
"statDate": "통계시작날짜",
"corpId": "rbc에 등록된 회사id",
"corpRegNum": "사업자번호",
"brandId": "브랜드id",
"chatbotId": "대화방 id",
"groupId": "발송 캠페인 구분id",
"deliveredCount": 발송건수,
"displayedCount": 읽음확인건수
}
]
}
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/statQuery/message/BR.xV...M?brandKey=BK.Y...5&startDate=20250601&endDate=20250630&campaignId=1...6&chatbotId=1...3" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

7.2. 캠페인 메시지 버튼 클릭 통계 조회

섹션 제목: “7.2. 캠페인 메시지 버튼 클릭 통계 조회”

기능 설명: 동일 Group ID에 발송일 기준 3일간 (D+3) 집계됩니다. 단, 이통사별 발송 성공건수 100건 이상인 경우에 한해 집계됩니다. 통계 조회 기간은 데이터 존재 시 최근 1년 6개월 이내 기간 중 최대 31일까지 검색 가능합니다.


POST /rcs/v1/statQuery/messageButton/{brandId} HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드ID최대 13자
필드명타입필수 여부설명크기
brandKeyString●RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key-
startDateString●요청시작일자20250501
endDateString●요청종료일자20250530
campaignIdString●발송 캠페인 구분 ID-
chatbotIdString-대화방ID-

{
"code": "10000",
"message": "성공",
"data": {
"status": "200",
"code": "20000000",
"result": [
{
"statDate": "통계시작일",
"corpId": "rbc 등록된 회사id",
"corpRegNum": "사업자번호",
"brandId": "브랜드id",
"chatbotId": "대화방 id",
"groupId": "발송 캠페인 구분 id",
"buttonList": [
{
"buttonType": "버튼 타입",
"buttonName": "버튼명",
"clickCount": 클릭수
}
]
}
]
}
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/statQuery/message/BR.xV...M?brandKey=BK.Y...5&startDate=20250601&endDate=20250630&campaignId=1...6&chatbotId=1...3" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

7.3. 대화방 메뉴 클릭 통계 조회

섹션 제목: “7.3. 대화방 메뉴 클릭 통계 조회”

기능 설명: 대화방별 1건 이상 사용자선택이 일어난 경우에 대해 집계됩니다. 통계 조회 기간은 데이터 존재 시 최근 1년 6개월 이내 기간 중 최대 31일까지 검색 가능합니다.


POST ​/rcs​/v1​/statQuery​/persistentMenu​/{brandId} HTTP/1.1
필드명타입필수 여부설명크기
brandIdString●브랜드ID최대 13자
필드명타입필수 여부설명크기
brandKeyString●RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key-
startDateString●요청시작일자20250501
endDateString●요청종료일자20250530
chatbotIdString-대화방ID-

{
"code": "10000",
"message": "성공",
"data": {
"status": "200",
"code": "20000000",
"result": [
{
"statDate": "통계시작일",
"corpId": "rbc 등록된 회사id",
"corpRegNum": "사업자번호",
"brandId": "브랜드id",
"chatbotId": "대화방 id",
"menuList": [
{
"postbackId": "menu1",
"menuType": "메뉴 타입(action, reply, autoreply, menu)",
"actionType": "메뉴 타입이 action인 경우 액션유형",
"title": "메뉴명",
"clickCount": 클릭수,
"subList": [
{
"postbackId": "submenu1",
"menuType": "action",
"actionType": "urlAction",
"title": "제품 소개",
"clickCount": 45,
"subActionList": [
{
"postbackId": "act1",
"actionType": "urlAction",
"title": "상세 보기",
"clickCount": 22
}
]
}
]
}
]
}
]
}
}

curl -X POST "https://mnt-api.msghub.uplus.co.kr/rcs/v1/statQuery/persistentMenu/BR.x...M?brandKey=BK.Y...5&startDate=20250601&endDate=20250630&chatbotId=1...3" \
-H "accept: */*" \
-H "Authorization: Bearer {token}"

  • RCS 공통
    • 지원 형식: JPG, JPEG, PNG, BMP, GIF
    • 파일 크기: 최대 1MB
  • 이미지형(세로형)
    • 사이즈: 568x336px (권장)
  • 이미지형(이미지 강조)
    • 사이즈: 900x900px 또는 900x1200px (필수)
  • 썸네일형
    • 이미지 사이즈: 900x560px (필수)
    • 썸네일 이미지 사이즈: 300x300px (필수)
  • SNS형
    • 사이즈: 900x900px (필수)
  • SNS형(중간버튼)
    • 사이즈: 900x560px (필수)
  • 슬라이드형(Small)
    • 사이즈: 360x336px (권장) / 360x1620px (최대)
  • 슬라이드형(Medium)
    • 사이즈: 696x504px (권장) / 696x1620px (최대)