{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062105",
"messagebaseformId": "TATA001C",
"tmpltName": "타이틀자유형-스타일",
"agencyId": "",
"body": [
{
"param": "title1",
"value": "제목",
"decoration": {
"textStyle": "bold",
"textSize": "18dp",
"textAlignment": "textStart",
"textColor": "#232329"
}
},
{
"param": "title2",
"value": "{{2}}",
"decoration": {
"textStyle": "bold",
"textSize": "18dp",
"textAlignment": "textStart",
"textColor": "#232329"
}
},
{
"param": "cell1",
"value": "{{1}}"
},
{
"param": "cell2",
"value": "{{2}}"
},
{
"param": "cell3",
"value": "{{3}}"
},
{
"param": "cell4",
"value": "{{4}}"
},
{
"lineIndex": 2
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"dialerAction": {
"dialPhoneNumber": {
"phoneNumber": "1522{{지점번호}}"
}
},
"displayText": "고객센터",
"postback": {
"data": "set_by_chatbot_dial_phone_number"
}
}
},
{}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024061905",
"messagebaseformId": "TATA001D",
"tmpltName": "타이틀자유형-서술",
"agencyId": "",
"body": [
{
"param": "title1",
"value": "제목"
},
{
"param": "description",
"value": "내일 서울 낮 기온은 {{내일기온}}도로 오늘보다 {{온도차이}}도 정도 더 높겠습니다."
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"displayText": "url 연결_수정",
"postback": {
"data": "set_by_chatbot_open_url"
},
"urlAction": {
"openUrl": {
"url": "https://phoneppu.com"
}
}
}
},
{
"action": {
"dialerAction": {
"dialPhoneNumber": {
"phoneNumber": "1522{{지점번호}}"
}
},
"displayText": "고객센터",
"postback": {
"data": "set_by_chatbot_dial_phone_number"
}
}
}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062001",
"messagebaseformId": "ITHITS",
"tmpltName": "이미지&타이틀 강조형",
"agencyId": "",
"body": [
{
"param": "media",
"value": "maapfile://LT-logo.common-Efehqa"
},
{
"param": "mediaUrl",
"value": "https://post.naver.com/viewer/postView.naver?memberNo=49797427&volumeNo=34609427&abvc={{abvc}}"
},
{
"param": "title",
"value": "메리어트 창립 95주년을 맞아 한국을 찾았다."
},
{
"param": "subTitle1",
"value": "이벤트"
},
{
"param": "subDesc1",
"value": "최근 여행업계에는 다시 ‘봄’이 찾아온 모습이다."
},
{
"param": "subTitle2",
"value": "여행업계"
},
{
"param": "subDesc2",
"value": "제주도는 내국인 관광객 1000만 명을 돌파했다."
},
{
"param": "subTitle3",
"value": "가을여행"
},
{
"param": "subDesc3",
"value": "{{이것}}의 긍정적인 부분은 이 숫자 역시 빠르게 회복 중이라는 것"
}
]
}{
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062010",
"messagebaseformId": "ITHIMS",
"tmpltName": "이미지강조형",
"agencyId": "",
"body": [
{
"param": "media",
"value": "maapfile://LT-logo.common-Efehqa"
},
{
"param": "mediaUrl",
"value": "https://www.kurly.com/{{shop}}/event/kurlyEvent.php?htmid=event%2Fjoin%2Fjoin&%243p=a_custom_741527000799871056&%24deeplink_path=home&%24android_passive_deepview=false&%24ios_passive_deepview=false&~tags=3004&~stage=2210&~campaign=1000072629&~keyword=non_time_B_101412&utm_source=3004&utm_medium=2210&utm_campaign=1000072629&utm_content=non_time_B_101412&_branch_match_id=1037612873204479401&_branch_referrer=H4sIAAAAAAAAA32P3W6EIBSEnwYvFdCV2oQ0bXb3oi9BWKQLVX4iKNm3L2h71aYJyeGbM0wGFaMPz00zrcv8qLn39azt1Kj3KBLp57O4vQDctZ5yJtYQnWGkQydMIIRkGJ4Igqe%2Byo5RSl9eMs%2BjosoZWVRux8XpMYsh6E2y4tq0TPSDz2F3aBf%2B2ebLfONiYrkdVaUqaF8BvuaTUqqP0sKZzEE5n4fcpI157qtLgdorD9qrikaPoD3%2FGD6dtt%2BjAuQS%2BT3QFsKuQMgkKcYIFhLceK7vliJYfo17PBR5ko%2FklpFaZ1nURrI3hiDqEK7WaFhw6yLkkVjYyFGv5sgs%2FFforjsbc8HfqV%2BPT9huqQEAAA%3D%3D"
},
{
"param": "title",
"value": "한국 시장의 2022년 3분기 예측"
},
{
"param": "description",
"value": "코로나19 사태 이전의 수요를 회복한 것을 넘어 더욱 성장했다는 점에서 큰 의미가 있다. 앞으로의 전망도 밝다. 최근의 상황을 봤을 때 4분기에는 코로나19 사태 이후 처음으로 객실 예약률이 {{퍼센트}}%가 넘을 것으로 예측된다.",
"decoration": {}
},
{
"param": "subTitle1",
"value": "이벤트"
},
{
"param": "subDesc1",
"value": "최근 여행업계에는 다시 ‘봄’이 찾아온 모습이다."
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"mapAction": {
"showLocation": {
"location": {
"latitude": "14133843.9742104",
"longitude": "4516756.2469226",
"label": "서울역"
},
"fallbackUrl": "https://info.korail.com/info/index.do"
}
},
"displayText": "서울역",
"postback": {
"data": "set_by_chatbot_show_location"
}
}
},
{
"action": {
"clipboardAction": {
"copyToClipboard": {
"text": "{{복사텍스트}} 되었습니다."
}
},
"displayText": "복사하기",
"postback": {
"data": "set_by_chatbot_copy_to_clipboard"
}
}
}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062004",
"messagebaseformId": "ITTBNH",
"tmpltName": "썸네일형",
"agencyId": "",
"body": [
{
"param": "media",
"value": "maapfile://LT-BR.kpxN0UgshA-6eyF"
},
{
"param": "mediaUrl",
"value": "https://www.paris.co.kr/{{URL1}}/{{URL2}}"
},
{
"param": "title1",
"value": "오픈호텔"
},
{
"param": "description",
"value": "2018년부터 오픈한 호텔이 {{오픈개수}}개에 달한다. 그리고 내년 초까지 {{신규도시}} 등에 총 5개의 신규 호텔이 문을 연다. 이렇게 되면 총 18개의 호텔을 한국에서 운영하게 된다."
},
{
"param": "subMedia1",
"value": "maapfile://LT-BR.kpxN0UgshA-rCLj"
},
{
"param": "subMediaUrl1",
"value": "https://n.news.naver.com/article/016/{{articleId1}}"
},
{
"param": "subMedia2",
"value": "maapfile://LT-BR.kpxN0UgshA-F8C5"
},
{
"param": "subMediaUrl2",
"value": "https://n.news.naver.com/article/050/{{articleId2}}"
},
{
"param": "subMedia3",
"value": "maapfile://LT-BR.kpxN0UgshA-HOCI"
}
],
"buttons": []
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062006",
"messagebaseformId": "ITSNSH",
"tmpltName": "SNS형",
"agencyId": "",
"body": [
{
"param": "media",
"value": "maapfile://LT-logo.common-34FDUE"
},
{
"param": "mediaUrl",
"value": "http://rcsbizcenter.com"
},
{
"param": "title",
"value": "상품명에 '마약' 이름 못쓴다.",
"decoration": {}
},
{
"param": "description",
"value": "앞으로 '{{금지단어}}김밥', '{{금지단어}}떡볶이'등 '{{금지단어}}'이라는 단어를 상품명 앞에 붙일 수 없을 것으로 보인다.",
"decoration": {}
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"calendarAction": {
"createCalendarEvent": {
"startTime": "2022-09-01T00:00:00+09",
"endTime": "2022-09-30T00:00:00+09",
"title": "호텔 숙박 이벤트를 실시합니다!",
"description": "{{이벤트설명}}"
}
},
"displayText": "호텔 숙박 이벤트를 실시합니다",
"postback": {
"data": "set_by_chatbot_create_calendar_event"
}
}
},
{
"action": {
"mapAction": {
"requestLocationPush": {}
},
"displayText": "현재위치를 보내드립니다",
"postback": {
"data": "set_by_chatbot_request_location_push"
}
}
}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test20240620",
"messagebaseformId": "ITCRM3",
"tmpltName": "슬라이드형",
"agencyId": "",
"body": [
{
"param": "media1",
"value": "maapfile://LT-logo.common-34FDUE"
},
{
"param": "description1",
"value": "내용 1번이 들어갑니다."
},
{
"param": "media2",
"value": "maapfile://LT-logo.common-34FDUE"
},
{
"param": "title2",
"value": "제 2장, {{ttl2}}"
},
{
"param": "description2",
"value": "제 2장, 설명: {{desc2}}"
},
{
"param": "media3",
"value": "maapfile://LT-logo.common-34FDUE"
},
{
"param": "description3",
"value": "제 3장, 설명"
}
],
"buttons": [
{
"suggestions": [
{},
{
"action": {
"dialerAction": {
"dialPhoneNumber": {
"phoneNumber": "15221601"
}
},
"displayText": "고객센터1",
"postback": {
"data": "set_by_chatbot_dial_phone_number"
}
}
}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062109",
"messagebaseformId": "CLL00004",
"tmpltName": "LMS형-기본",
"agencyId": "",
"body": [
{
"param": "mTitle",
"value": "움직이는 아이콘!:수박:"
},
{
"param": "description",
"value": "내용만 입력합니다.\n{{1}}님 안녕하세요.\n동해물과 백두산이 {{2}} 하느님이 보우하사 우리 나라 만세!!\n{{2}}\n동일한 변수를 반복해서 써 봅니다.\n{{2}}"
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"urlAction": {
"openUrl": {
"url": "https://www.rcsbizcenter.com"
}
},
"displayText": "URL 버튼 입니다.",
"postback": {
"data": "set_by_chatbot_open_url"
}
}
}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062110",
"messagebaseformId": "CLL00001",
"tmpltName": "LMS형-명세서",
"agencyId": "",
"body": [
{
"param": "cellLeft1",
"value": "납부정보"
},
{
"param": "cellLeft2",
"value": "자동납부"
},
{
"param": "cellLeft3",
"value": "승인예정일"
},
{
"param": "cellLeft4",
"value": "통신요금"
},
{
"param": "cellLeft5",
"value": "부가사용금액"
},
{
"param": "cellLeft6",
"value": "납부하실금액"
},
{
"param": "cellRight2",
"value": "{{place}}}}"
},
{
"param": "cellRight3",
"value": "{{Month}}월{{day}}일"
},
{
"param": "cellRight4",
"value": "{{amount1}}"
},
{
"param": "cellRight5",
"value": "{{amount2}}"
},
{
"param": "cellRight6",
"value": "{{vat}}"
},
{
"param": "mTitle",
"value": "청구서함"
},
{
"lineIndex": 1
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"urlAction": {
"openUrl": {
"url": "https://www-qa.rcsbizcenter.com/"
}
},
"displayText": "청구서함바로가기",
"postback": {
"data": "set_by_chatbot_open_url"
}
}
}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"custTmpltId": "test2024062115",
"messagebaseformId": "CLT00001",
"tmpltName": "테이블아이템 강조형",
"agencyId": "",
"body": [
{
"param": "itemTitle",
"value": "명세서"
},
{
"param": "itemMedia",
"value": "LT-messagebase.common-2k8ydI"
},
{
"param": "cellLeft1",
"value": "누적"
},
{
"param": "cellLeft2",
"value": "일시불"
},
{
"param": "cellLeft3",
"value": "할부"
},
{
"param": "cellLeft4",
"value": "합계"
},
{
"param": "cellRight1",
"value": "{{누적금액}}"
},
{
"param": "cellRight2",
"value": "{{일시불금액}}"
},
{
"param": "cellRight3",
"value": "{{할부금}}"
},
{
"param": "cellRight4",
"value": "{{합계총액}}"
},
{
"lineIndex": 1
},
{
"lineIndex": 3
}
],
"buttons": []
}
array<object>
O
등록된 템플릿ID(= messagebaseId)
code
string
5
O
20000000
status
integer
3
O
200
desc
string
O
messagebaseId
string
O
등록된 템플릿ID(= messagebaseId)
{
"code": "20000000",
"desc": null,
"result": [
{
"messagebaseId": "UBR.u720xwadx0-test202406182"
}
],
"status": 200
}
{
"error": {
"code": "64002",
"message": "Invalid Brand Key"
},
"status": 400
}
{
"error": {
"code": "64106",
"message": "Invalid messagebaseId on path parameter"
},
"status": 400
}
{
"error": {
"code": "64318",
"message": "Invalid formattedString format - [media's value] file not logo type or not registered"
},
"status": 400
}
{
"error": {
"code": "64400",
"message": "required 900x900, image resolution is 280x103 (param:media, fileId:LT-messagebase.common-Zno7xg)"
},
"status": 400
}
{
"error": {
"code": "61003",
"message": "Invalid token"
},
"status": 401
}
{
"error": {
"code": "63001",
"message": "No Brand Permission"
},
"status": 403
}
error code는 RCS Biz Center - Response body error code 참조
브랜드 내에서 사용할 템플릿을 등록합니다.
모든 템플릿 등록이 가능하며, 템플릿 등록 시 사용되는 messagebaseformId의 params의 각 항목 중 템플릿에 표시될 내용을 입력하여 원하는 템플릿을 등록할 수 있습니다.
등록된 템플릿은 RCS Biz Center 운영자의 승인이 필요합니다.
/brand/{brandId}/v2/messagebase
maxLength: 13 - 브랜드 내 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.
maxLength: 18 - RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key 입니다.
대행사가 해당 브랜드에 대한 권한 여부를 판단하는데 사용됩니다. 따라서, 대행사 계정으로 브랜드 내 정보를 조회/등록/수정 API 연동 시 Header에 설정되어야 합니다.
maxLength: 13 - 브랜드ID
maxLength: 10 - 템플릿 양식 ID
maxLength: 25 - 사용자 지정 템플릿ID로 영문/숫자 25자 이내만 가능
maxLength: 40 - 템플릿명
maxLength: 20 - 대행사ID
messagebaseform JSON의 ROOT.params[n-1] object의 type 이 file, string 인 경우, 각 속성에 맞는 데이터 Object를 사용하여 템플릿을 구성합니다.
messageabseform JSON의 ROOT.params[n-1].isMandatory 가 true 이면 템플릿 등록을 위해 필수로 등록해야 하는 요소이므로 반드시 데이터를 설정해야 템플릿 등록이 가능합니다.
변수 mTitleMedia, itemMedia 에 사용할 이미지는 브랜드 로고(logo) 등록 후 발급된 fileId를 지정해야 합니다.
템플릿에 버튼을 설정하는 경우 지정합니다.
이통사 발송규격에서 제공되는 buttons와 동일한 사용 방식으로 템플릿에 표시되는 버튼을 지정할수 있습니다.
이미지 템플릿 슬라이드형의 경우 buttons 배열 내 object가 각 카드에 해당하며, object 하위 suggestions 배열 내에 messagebaseform의 policyInfo.maxButtonCount 지정 숫자 만큼 버튼을 등록할 수 있습니다.
지정 가능한 RCS 버튼 액션은 아래 링크의 파일을 확인해 주세요.
action의 displayText, postback을 제외한 action 하위 항목에 다음과 같이 변수부를 지정할 수 있습니다.
curl -L \
--request POST \
--url 'https://api-qa.rcsbizcenter.com/api/1.1/brand/{brandId}/v2/messagebase' \
--header 'Authorization: Bearer JWT' \
--header 'Content-Type: application/json' \
--data '{
"brandId": "text",
"messagebaseformId": "text",
"custTmpltId": "text",
"tmpltName": "text",
"agencyId": "text",
"body": [
{
"param": "text",
"value": "text",
"decoration": {
"textSize": "text",
"textAlignment": "textStart",
"textStyle": "bold",
"textColor": "text"
}
}
],
"buttons": [
{
"suggestions": [
{
"action": {
"displayText": "text",
"postback": {
"data": "text"
},
"urlAction": {
"openUrl": {
"url": "https://example.com"
}
}
}
}
]
}
]
}'