템플릿 수정_V2
Last updated
Last updated
{
"brandId": "BR.u720xwadx0",
"messagebaseformId": "TATA001C",
"tmpltName": "타이틀자유형-스타일",
"agencyId": "",
"body": [
{
"param": "title1",
"value": "제목1",
"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": [
{
"click": [
{
"action": {
"dialerAction": {
"dialPhoneNumber": {
"phoneNumber": "1522{{지점번호}}"
}
},
"displayText": "고객센터"
}
},
{}
]
}
]
}
{
"brandId": "BR.u720xwadx0",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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 참조
이미 등록된 템플릿의 내용을 수정합니다. messagebase의 ID를 유지하면서 내용을 변경하고자 하는 경우 사용이 가능합니다.
수정 등록된 템플릿은 RCS Biz Center 운영자의 승인이 필요합니다.
/brand/{brandId}/v2/messagebase/{messagebaseId}
maxLength: 13 - 브랜드 내 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.
messagebase ID Path parameter 입니다.
maxLength: 18 - RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key 입니다.
대행사가 해당 브랜드에 대한 권한 여부를 판단하는데 사용됩니다. 따라서, 대행사 계정으로 브랜드 내 정보를 조회/등록/수정 API 연동 시 Header에 설정되어야 합니다.
maxLength: 13 - 브랜드ID
maxLength: 10 - 템플릿 양식 ID
maxLength: 40 - 템플릿명
maxLength: 20 - 대행사ID
messagebaseform JSON의 ROOT.params[n-1] object의 type 이 file, string 인 경우, 각 속성에 맞는 데이터 Object를 사용하여 템플릿을 구성합니다.
messageabseform JSON의 ROOT.params[n-1].isMandatory 가 true 이면 템플릿 등록을 위해 필수로 등록해야 하는 요소이므로 반드시 데이터를 설정해야 템플릿 등록이 가능합니다.
템플릿에 버튼을 설정하는 경우 지정합니다.
이통사 발송규격에서 제공되는 buttons와 동일한 사용 방식으로 템플릿에 표시되는 버튼을 지정할수 있습니다.
이미지 템플릿 슬라이드형의 경우 buttons 배열 내 object가 각 카드에 해당하며, object 하위 suggestions 배열 내에 messagebaseform의 policyInfo.maxButtonCount 지정 숫자 만큼 버튼을 등록할 수 있습니다.
지정 가능한 RCS 버튼 액션은 아래 링크의 파일을 확인해 주세요.
action의 displayText, postback을 제외한 action 하위 항목에 다음과 같이 변수부를 지정할 수 있습니다.
curl -L \
--request PUT \
--url 'https://api-qa.rcsbizcenter.com/api/1.1/brand/{brandId}/v2/messagebase/{messagebaseId}' \
--header 'Authorization: Bearer JWT' \
--header 'Content-Type: application/json' \
--data '{
"brandId": "text",
"messagebaseformId": "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"
}
}
}
}
]
}
]
}'