All pages
Powered by GitBook
1 of 10

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

레이아웃 목록 조회

Request

Response

필드명
타입
길이
필수여부
기본값
설명

array<object>

O

레이아웃 기본 정보 입니다.

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

pagination

object

O

전체 건수와 페이징 조건을 제공합니다.

links

object

O

이전/다음 페이지 링크를 제공합니다. offset을 0이 아닌 limit보다 작은 양수값으로 설정한 경우 prev 는 null로 응답됩니다.

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

layoutId

string

40

레이아웃 ID 입니다.

layoutName

string

40

레이아웃 이름 입니다.

productCode

string

20

레이아웃의 메시지 상품 코드 입니다.

  • sms

  • lms

  • mms

status

string

레이아웃의 상태를 표시합니다.

  • ready : 사용

  • pause : 사용중지

registerId

string

20

등록자 ID 입니다.

registerDate

string

등록일시 입니다.

updateDate

string

수정일시 입니다.

approvalResult

string

레이아웃 등록 상태입니다. 레이아웃은 운영자 검수 없이 자동 등록됩니다.

  • 승인 : 이통3사에 정상 등록된 상태입니다.

  • 저장 : RBC 웹에서 저장만 했을 경우 상태이며 별도 등록요청을 해야 합니다.

  • 검수완료 : 이통 3사 등록 중 에러로 인해 최종 완료가 되지 않은 상태로 수정이나 삭제가 불가능한 상태입니다.

❖ response body sample

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "layoutId": "CLMBR.0a81DDlZjz-11GLm0hv4RX9zJB82D9r",
            "layoutName": "MMS_2024x06x26x10x11x22",
            "productCode": "mms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "leekmdevagency",
            "registerDate": "2024-07-03 10:44:51",
            "updateDate": "2024-07-03 10:44:51"
        },
        {
            "layoutId": "CLSBR.0a81DDlZjz-3WQxe43IgX1tnJnyqV04",
            "layoutName": "SMS_2024x06x26x10x11x22",
            "productCode": "sms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "leekmdevagency",
            "registerDate": "2024-07-03 10:35:04",
            "updateDate": "2024-07-03 10:35:04"
        },
        {
            "layoutId": "CLLBR.0a81DDlZjz-9OYjpEElL0HDIB079ac1",
            "layoutName": "2024x06x26x10x11x22",
            "productCode": "lms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "leekmdevagency",
            "registerDate": "2024-07-03 10:20:10",
            "updateDate": "2024-07-03 10:20:11"
        }
    ],
    "pagination": {
        "offset": 0,
        "limit": 100,
        "total": 3
    },
    "status": 200
}
{
    "error": {
        "code": "64001",
        "message": "Missing X-RCS-BrandKey header"
    },
    "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 참조

result

레이아웃 상세 조회

Request

Response

필드명
타입
길이
필수여부
기본값
설명

array<object>

O

레이아웃 상세 정보 입니다.

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

layoutId

string

40

샘플 레이아웃 상세 정보 입니다.

layoutName

string

40

샘플 레이아웃 이름 입니다.

productCode

string

20

샘플 레이아웃의 메시지 상품 코드 입니다.

status

string

샘플 레이아웃의 상태를 표시합니다.

  • ready : 사용

  • pause : 사용중지

registerId

string

20

등록자 ID 입니다.

registerDate

string

등록일시 입니다.

updateDate

string

수정일시 입니다.

approvalResult

string

레이아웃 등록 상태입니다. 레이아웃은 운영자 검수 없이 자동 등록됩니다.

  • 등록완료 : 이통3사에 정상 등록된 상태입니다.

  • 저장 : RBC 웹에서 저장만 했을 경우 상태이며 별도 등록요청을 해야 합니다.

  • 처리중 : 이통 3사 등록 중 에러로 인해 최종 완료가 되지 않은 상태로 수정이나 삭제가 불가능한 상태입니다.

spec

string

openrichcard

레이아웃 구조가 리치카드인지 오픈리치카드인지 구분합니다. 샘플 레이아웃은 오픈리치카드로 구성되어 있습니다.

cardType

string

64

카드 종류를 구분합니다. 레이아웃에 표시되는 카드 타입은 다음 두 가지로 제한됩니다.

  • format : 이통사 제공 공통포맷의 카드 타입입니다.

  • formatBr : 사용자가 등록한 레이아웃의 카드 타입입니다.

buttonColor

string

버튼에 지정된 컬러 값을 표시합니다. 지정된 경우 컬러 Hex 값(예,'#FFFFFF')이 표시되며, 미지정 시 빈값 입니다.

array<object>

카드 내의 최상위 영역으로 1개의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 headerYn = 'Y' 인 컴포넌트만 등록이 가능합니다.

array<object>

카드 내의 중간 영역으로 메시지 상품에서 지정한 개수의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 bodyYn = 'Y' 인 컴포넌트만 등록이 가능합니다. 예를 들어 LMS는 최대 6개의 컴포넌트를 지정할 수 있으며, 최대 개수 범위 내에서 각 영역별 배분할 수 있습니다.

  • Header 1개 지정 시 body 최대 5개

  • body만 지정 시 최대 6개

array<object>

카드 내의 최상위 영역으로 1개의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 footerYn = 'Y' 인 컴포넌트만 등록이 가능합니다. 현재는 footer에 사용자가 직접 지정하는 컴포넌트는 없습니다.

formattedString

object

샘플 레이아웃을 구성한 openrichcard 메시지 구조 정보 입니다. 레이아웃 등록/수정 시에는 컴포넌트를 활용하므로 formattedString 은 참조 데이터로 제공됩니다.

array<object>

템플릿의 개별 파라미터를 검수하기 위한 대상 파라미터 정보 객체입니다. 크기 관련 필드는 <=0 인 경우 체크하지 않습니다.

object

템플릿 작성에 필요한 가이드 정보를 제공하기 위하여 양식 정의 시 포함되는 정보입니다. 리치카드의 경우 messagebaseInfo에서 제공됩니다.

object

리치카드, 오픈리치카드에 포함된 content(title, description, media, button) 에 대한 검증 정책 저장을 위한 객체입니다.

GSMA RCC.07-v11.0 참조 https://www.gsma.com/solutions-and-impact/technologies/networks/wp-content/uploads/2019/10/RCC.07-v11.0.pdf

TTAK.KO-06.0410/R7 참조

https://committee.tta.or.kr/data/standard_view.jsp?secondDepthCode=PG1105&firstDepthCode=TC011&pk_num=TTAK.KO-06.0410/R7&commit_code=PG1105

headerComposition, bodyComposition, footerComposition - array<object>

필드명
타입
길이
필수여부
기본값
설명

index

integer

레이아웃 내 컴포넌트의 순번을 표시합니다. 등록 시에는 index를 지정하지 않으며, 배열 내 순서를 기준으로 처리됩니다.

componentId

string

40

O

지정할 컴포넌트 ID 입니다.

object

레이아웃 사용 시 컴포넌트에 적용될 수 있는 옵션입니다. 옵션 지정이 가능한 경우 표기됩니다.

options - object(0)

필드명
타입
길이
필수여부
기본값
설명

leftAlign

string

left

좌측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.

  • left : 좌측 정렬

  • right : 우측 정렬

  • center : 중앙 정렬

rightAlign

string

right

우측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.

  • left : 좌측 정렬

  • right : 우측 정렬

  • center : 중앙 정렬

leftTextStyle

string

normal

좌측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.

  • normal : 기본 스타일

  • bold : bold 스타일 적용

rightTextStyle

string

normal

우측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.

  • normal : 기본 스타일

  • bold : bold 스타일 적용

maxCount

integer

5

테이블의 행 개수를 지정합니다. 정의된 숫자 이외에는 지정할 수 없습니다.

  • 5 : 5행

  • 10 : 10행

Table / StyleTable등 테이블 컴포넌트의 옵션 정보 객체 입니다.

options - object(1)

필드명
타입
길이
필수여부
기본값
설명

color

string

버튼의 색상 설정 옵션입니다. 버튼의 색상은 브랜드 정보에서 지정한 templateColor 컬러 Hex 값과 동일해야 합니다. 빈값 지정 시 기본 버튼 컬러로 적용되며, 지정된 컬러 Hex 값이 templateColor의 값과 다르면 templateColor로 강제 설정됩니다.

VButton / HButton 등 버튼 컴포넌트의 옵션 정보 객체 입니다.

params - array<object>

필드명
타입
길이
필수여부
기본값
설명

param

string

20

O

검수 파라미터명. (영문, 한글, 숫자, '_' 만 사용)

isMandatory

boolean

false

필수여부. true인 경우 중계사에서 메시지 전송 요청 시 해당 필드가 없는 경우 MaaP FE에서 실패처리한다. false인 경우는 해당 필드가 없는 경우도 메시지 전송이 되도록 MaaP FE에서 적절하게 처리한다.

type

string

기술검사타입을 지정합니다.

  • string: 문자열 검사 대상

  • file: 파일 검사 대상

  • button: formattedString 내 button 제어 대상

  • layout: formattedString 내 button외 제어 대상

contentType

string

컨텐츠 유형, PolicyInfo 정책을 검사하는데 사용됩니다.

  • "title"

  • "description"

  • "maapfile"

  • "cell"

  • "displayText"

  • "url"

  • "etc"

  • "buttonName"

  • "visibility"

strSize

integer

글자 최대 크기, type이 string인 경우

fileSize

integer

파일 최대 크기, type이 file인 경우.

strRegx

string

65535

java regular expression, null 인경우 사용하지 않음. 예)

  1. 숫자만 : '^[0-9]*$'

  2. 영문자만 : '[a-zA-Z]*$'

  3. 한글만 : '^[가-힣]*$'

  4. 영어 & 숫자만 : '^[a-zA-Z0-9]*$'

  5. E-Mail : '^[a-zA-Z0-9]+@[a-zA-Z0-9]+$'

  6. 휴대폰 : '^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$'

  7. 일반전화 : '^\d{2,3}-\d{3,4}-\d{4}$'

  8. 주민등록번호 : '\d{6}-[1-4]\d{6}'

  9. IP 주소 : '([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})'

verification

array<string>

문장 패턴 정의 (SKT향) "안녕하세요", "님 ", "원입니다."

imageWidth

integer

이미지 해상도 가로 크기 (지정된 크기의 이미지를 등록해야 정상 발송 가능)

imageHeight

integer

이미지 해상도 세로 크기 (지정된 크기의 이미지를 등록해야 정상 발송 가능)

couplingId

string

20

파라미터 간 함께 처리되어야 하는 경우 동일한 값을 부여 즉, 같은 값의 couplingId가 지정되는 경우 지정된 파라미터는 모두 조건을 만족해야 정상 발송 처리됨

inputText

string

65535

템플릿 등록시 사용자 입력한 원본 문장(고정부 & 변수부)을 제공합니다. 단, cell방식의 타이틀 선택형은 제공되지 않습니다.

relationId

string

param과 관계가 있는 param을 의미합니다. 주로 현재 param이 입력되지 않을 경우 메시지 상에 노출여부와 연관된 visibility에 지정된 param을 표시합니다. 메시지 발송시 이통MaaP FE에서 핸들링하는 것으로 템플릿 등록이나 메시지 발송 param과는 무관하며, 참조 용도로 제공됩니다.

guideInfo - object

필드명
타입
길이
필수여부
기본값
설명

maxLineCount

integer

max 라인수

maxDisplayText

integer

버튼명 글자수

maxDescriptionSize

integer

카드별 max 본문 글자수

imageWidth

integer

이미지 권고 가로 사이즈 단위는 Pixel

imageHeight

integer

이미지 권고 세로 사이즈 단위는 Pixel

detailInfo

object

리치카드 메시지 상품별 1라인당 글자수, 타이틀 라인수 및 버튼 수에 따라 메시지가 잘려 보이지 않는 최대 라인수 정보를 제공합니다. 메시지가 수신된 단말에 따라 상이할 수 있으나 리치카드 RCS메시지 발송 시 권장사항으로 참고하시기 바랍니다. LMS와 MMS 12종 총 13종에 대해 개별 제공됩니다.

policyInfo

필드명
타입
길이
필수여부
기본값
설명

buttonsAllowed

boolean

MaaP FE /message의 buttons 사용 유무 true : buttons 필드 사용 false : buttons 에 값이 들어오면 실패 처리

adHeaderAllowed

boolean

header에 광고 인입 허가 여부 true : 광고인입 허용(MaaP FE /message의 header 체크안함) false : 광고인입 불허(MaaP FE /message이 header가 1(광고) 이면 실패 처리)

adBodyAllowed

boolean

광고 문구 허용 여부 true : 본문 광고 문구를 체크하지 않음 false : 본문이 "(광고)"로 시작하면 실패 처리

cardCount

integer

카드 개수

maxTitleSize

integer

개별 타이틀 글자 최대 수. 사용하지 않음.

maxButtonCount

integer

버튼 최대 개수

maxDescriptionSize

integer

RichCard인 경우(Carousel포함) Description들의 글자수 총합. OpenRichCard인 경우 변수부 글자수 총합. <=0 인 경우 사용하지 않음.

maxMediaSize

integer

Byte단위 미디어 크기 총합의 최대 크기, <=0 인 경우 사용하지 않음.

❖ response body sample

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "layoutId": "CLLBR.0a81DDlZjz-9OYjpEElL0HDIB079ac1",
            "layoutName": "2024x06x26x10x11x22",
            "productCode": "lms",
            "sampleLayoutId": null,
            "spec": "openrichcard",
            "buttonColor": null,
            "formattedString": {
                "RCSMessage": {
                    "openrichcardMessage": {
                        "scaleAllowed": true,
                        "layout": {
                            "orientation": "vertical",
                            "widget": "LinearLayout",
                            "children": [
                                {
                                    "orientation": "vertical",
                                    "widget": "LinearLayout",
                                    "visibility": "{{mTitleVsblty}}",
                                    "children": [
                                        {
                                            "orientation": "horizontal",
                                            "widget": "LinearLayout",
                                            "children": [
                                                {
                                                    "corner_radius": "4dp",
                                                    "marginRight": "4dp",
                                                    "widget": "ImageView",
                                                    "visibility": "{{mTitleMediaVsblty}}",
                                                    "mediaUrl": "{{mTitleMedia}}",
                                                    "scaleType": "fitXY",
                                                    "width": "24dp",
                                                    "height": "24dp"
                                                },
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "19dp",
                                                    "textAlignment": "textStart",
                                                    "width": "match",
                                                    "textStyle": "bold",
                                                    "text": "{{mTitle}}",
                                                    "textColor": "#1e1e1e",
                                                    "height": "content"
                                                }
                                            ],
                                            "gravity": "bottom",
                                            "width": "match",
                                            "height": "content"
                                        },
                                        {
                                            "widget": "View",
                                            "background": "#1e1e1e",
                                            "width": "match",
                                            "marginTop": "6dp",
                                            "height": "2dp"
                                        }
                                    ],
                                    "paddingRight": "14dp",
                                    "width": "match",
                                    "paddingLeft": "14dp",
                                    "marginTop": "14dp",
                                    "height": "content"
                                },
                                {
                                    "orientation": "vertical",
                                    "widget": "LinearLayout",
                                    "children": [
                                        {
                                            "padding": "4dp",
                                            "orientation": "vertical",
                                            "widget": "LinearLayout",
                                            "visibility": "{{descVsblty1}}",
                                            "children": [
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "17dp",
                                                    "visibility": "{{descTitleVsblty1}}",
                                                    "width": "match",
                                                    "marginBottom": "6dp",
                                                    "textStyle": "bold",
                                                    "text": "{{title1}}",
                                                    "textColor": "#1e1e1e",
                                                    "height": "content"
                                                },
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "15dp",
                                                    "width": "match",
                                                    "textStyle": "normal",
                                                    "text": "{{description1}}",
                                                    "textColor": "#1e1e1e",
                                                    "viewAll": "100",
                                                    "height": "content"
                                                }
                                            ],
                                            "width": "match",
                                            "marginTop": "6dp",
                                            "height": "content"
                                        },
                                        {
                                            "padding": "4dp",
                                            "orientation": "horizontal",
                                            "widget": "LinearLayout",
                                            "children": [
                                                {
                                                    "corner_radius": "8dp",
                                                    "widget": "Button",
                                                    "textSize": "15dp",
                                                    "visibility": "{{btnVsblty1}}",
                                                    "weight": 1,
                                                    "textColor": "#1e1e1e",
                                                    "click": {
                                                        "action": {
                                                            "displayText": "dummy",
                                                            "urlAction": {
                                                                "openUrl": {
                                                                    "url": ""
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "background": "#E4E4E4",
                                                    "textAlignment": "center",
                                                    "width": "content",
                                                    "text": "{{btnName1}}",
                                                    "textStyle": "normal",
                                                    "height": "36dp"
                                                },
                                                {
                                                    "corner_radius": "8dp",
                                                    "widget": "Button",
                                                    "textSize": "15dp",
                                                    "visibility": "{{btnVsblty2}}",
                                                    "weight": 1,
                                                    "textColor": "#1e1e1e",
                                                    "click": {
                                                        "action": {
                                                            "displayText": "dummy",
                                                            "urlAction": {
                                                                "openUrl": {
                                                                    "url": ""
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "marginLeft": "8dp",
                                                    "background": "#E4E4E4",
                                                    "textAlignment": "center",
                                                    "width": "content",
                                                    "text": "{{btnName2}}",
                                                    "textStyle": "normal",
                                                    "height": "36dp"
                                                }
                                            ],
                                            "width": "match",
                                            "marginTop": "8dp",
                                            "height": "content"
                                        },
                                        {
                                            "padding": "4dp",
                                            "orientation": "vertical",
                                            "widget": "LinearLayout",
                                            "visibility": "{{descVsblty2}}",
                                            "children": [
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "17dp",
                                                    "visibility": "{{descTitleVsblty2}}",
                                                    "width": "match",
                                                    "marginBottom": "6dp",
                                                    "textStyle": "bold",
                                                    "text": "{{title2}}",
                                                    "textColor": "#1e1e1e",
                                                    "height": "content"
                                                },
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "15dp",
                                                    "width": "match",
                                                    "textStyle": "normal",
                                                    "text": "{{description2}}",
                                                    "textColor": "#1e1e1e",
                                                    "viewAll": "100",
                                                    "height": "content"
                                                }
                                            ],
                                            "width": "match",
                                            "marginTop": "6dp",
                                            "height": "content"
                                        },
                                        {
                                            "padding": "4dp",
                                            "orientation": "vertical",
                                            "widget": "LinearLayout",
                                            "children": [
                                                {
                                                    "orientation": "vertical",
                                                    "widget": "LinearLayout",
                                                    "children": [
                                                        {
                                                            "corner_radius": "8dp",
                                                            "widget": "Button",
                                                            "textSize": "15dp",
                                                            "visibility": "{{btnVsblty3}}",
                                                            "textColor": "#1e1e1e",
                                                            "click": {
                                                                "action": {
                                                                    "displayText": "dummy",
                                                                    "urlAction": {
                                                                        "openUrl": {
                                                                            "url": ""
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "background": "#E4E4E4",
                                                            "textAlignment": "center",
                                                            "width": "match",
                                                            "text": "{{btnName3}}",
                                                            "textStyle": "normal",
                                                            "marginTop": "8dp",
                                                            "height": "36dp"
                                                        },
                                                        {
                                                            "corner_radius": "8dp",
                                                            "widget": "Button",
                                                            "textSize": "15dp",
                                                            "visibility": "{{btnVsblty4}}",
                                                            "textColor": "#1e1e1e",
                                                            "click": {
                                                                "action": {
                                                                    "displayText": "dummy",
                                                                    "urlAction": {
                                                                        "openUrl": {
                                                                            "url": ""
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "background": "#E4E4E4",
                                                            "textAlignment": "center",
                                                            "width": "match",
                                                            "text": "{{btnName4}}",
                                                            "textStyle": "normal",
                                                            "marginTop": "8dp",
                                                            "height": "36dp"
                                                        }
                                                    ],
                                                    "width": "match",
                                                    "height": "content"
                                                }
                                            ],
                                            "width": "match",
                                            "height": "content"
                                        }
                                    ],
                                    "paddingRight": "10dp",
                                    "width": "match",
                                    "paddingLeft": "10dp",
                                    "height": "content"
                                },
                                {
                                    "orientation": "vertical",
                                    "widget": "LinearLayout",
                                    "width": "match",
                                    "height": "10dp"
                                }
                            ],
                            "background": "#F2F2F2",
                            "width": "match",
                            "height": "content"
                        },
                        "version": "1.0.0",
                        "zoomAllowed": true,
                        "card": "open_rich_card"
                    },
                    "trafficType": "advertisement"
                }
            },
            "registerId": "leekmdevagency",
            "registerDate": "2024-07-03 10:20:10",
            "updateDate": "2024-07-03 10:20:11",
            "status": "ready",
            "approvalResult": "승인",
            "cardType": "formatBr",
            "headerComposition": [
                {
                    "componentId": "CP-MainTitle",
                    "index": 1
                }
            ],
            "bodyComposition": [
                {
                    "componentId": "CP-Description",
                    "index": 2
                },
                {
                    "componentId": "CP-HButton",
                    "index": 3
                },
                {
                    "componentId": "CP-Description",
                    "index": 4
                },
                {
                    "componentId": "CP-VButton",
                    "index": 5
                }
            ],
            "footerComposition": [],
            "params": [
                {
                    "param": "btnName1",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "buttonName",
                    "strSize": 7,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "btnVsblty1"
                },
                {
                    "param": "btnName2",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "buttonName",
                    "strSize": 7,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "btnVsblty2"
                },
                {
                    "param": "btnName3",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "buttonName",
                    "strSize": 17,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "btnVsblty3"
                },
                {
                    "param": "btnName4",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "buttonName",
                    "strSize": 17,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "btnVsblty4"
                },
                {
                    "param": "btnVsblty1",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "btnVsblty2",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "btnVsblty3",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "btnVsblty4",
                    "isMandatory": false,
                    "type": "button",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "description1",
                    "isMandatory": true,
                    "type": "string",
                    "contentType": "description",
                    "strSize": 1300,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "descVsblty1"
                },
                {
                    "param": "description2",
                    "isMandatory": true,
                    "type": "string",
                    "contentType": "description",
                    "strSize": 1300,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "descVsblty2"
                },
                {
                    "param": "descTitleVsblty1",
                    "isMandatory": false,
                    "type": "layout",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "descTitleVsblty2",
                    "isMandatory": false,
                    "type": "layout",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "descVsblty1",
                    "isMandatory": false,
                    "type": "layout",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "descVsblty2",
                    "isMandatory": false,
                    "type": "layout",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "mTitle",
                    "isMandatory": false,
                    "type": "string",
                    "contentType": "title",
                    "strSize": 17,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "mTitleVsblty"
                },
                {
                    "param": "mTitleMedia",
                    "isMandatory": false,
                    "type": "file",
                    "contentType": "maapfile",
                    "strSize": -1,
                    "fileSize": 1048576,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": 300,
                    "imageHeight": 300,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "mTitleMediaVsblty"
                },
                {
                    "param": "mTitleMediaVsblty",
                    "isMandatory": false,
                    "type": "layout",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "mTitleVsblty",
                    "isMandatory": false,
                    "type": "layout",
                    "contentType": "visibility",
                    "strSize": -1,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": null
                },
                {
                    "param": "title1",
                    "isMandatory": false,
                    "type": "string",
                    "contentType": "description",
                    "strSize": 30,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "descTitleVsblty1"
                },
                {
                    "param": "title2",
                    "isMandatory": false,
                    "type": "string",
                    "contentType": "description",
                    "strSize": 30,
                    "fileSize": null,
                    "strRegx": null,
                    "verification": null,
                    "imageWidth": null,
                    "imageHeight": null,
                    "couplingId": null,
                    "inputText": null,
                    "relationId": "descTitleVsblty2"
                }
            ],
            "policyInfo": {
                "cardCount": 1,
                "maxTitleSize": 30,
                "maxButtonCount": 4,
                "maxDescriptionSize": 1300,
                "maxMediaSize": 0,
                "buttonsAllowed": true,
                "adHeaderAllowed": true,
                "adBodyAllowed": true
            },
            "guideInfo": {
                "maxLineCount": 0,
                "maxDisplayText": 17,
                "maxDescriptionSize": 1300,
                "imageWidth": "0",
                "imageHeight": "0",
                "detailInfo": null
            }
        }
    ],
    "status": 200
}
{
    "error": {
        "code": "64001",
        "message": "Missing X-RCS-BrandKey header"
    },
    "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 참조

레이아웃 등록

Request

❖ request body sample

{
    "layoutName": "SMS_{{YYYYMMDDHHmmss}}",
    "productCode": "sms,
    "headerComposition": [
        {
            "index": 0,
            "componentId": "CP-MainTitle",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }
    ],
    "bodyComposition": [
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }        
    ],
    "footerComposition": []
}
{
    "layoutName": "LMS_{{YYYYMMDDHHmmss}}",
    "productCode": "lms",
    "headerComposition": [
        {
            "index": 0,
            "componentId": "CP-MainTitle",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }
    ],
    "bodyComposition": [
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-HButton",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-VButton",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 1
            }
        }
    ],
    "footerComposition": []
}
{
    "layoutName": "MMS_{{YYYYMMDDHHmmss}}",
    "productCode": "mms",
    "headerComposition": [
        {
            "index": 0,
            "componentId": "CP-ImageSquare"
        }
    ],
    "bodyComposition": [
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-ItemA",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-HButton",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }        
    ],
    "footerComposition": []
}

Response

필드명
타입
길이
필수여부
기본값
설명

array<object>

O

레이아웃 ID(= messagebaseId)

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

layoutId

string

등록된 레이아웃 ID(= messagebaseId) 입니다.

레이아웃 ID는 RCS 발송에 사용하는 messagebaseId 로 사용됩니다.

❖ response body sample

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "layoutId": "CLMBR.0a81DDlZjz-11GLm0hv4RX9zJB82D9r"
        }
    ],
    "status": 200
}
{
    "error": {
        "code": "64001",
        "message": "Missing X-RCS-BrandKey header"
    },
    "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 참조

레이아웃 수정

Request

❖ request body sample

Response

필드명
타입
길이
필수여부
기본값
설명

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

❖ response body sample

error code는 참조

레이아웃 삭제

Request

Response

필드명
타입
길이
필수여부
기본값
설명

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

❖ response body sample

error code는 참조

레이아웃

이 문서는 메시지 포맷에 대한 API 정보를 안내합니다.

{
    "layoutName": "SMS수정_{{YYYYMMDDHHmmss}}",
    "productCode": "sms,
    "headerComposition": [
        {
            "index": 0,
            "componentId": "CP-MainTitle",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }
    ],
    "bodyComposition": [
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }        
    ],
    "footerComposition": []
}
{
    "layoutName": "LMS수정_{{YYYYMMDDHHmmss}}",
    "productCode": "lms",
    "headerComposition": [
        {
            "index": 0,
            "componentId": "CP-MainTitle",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }
    ],
    "bodyComposition": [
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-HButton",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-VButton",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 1
            }
        }
    ],
    "footerComposition": []
}
{
    "layoutName": "MMS수정_{{YYYYMMDDHHmmss}}",
    "productCode": "mms",
    "headerComposition": [
        {
            "index": 0,
            "componentId": "CP-ImageSquare"
        }
    ],
    "bodyComposition": [
        {
            "index": 1,
            "componentId": "CP-Description",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-ItemA",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        },
        {
            "index": 1,
            "componentId": "CP-HButton",
            "options": {
                "leftAlign": "left",
                "rightAlign": "right",
                "leftTextStyle": "normal",
                "rightTextStyle": "normal",
                "maxCount": 5
            }
        }        
    ],
    "footerComposition": []
}

result

array<object>

O

레이아웃 ID(= messagebaseId)

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

layoutId

string

레이아웃 ID(= messagebaseId)

body

object

중계사 발송 API /message 의 body에 사용되는 발송 전문 필드 정보입니다. 규격서에 나열된 항목 이외에도 지정한 컴포넌트별 입력 가능한 항목을 추출하여 구성 제공합니다.

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "layoutId": "CLMBR.0a81DDlZjz-11GLm0hv4RX9zJB82D9r"
        }
    ],
    "status": 200
}
{
    "error": {
        "code": "64001",
        "message": "Missing X-RCS-BrandKey header"
    },
    "status": 400
}
{
    "error": {
        "code": "61003",
        "message": "Invalid token"
    },
    "status": 401
}
{
    "error": {
        "code": "63001",
        "message": "No Brand Permission"
    },
    "status": 403
}
RCS Biz Center - Response body error code

result

array<object>

O

삭제된 레이아웃 ID(= messagebaseId)

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

layoutId

string

삭제된 레이아웃 ID(= messagebaseId)

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "layoutId": "CLMBR.0a81DDlZjz-11GLm0hv4RX9zJB82D9r"
        }
    ],
    "status": 200
}
{
    "error": {
        "code": "64001",
        "message": "Missing X-RCS-BrandKey header"
    },
    "status": 400
}
{
    "error": {
        "code": "61003",
        "message": "Invalid token"
    },
    "status": 401
}
{
    "error": {
        "code": "63001",
        "message": "No Brand Permission"
    },
    "status": 403
}
RCS Biz Center - Response body error code
result
headerComposition
bodyComposition
footerComposition
params
guideInfo
policyInfo
options
result

샘플 레이아웃 목록 조회

Request

Response

필드명
타입
길이
필수여부
기본값
설명

array<object>

O

컴포넌트 정보 객체입니다.

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

object

O

전체 건수와 페이징 조건을 제공합니다.

object

O

이전/다음 페이지 링크를 제공합니다. offset을 0이 아닌 limit보다 작은 양수값으로 설정한 경우 prev 는 null로 응답됩니다.

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

sampleLayoutId

string

40

샘플 레이아웃 ID 입니다.

sampleLayoutName

string

40

샘플 레이아웃 이름 입니다.

productCode

string

20

샘플 레이아웃의 메시지 상품 코드 입니다.

status

string

20

샘플 레이아웃의 상태를 표시합니다.

  • ready : 사용

  • pause : 사용중지

registerId

string

등록자 ID 입니다.

registerDate

string

등록일시 입니다.

updateDate

string

수정일시 입니다.

approvalResult

string

레이아웃 등록 상태입니다. 레이아웃은 운영자 검수 없이 자동 등록됩니다.

  • 등록완료 : 이통3사에 정상 등록된 상태입니다.

  • 저장 : RBC 웹에서 저장만 했을 경우 상태이며 별도 등록요청을 해야 합니다.

  • 처리중 : 이통 3사 등록 중 에러로 인해 최종 완료가 되지 않은 상태로 수정이나 삭제가 불가능한 상태입니다.

pagination - object

필드명
타입
길이
필수여부
기본값
설명

total

integer

O

전체건수

offset

integer

O

0

조회 기준 위치

limit

integer

O

100

페이지 당 조회 건수

inks - object

필드명
타입
길이
필수여부
기본값
설명

prev

string

O

이전페이지URL

next

string

O

다음페이지URL

❖ response body sample

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "sampleLayoutId": "OL00000001",
            "sampleLayoutName": "기본형",
            "productCode": "lms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "rd135",
            "registerDate": "2023-10-19 22:41:12",
            "updateDate": "2024-06-21 14:47:25"
        },
        {
            "sampleLayoutId": "OL00000002",
            "sampleLayoutName": "기본형 타이틀 강조",
            "productCode": "lms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "rd135",
            "registerDate": "2023-10-19 22:42:15",
            "updateDate": "2024-06-21 14:47:36"
        },
        {
            "sampleLayoutId": "OL00000003",
            "sampleLayoutName": "문단형",
            "productCode": "lms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "rd135",
            "registerDate": "2023-10-19 22:43:52",
            "updateDate": "2024-06-21 14:47:47"
        },
        {
            "sampleLayoutId": "OM00000001",
            "sampleLayoutName": "기본형",
            "productCode": "mms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "rd135",
            "registerDate": "2023-10-19 22:31:11",
            "updateDate": "2024-06-21 14:10:39"
        },
        {
            "sampleLayoutId": "OM00000002",
            "sampleLayoutName": "기본형 타이틀 강조형",
            "productCode": "mms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "rd135",
            "registerDate": "2023-10-19 22:38:00",
            "updateDate": "2024-06-21 14:41:12"
        },
        {
            "sampleLayoutId": "OM00000003",
            "sampleLayoutName": "아이템 상세형",
            "productCode": "mms",
            "status": "ready",
            "approvalResult": "승인",
            "registerId": "rd135",
            "registerDate": "2023-10-19 22:39:36",
            "updateDate": "2024-06-21 17:00:37"
        }
    ],
    "pagination": {
        "offset": 0,
        "limit": 100,
        "total": 6
    },
    "status": 200
}
{
    "error": {
        "code": "61003",
        "message": "Invalid token"
    },
    "status": 401
}

error code는 RCS Biz Center - Response body error code 참조

레이아웃 구성 규칙 조회

Request

Response

필드명
타입
길이
필수여부
기본값
설명

array<object>

O

상품별 레이아웃 구성 규칙 정보

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

productCode

string

20

레이아웃 사용이 가능한 메시지 상품 코드 입니다.

  • sms

  • lms

  • mms

componentCount

integer

레이아웃 정의 시 지정 가능한 최대 컴포넌트 개수 입니다.

componentMinCount

integer

레이아웃 정의 시 필요한 최소 컴포넌트 개수 입니다.

buttonCount

integer

레이아웃 정의 시 지정 가능한 버튼 컴포넌트 개수 입니다.

object

현재 제공되는 컴포넌트 그룹ID 별 레이아웃 내 설정 가능한 컴포넌트 그룹의 지정 가능 개수를 표시합니다.

componentLimit - object

필드명
타입
길이
필수여부
기본값
설명

ImageGroup

integer

20

TitleGroup

integer

BannerGroup

integer

DescriptionGroup

integer

ItemGroup

integer

ThumbDescGroup

integer

TableGroup

integer

ThumbnailGroup

integer

NoticeGroup

integer

ButtonGroup

integer

❖ response body sample

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "productCode": "sms",
            "componentMinCount": 1,
            "componentCount": 2,
            "buttonCount": 1,
            "componentLimit": {
                "ItemGroup": 1,
                "TableGroup": 1,
                "ButtonGroup": 1,
                "DescriptionGroup": 1,
                "TitleGroup": 1
            }
        },
        {
            "productCode": "lms",
            "componentMinCount": 1,
            "componentCount": 6,
            "buttonCount": 3,
            "componentLimit": {
                "ItemGroup": 1,
                "NoticeGroup": 1,
                "TableGroup": 2,
                "ButtonGroup": 3,
                "DescriptionGroup": 3,
                "TitleGroup": 1
            }
        },
        {
            "productCode": "mms",
            "componentMinCount": 1,
            "componentCount": 6,
            "buttonCount": 3,
            "componentLimit": {
                "ItemGroup": 1,
                "NoticeGroup": 1,
                "TableGroup": 1,
                "ThumbnailGroup": 1,
                "ButtonGroup": 3,
                "ThumbDescGroup": 1,
                "DescriptionGroup": 1,
                "ImageGroup": 1,
                "TitleGroup": 1,
                "BannerGroup": 1
            }
        }
    ],
    "status": 200
}
{
    "error": {
        "code": "61003",
        "message": "Invalid token"
    },
    "status": 401
}

error code는 RCS Biz Center - Response body error code 참조

컴포넌트 목록 조회

Request

Response

필드명
타입
길이
필수여부
기본값
설명

array<object>

O

컴포넌트 정보 객체입니다.

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

object

O

전체 건수와 페이징 조건을 제공합니다.

object

O

이전/다음 페이지 링크를 제공합니다. offset을 0이 아닌 limit보다 작은 양수값으로 설정한 경우 prev 는 null로 응답됩니다.

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

componentId

string

40

컴포넌트 ID 입니다.

componentName

string

40

컴포넌트 이름 입니다.

iconImgFileUrl

string

1000

컴포넌트 모양을 아이콘으로 표현한 이미지 파일 주소입니다.

status

string

컴포넌트의 사용 가능 여부, 범위를 표시합니다.

  • public: 레이아웃 등록/수정 시 사용 가능한 컴포넌트 입니다.

  • private: RBC에서 특정 케이스별 추가하는 컴포넌트로 레이아웃 등록/수정 시 별도 사용할 수 없습니다.

  • tpl: 템플릿에서 사용되는 컴포넌트로 레이아웃 등록/수정 시 사용할 수 없습니다.

  • disable: 사용할 수 없는 컴포넌트 입니다. 제공 중이던 컴포넌트가 사용 중지된 경우 설정됩니다.

headerYn

string

레이아웃의 Header 영역 내 사용 가능 여부입니다.

  • Y: 가능

  • N: 불가능

bodyYn

string

레이아웃의 Body 영역 내 사용 가능 여부입니다.

  • Y: 가능

  • N: 불가능

footerYn

string

레이아웃의 footer 영역 내 사용 가능 여부입니다.

  • Y: 가능

  • N: 불가능

object

레이아웃 사용 시 컴포넌트에 적용될 수 있는 옵션입니다. 옵션 지정이 가능한 경우 표기됩니다.

groupComponentId

string

컴포넌트 그룹 ID 입니다. 동일한 컴포넌트 그룹ID를 갖는 컴포넌트는 레이아웃의 body 영역에서 함께 사용될 수 없습니다.

options - object(0)

필드명
타입
길이
필수여부
기본값
설명

leftAlign

string

left

좌측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.

  • left : 좌측 정렬

  • right : 우측 정렬

  • center : 중앙 정렬

rightAlign

string

right

우측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.

  • left : 좌측 정렬

  • right : 우측 정렬

  • center : 중앙 정렬

leftTextStyle

string

normal

좌측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.

  • normal : 기본 스타일

  • bold : bold 스타일 적용

rightTextStyle

string

normal

우측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.

  • normal : 기본 스타일

  • bold : bold 스타일 적용

maxCount

integer

5

테이블의 행 개수를 지정합니다. 정의된 숫자 이외에는 지정할 수 없습니다.

  • 5 : 5행

  • 10 : 10행

Table / StyleTable등 테이블 컴포넌트의 옵션 정보 객체 입니다.

options - object(1)

필드명
타입
길이
필수여부
기본값
설명

color

string

버튼의 색상 설정 옵션입니다. 버튼의 색상은 브랜드 정보에서 지정한 templateColor 컬러 Hex 값과 동일해야 합니다. 빈값 지정 시 기본 버튼 컬러로 적용되며, 지정된 컬러 Hex 값이 templateColor의 값과 다르면 templateColor로 강제 설정됩니다.

VButton / HButton 등 버튼 컴포넌트의 옵션 정보 객체 입니다.

pagination - object

필드명
타입
길이
필수여부
기본값
설명

total

integer

O

전체건수

offset

integer

O

0

조회 기준 위치

limit

integer

O

100

페이지 당 조회 건수

links - object

필드명
타입
길이
필수여부
기본값
설명

prev

string

O

이전페이지URL

next

string

O

다음페이지URL

❖ response body sample

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "componentId": "CP-Banner",
            "componentName": "배너",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-Banner/LT-CP-Banner-O17l_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "BannerGroup"
        },
        {
            "componentId": "CP-Description",
            "componentName": "디스크립션",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-Description/LT-CP-Description-qh7e_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "DescriptionGroup"
        },
        {
            "componentId": "CP-HButton",
            "componentName": "좌우버튼",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-HButton/LT-CP-HButton-Kpy2_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": {
                "color": "#1e1e1e"
            },
            "groupComponentId": "ButtonGroup"
        },
        {
            "componentId": "CP-ImageHorizontal",
            "componentName": "가로형이미지",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-ImageHorizontal/LT-CP-ImageHorizontal-535b_1.png",
            "headerYn": "Y",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "ImageGroup"
        },
        {
            "componentId": "CP-ImageSquare",
            "componentName": "정형이미지",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-ImageSquare/LT-CP-ImageSquare-N2le_1.png",
            "headerYn": "Y",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "ImageGroup"
        },
        {
            "componentId": "CP-ImageTall",
            "componentName": "장형이미지",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-ImageTall/LT-CP-ImageTall-II02_1.png",
            "headerYn": "Y",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "ImageGroup"
        },
        {
            "componentId": "CP-ItemA",
            "componentName": "아이템A",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-ItemA/LT-CP-ItemA-sHK9_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "ItemGroup"
        },
        {
            "componentId": "CP-ItemB",
            "componentName": "아이템B",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-ItemB/LT-CP-ItemB-ujA1_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "ItemGroup"
        },
        {
            "componentId": "CP-MainTitle",
            "componentName": "메인타이틀",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-MainTitle/LT-CP-MainTitle-67r7_1.png",
            "headerYn": "Y",
            "bodyYn": "N",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "TitleGroup"
        },
        {
            "componentId": "CP-NoticeL",
            "componentName": "노티스",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-NoticeL/LT-CP-NoticeL-J47V_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "layout",
            "options": null,
            "groupComponentId": "NoticeGroup"
        },
        {
            "componentId": "CP-StyleTitleA",
            "componentName": "스타일타이틀A",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-StyleTitleA/LT-CP-StyleTitleA-J68P_1.png",
            "headerYn": "Y",
            "bodyYn": "N",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "TitleGroup"
        },
        {
            "componentId": "CP-Table",
            "componentName": "테이블",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-Table/LT-CP-Table-u43h_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": {
                "rightTextStyle": "normal",
                "rightAlign": "right",
                "leftAlign": "left",
                "leftTextStyle": "normal",
                "maxCount": 10
            },
            "groupComponentId": "TableGroup"
        },
        {
            "componentId": "CP-ThumbDesc",
            "componentName": "서브디스크립션이미지",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-ThumbDesc/LT-CP-ThumbDesc-FkO3_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": {
                "maxCount": "5"
            },
            "groupComponentId": "ThumbDescGroup"
        },
        {
            "componentId": "CP-Thumbnail",
            "componentName": "썸네일 컴포넌트",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-Thumbnail/LT-CP-Thumbnail-m4xC_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": null,
            "groupComponentId": "ThumbnailGroup"
        },
        {
            "componentId": "CP-TitleDesc",
            "componentName": "서브디스크립션타이틀",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-TitleDesc/LT-CP-TitleDesc-BIc2_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": {
                "maxCount": "5"
            },
            "groupComponentId": "TableGroup"
        },
        {
            "componentId": "CP-VButton",
            "componentName": "상하버튼",
            "iconImgFileUrl": "https://file-qa.rcsbizcenter.com/form/component/CP-VButton/LT-CP-VButton-4rtF_1.png",
            "headerYn": "N",
            "bodyYn": "Y",
            "footerYn": "N",
            "status": "public",
            "options": {
                "color": "#1e1e1e"
            },
            "groupComponentId": "ButtonGroup"
        }
    ],
    "pagination": {
        "offset": 0,
        "limit": 100,
        "total": 16
    },
    "status": 200
}
{
    "error": {
        "code": "61003",
        "message": "Invalid token"
    },
    "status": 401
}

error code는 RCS Biz Center - Response body error code 참조

샘플 레이아웃 상세 조회

Request

Response

필드명
타입
길이
필수여부
기본값
설명

array<object>

O

샘플 레이아웃 상세 정보 입니다.

code

string

5

O

20000000

status

integer

3

O

200

desc

string

O

result - array<object>

필드명
타입
길이
필수여부
기본값
설명

sampleLayoutId

string

40

샘플 레이아웃 상세 정보 입니다.

sampleLayoutName

string

40

샘플 레이아웃 이름 입니다.

productCode

string

20

샘플 레이아웃의 메시지 상품 코드 입니다.

status

string

샘플 레이아웃의 상태를 표시합니다.

  • ready : 사용

  • pause : 사용중지

registerId

string

20

등록자 ID 입니다.

registerDate

string

등록일시 입니다.

updateDate

string

수정일시 입니다.

approvalResult

string

레이아웃 등록 상태입니다. 레이아웃은 운영자 검수 없이 자동 등록됩니다.

  • 등록완료 : 이통3사에 정상 등록된 상태입니다.

  • 저장 : RBC 웹에서 저장만 했을 경우 상태이며 별도 등록요청을 해야 합니다.

  • 처리중 : 이통 3사 등록 중 에러로 인해 최종 완료가 되지 않은 상태로 수정이나 삭제가 불가능한 상태입니다.

spec

string

openrichcard

레이아웃 구조가 리치카드인지 오픈리치카드인지 구분합니다. 샘플 레이아웃은 오픈리치카드로 구성되어 있습니다.

cardType

string

64

카드 종류를 구분합니다. 레이아웃에 표시되는 카드 타입은 다음 두 가지로 제한됩니다.

  • format : 이통사 제공 공통포맷의 카드 타입입니다.

  • formatBr : 사용자가 등록한 레이아웃의 카드 타입입니다.

buttonColor

string

버튼에 지정된 컬러 값을 표시합니다. 지정된 경우 컬러 Hex 값(예,'#FFFFFF')이 표시되며, 미지정 시 빈값 입니다.

array<object>

카드 내의 최상위 영역으로 1개의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 headerYn = 'Y' 인 컴포넌트만 등록이 가능합니다.

array<object>

카드 내의 중간 영역으로 메시지 상품에서 지정한 개수의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 bodyYn = 'Y' 인 컴포넌트만 등록이 가능합니다. 예를 들어 LMS는 최대 6개의 컴포넌트를 지정할 수 있으며, 최대 개수 범위 내에서 각 영역별 배분할 수 있습니다.

  • Header 1개 지정 시 body 최대 5개

  • body만 지정 시 최대 6개

array<object>

카드 내의 최상위 영역으로 1개의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 footerYn = 'Y' 인 컴포넌트만 등록이 가능합니다. 현재는 footer에 사용자가 직접 지정하는 컴포넌트는 없습니다.

object

샘플 레이아웃을 구성한 openrichcard 메시지 구조 정보 입니다. 레이아웃 등록/수정 시에는 컴포넌트를 활용하므로 formattedString 은 참조 데이터로 제공됩니다.

GSMA RCC.07-v11.0 참조 https://www.gsma.com/solutions-and-impact/technologies/networks/wp-content/uploads/2019/10/RCC.07-v11.0.pdf

TTAK.KO-06.0410/R7 참조

https://committee.tta.or.kr/data/standard_view.jsp?secondDepthCode=PG1105&firstDepthCode=TC011&pk_num=TTAK.KO-06.0410/R7&commit_code=PG1105

headerComposition, bodyComposition, footerComposition - array<object>

필드명
타입
길이
필수여부
기본값
설명

index

integer

레이아웃 내 컴포넌트의 순번을 표시합니다. 등록 시에는 index를 지정하지 않으며, 배열 내 순서를 기준으로 처리됩니다.

componentId

string

40

O

지정할 컴포넌트 ID 입니다.

object

레이아웃 사용 시 컴포넌트에 적용될 수 있는 옵션입니다. 옵션 지정이 가능한 경우 표기됩니다.

options - object(0)

필드명
타입
길이
필수여부
기본값
설명

leftAlign

string

left

좌측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.

  • left : 좌측 정렬

  • right : 우측 정렬

  • center : 중앙 정렬

rightAlign

string

right

우측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.

  • left : 좌측 정렬

  • right : 우측 정렬

  • center : 중앙 정렬

leftTextStyle

string

normal

좌측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.

  • normal : 기본 스타일

  • bold : bold 스타일 적용

rightTextStyle

string

normal

우측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.

  • normal : 기본 스타일

  • bold : bold 스타일 적용

maxCount

integer

5

테이블의 행 개수를 지정합니다. 정의된 숫자 이외에는 지정할 수 없습니다.

  • 5 : 5행

  • 10 : 10행

Table / StyleTable등 테이블 컴포넌트의 옵션 정보 객체 입니다.

options - object(1)

필드명
타입
길이
필수여부
기본값
설명

color

string

버튼의 색상 설정 옵션입니다. 버튼의 색상은 브랜드 정보에서 지정한 templateColor 컬러 Hex 값과 동일해야 합니다. 빈값 지정 시 기본 버튼 컬러로 적용되며, 지정된 컬러 Hex 값이 templateColor의 값과 다르면 templateColor로 강제 설정됩니다.

VButton / HButton 등 버튼 컴포넌트의 옵션 정보 객체 입니다.

❖ response body sample

{
    "code": "20000000",
    "desc": null,
    "result": [
        {
            "sampleLayoutId": "OL00000001",
            "sampleLayoutName": "기본형",
            "productCode": "lms",
            "spec": "openrichcard",
            "buttonColor": null,
            "formattedString": {
                "RCSMessage": {
                    "openrichcardMessage": {
                        "scaleAllowed": true,
                        "layout": {
                            "orientation": "vertical",
                            "widget": "LinearLayout",
                            "children": [
                                {
                                    "orientation": "vertical",
                                    "widget": "LinearLayout",
                                    "visibility": "{{mTitleVsblty}}",
                                    "children": [
                                        {
                                            "orientation": "horizontal",
                                            "widget": "LinearLayout",
                                            "children": [
                                                {
                                                    "corner_radius": "4dp",
                                                    "marginRight": "4dp",
                                                    "widget": "ImageView",
                                                    "visibility": "{{mTitleMediaVsblty}}",
                                                    "mediaUrl": "{{mTitleMedia}}",
                                                    "scaleType": "fitXY",
                                                    "width": "24dp",
                                                    "height": "24dp"
                                                },
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "19dp",
                                                    "textAlignment": "textStart",
                                                    "width": "match",
                                                    "textStyle": "bold",
                                                    "text": "{{mTitle}}",
                                                    "textColor": "#1e1e1e",
                                                    "height": "content"
                                                }
                                            ],
                                            "gravity": "bottom",
                                            "width": "match",
                                            "height": "content"
                                        },
                                        {
                                            "widget": "View",
                                            "background": "#1e1e1e",
                                            "width": "match",
                                            "marginTop": "6dp",
                                            "height": "2dp"
                                        }
                                    ],
                                    "paddingRight": "14dp",
                                    "width": "match",
                                    "paddingLeft": "14dp",
                                    "marginTop": "14dp",
                                    "height": "content"
                                },
                                {
                                    "orientation": "vertical",
                                    "widget": "LinearLayout",
                                    "children": [
                                        {
                                            "padding": "4dp",
                                            "orientation": "vertical",
                                            "widget": "LinearLayout",
                                            "visibility": "{{descVsblty}}",
                                            "children": [
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "17dp",
                                                    "visibility": "{{descTitleVsblty}}",
                                                    "width": "match",
                                                    "marginBottom": "6dp",
                                                    "textStyle": "bold",
                                                    "text": "{{title}}",
                                                    "textColor": "#1e1e1e",
                                                    "height": "content"
                                                },
                                                {
                                                    "widget": "TextView",
                                                    "textSize": "15dp",
                                                    "width": "match",
                                                    "textStyle": "normal",
                                                    "text": "{{description}}",
                                                    "textColor": "#1e1e1e",
                                                    "viewAll": "150",
                                                    "height": "content"
                                                }
                                            ],
                                            "width": "match",
                                            "marginTop": "6dp",
                                            "height": "content"
                                        },
                                        {
                                            "padding": "4dp",
                                            "orientation": "vertical",
                                            "widget": "LinearLayout",
                                            "children": [
                                                {
                                                    "orientation": "vertical",
                                                    "widget": "LinearLayout",
                                                    "children": [
                                                        {
                                                            "corner_radius": "8dp",
                                                            "widget": "Button",
                                                            "textSize": "15dp",
                                                            "visibility": "{{btnVsblty1}}",
                                                            "textColor": "#1e1e1e",
                                                            "click": {
                                                                "action": {
                                                                    "displayText": "dummy",
                                                                    "urlAction": {
                                                                        "openUrl": {
                                                                            "url": ""
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "background": "#E4E4E4",
                                                            "textAlignment": "center",
                                                            "width": "match",
                                                            "text": "{{btnName1}}",
                                                            "textStyle": "normal",
                                                            "marginTop": "8dp",
                                                            "height": "36dp"
                                                        },
                                                        {
                                                            "corner_radius": "8dp",
                                                            "widget": "Button",
                                                            "textSize": "15dp",
                                                            "visibility": "{{btnVsblty2}}",
                                                            "textColor": "#1e1e1e",
                                                            "click": {
                                                                "action": {
                                                                    "displayText": "dummy",
                                                                    "urlAction": {
                                                                        "openUrl": {
                                                                            "url": ""
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "background": "#E4E4E4",
                                                            "textAlignment": "center",
                                                            "width": "match",
                                                            "text": "{{btnName2}}",
                                                            "textStyle": "normal",
                                                            "marginTop": "8dp",
                                                            "height": "36dp"
                                                        }
                                                    ],
                                                    "width": "match",
                                                    "height": "content"
                                                }
                                            ],
                                            "width": "match",
                                            "height": "content"
                                        }
                                    ],
                                    "paddingRight": "10dp",
                                    "width": "match",
                                    "paddingLeft": "10dp",
                                    "height": "content"
                                },
                                {
                                    "orientation": "vertical",
                                    "widget": "LinearLayout",
                                    "width": "match",
                                    "height": "10dp"
                                }
                            ],
                            "background": "#F2F2F2",
                            "width": "match",
                            "height": "content"
                        },
                        "version": "1.0.0",
                        "zoomAllowed": true,
                        "card": "open_rich_card"
                    },
                    "trafficType": "advertisement"
                }
            },
            "registerId": "rd135",
            "registerDate": "2023-10-19 22:41:12",
            "updateDate": "2024-06-21 14:47:25",
            "status": "ready",
            "approvalResult": "승인",
            "cardType": "format",
            "headerComposition": [
                {
                    "componentId": "CP-MainTitle",
                    "index": 1
                }
            ],
            "bodyComposition": [
                {
                    "componentId": "CP-Description",
                    "index": 2
                },
                {
                    "componentId": "CP-VButton",
                    "index": 3
                }
            ],
            "footerComposition": []
        }
    ],
    "status": 200
}
{
    "error": {
        "code": "61003",
        "message": "Invalid token"
    },
    "status": 401
}

error code는 RCS Biz Center - Response body error code 참조

브랜드 별 등록된 레이아웃 상세 내용을 조회합니다.

get

브랜드 별 등록된 레이아웃 상세 내용을 조회합니다.

  • 계정 권한: 대행사
  • 브랜드 권한: 운영자
Authorizations
Path parameters
brandIdstring · max: 13Required

maxLength: 13 - 브랜드 내 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.

layoutIdstringRequired

레이아웃ID 입니다.

Header parameters
X-RCS-Brandkeystring · max: 18Optional

maxLength: 18 - RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key 입니다.

대행사가 해당 브랜드에 대한 권한 여부를 판단하는데 사용됩니다. 따라서, 대행사 계정으로 브랜드 내 정보를 조회/등록/수정 API 연동 시 Header에 설정되어야 합니다.

get
GET /api/1.1/brand/{brandId}/layout/{layoutId} HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Accept: */*
result
pagination
links
result
componentLimit
result
pagination
links
options
result
headerComposition
bodyComposition
footerComposition
formattedString
options

브랜드 내에서 사용할 수 있는 레이아웃을 등록 합니다.

post

브랜드 내에서 사용할 수 있는 레이아웃을 등록 합니다.

  • 계정 권한: 대행사
  • 브랜드 권한: 운영자
Authorizations
Path parameters
brandIdstring · max: 13Required

maxLength: 13 - 브랜드 내 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.

Header parameters
X-RCS-Brandkeystring · max: 18Optional

maxLength: 18 - RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key 입니다.

대행사가 해당 브랜드에 대한 권한 여부를 판단하는데 사용됩니다. 따라서, 대행사 계정으로 브랜드 내 정보를 조회/등록/수정 API 연동 시 Header에 설정되어야 합니다.

Body

레이아웃 등록 객체 정보 입니다.

layoutNamestring · max: 40Required

maxLength: 40 - 레이아웃 이름을 지정합니다.

productCodestring · enum · max: 20Required

maxLength: 20 - 레이아웃의 메시지 상품 코드 입니다.

Possible values:
sampleLayoutIdstring · max: 40Optional

maxLength: 40 - 샘플 레이아웃 ID 입니다. 샘플 레이아웃을 이용하여 부분적으로 컴포넌트 변경하여 등록하는 경우 설정합니다.

post
POST /api/1.1/brand/{brandId}/layout HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 576

{
  "layoutName": "text",
  "productCode": "sms",
  "sampleLayoutId": "text",
  "headerComposition": [
    {
      "index": 1,
      "componentId": "text",
      "options": {
        "leftAlign": "left",
        "rightAlign": "right",
        "leftTextStyle": "normal",
        "rightTextStyle": "normal",
        "maxCount": 5
      }
    }
  ],
  "bodyComposition": [
    {
      "index": 1,
      "componentId": "text",
      "options": {
        "leftAlign": "left",
        "rightAlign": "right",
        "leftTextStyle": "normal",
        "rightTextStyle": "normal",
        "maxCount": 5
      }
    }
  ],
  "footerComposition": [
    {
      "index": 1,
      "componentId": "text",
      "options": {
        "leftAlign": "left",
        "rightAlign": "right",
        "leftTextStyle": "normal",
        "rightTextStyle": "normal",
        "maxCount": 5
      }
    }
  ]
}

브랜드 별 등록된 레이아웃 목록을 조회합니다.

get

브랜드 별 등록된 레이아웃 목록을 조회합니다.

  • 계정 권한: 대행사
  • 브랜드 권한: 운영자
Authorizations
Path parameters
brandIdstring · max: 13Required

maxLength: 13 - 브랜드 내 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.

Query parameters
offsetintegerOptional

시작 offset 번호(default: 0) 입니다.

Default: 0
limitinteger · min: 100 · max: 1000Optional

조회 최대 건수(default: 100, maximum: 1000) 입니다.

Default: 100
Header parameters
X-RCS-Brandkeystring · max: 18Optional

maxLength: 18 - RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key 입니다.

대행사가 해당 브랜드에 대한 권한 여부를 판단하는데 사용됩니다. 따라서, 대행사 계정으로 브랜드 내 정보를 조회/등록/수정 API 연동 시 Header에 설정되어야 합니다.

get
GET /api/1.1/brand/{brandId}/layout HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Accept: */*

브랜드 별 등록된 레이아웃을 삭제합니다.

delete

브랜드 별 등록된 레이아웃을 삭제합니다.

  • 계정 권한: 대행사
  • 브랜드 권한: 운영자
Authorizations
Path parameters
brandIdstring · max: 13Required

maxLength: 13 - 브랜드 내 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.

layoutIdstringRequired

레이아웃ID 입니다.

Header parameters
X-RCS-Brandkeystring · max: 18Optional

maxLength: 18 - RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key 입니다.

대행사가 해당 브랜드에 대한 권한 여부를 판단하는데 사용됩니다. 따라서, 대행사 계정으로 브랜드 내 정보를 조회/등록/수정 API 연동 시 Header에 설정되어야 합니다.

delete
DELETE /api/1.1/brand/{brandId}/layout/{layoutId} HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Accept: */*

메시지 상품별 레이아웃 구성 규칙을 조회합니다.

get

메시지 상품별 레이아웃 구성 규칙을 조회합니다.
본 규칙에 부합해야만 레이아웃 등록/수정이 가능합니다.

  • 계정 권한: 대행사
Authorizations
get
GET /api/1.1/baselayout/product/rule HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Accept: */*

브랜드 내 레이아웃을 수정 합니다.

put

브랜드 내 레이아웃을 수정 합니다.

  • 계정 권한: 대행사
  • 브랜드 권한: 운영자
Authorizations
Path parameters
brandIdstring · max: 13Required

maxLength: 13 - 브랜드 내 정보 접근시 사용되는 브랜드ID Path Parameter 입니다.

layoutIdstringRequired

레이아웃ID 입니다.

Header parameters
X-RCS-Brandkeystring · max: 18Optional

maxLength: 18 - RCS Biz Center에서 브랜드 등록 시 자동 생성되는 Key 입니다.

대행사가 해당 브랜드에 대한 권한 여부를 판단하는데 사용됩니다. 따라서, 대행사 계정으로 브랜드 내 정보를 조회/등록/수정 API 연동 시 Header에 설정되어야 합니다.

Body

레이아웃 등록 객체 정보 입니다.

layoutNamestring · max: 40Required

maxLength: 40 - 레이아웃 이름을 지정합니다.

productCodestring · enum · max: 20Required

maxLength: 20 - 레이아웃의 메시지 상품 코드 입니다.

Possible values:
sampleLayoutIdstring · max: 40Optional

maxLength: 40 - 샘플 레이아웃 ID 입니다. 샘플 레이아웃을 이용하여 부분적으로 컴포넌트 변경하여 등록하는 경우 설정합니다.

put
PUT /api/1.1/brand/{brandId}/layout/{layoutId} HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 576

{
  "layoutName": "text",
  "productCode": "sms",
  "sampleLayoutId": "text",
  "headerComposition": [
    {
      "index": 1,
      "componentId": "text",
      "options": {
        "leftAlign": "left",
        "rightAlign": "right",
        "leftTextStyle": "normal",
        "rightTextStyle": "normal",
        "maxCount": 5
      }
    }
  ],
  "bodyComposition": [
    {
      "index": 1,
      "componentId": "text",
      "options": {
        "leftAlign": "left",
        "rightAlign": "right",
        "leftTextStyle": "normal",
        "rightTextStyle": "normal",
        "maxCount": 5
      }
    }
  ],
  "footerComposition": [
    {
      "index": 1,
      "componentId": "text",
      "options": {
        "leftAlign": "left",
        "rightAlign": "right",
        "leftTextStyle": "normal",
        "rightTextStyle": "normal",
        "maxCount": 5
      }
    }
  ]
}

레이아웃 등록/수정 시 사용 가능한 컴포넌트 목록을 조회 합니다.

get

레이아웃 등록/수정 시 사용 가능한 컴포넌트 목록을 조회 합니다.
컴포넌트 별 상세 내역이 제공되므로 별도의 컴포넌트별 상세 조회 API는 제공하지 않습니다.

  • 계정 권한: 대행사
Authorizations
Query parameters
offsetintegerOptional

시작 offset 번호(default: 0) 입니다.

Default: 0
limitinteger · min: 100 · max: 1000Optional

조회 최대 건수(default: 100, maximum: 1000) 입니다.

Default: 100
get
GET /api/1.1/baselayout/component HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Accept: */*

레이아웃 등록/수정을 위해 참조용으로 제공되는 샘플 레이아웃 목록 입니다.

get

레이아웃 등록/수정을 위해 참조용으로 제공되는 샘플 레이아웃 목록 입니다.

  • 계정 권한: 대행사
Authorizations
Query parameters
offsetintegerOptional

시작 offset 번호(default: 0) 입니다.

Default: 0
limitinteger · min: 100 · max: 1000Optional

조회 최대 건수(default: 100, maximum: 1000) 입니다.

Default: 100
get
GET /api/1.1/baselayout/sample HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Accept: */*

레이아웃 등록/수정을 위해 참조용으로 제공되는 샘플 레이아웃 상세 정보를 조회합니다.

get

레이아웃 등록/수정을 위해 참조용으로 제공되는 샘플 레이아웃 상세 정보를 조회합니다.

  • 계정 권한: 대행사
Authorizations
Path parameters
sampleLayoutIdstringRequired

샘플레이아웃 ID 입니다.

get
GET /api/1.1/baselayout/sample/{sampleLayoutId} HTTP/1.1
Host: api-qa.rcsbizcenter.com
Authorization: Bearer JWT
Accept: */*