# 샘플 레이아웃 상세 조회

## Request

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

> 레이아웃 등록/수정을 위해 참조용으로 제공되는 샘플 레이아웃 상세 정보를 조회합니다.  \
> \
> &#x20; \+ \*\*계정 권한: 대행사\*\*<br>

```json
{"openapi":"3.0.0","info":{"title":"RCS Biz Center API 규격","version":"1.1.15"},"servers":[{"description":"RCS Biz Center API for Staging","url":"https://api-qa.rcsbizcenter.com/api/1.1"},{"description":"RCS Biz Center API for Production","url":"https://api.rcsbizcenter.com/api/1.1"}],"security":[{"jwtAuth":[]}],"components":{"securitySchemes":{"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"인증방식은 JWT인증을 사용합니다. 토큰의 갱신은 없으며 토큰 만료 시 항상 재발급 받아야 합니다.\n"}},"parameters":{"SampleLayoutId":{"name":"sampleLayoutId","in":"path","schema":{"type":"string"},"description":"샘플레이아웃 ID 입니다.","required":true}}},"paths":{"/baselayout/sample/{sampleLayoutId}":{"get":{"summary":"레이아웃 등록/수정을 위해 참조용으로 제공되는 샘플 레이아웃 상세 정보를 조회합니다.\n","description":"레이아웃 등록/수정을 위해 참조용으로 제공되는 샘플 레이아웃 상세 정보를 조회합니다.  \n\n  + **계정 권한: 대행사**\n","parameters":[{"$ref":"#/components/parameters/SampleLayoutId"}],"responses":{"200":{"description":"페이지 내 Response 섹션 참조"}}}}}}
```

## Response

<table data-full-width="true"><thead><tr><th width="147">필드명</th><th width="141">타입</th><th width="68" align="center">길이</th><th width="108" align="center">필수여부</th><th width="119">기본값</th><th>설명</th></tr></thead><tbody><tr><td><a href="#result-array-less-than-object-greater-than"><mark style="color:blue;"><strong><code>result</code></strong></mark></a></td><td>array&#x3C;object></td><td align="center"></td><td align="center">O</td><td></td><td>샘플 레이아웃 상세 정보 입니다.</td></tr><tr><td><strong><code>code</code></strong></td><td>string</td><td align="center">5</td><td align="center">O</td><td>20000000</td><td></td></tr><tr><td><strong><code>status</code></strong></td><td>integer</td><td align="center">3</td><td align="center">O</td><td>200</td><td></td></tr><tr><td><strong><code>desc</code></strong></td><td>string</td><td align="center"></td><td align="center">O</td><td></td><td></td></tr></tbody></table>

### <mark style="color:blue;">result</mark> - array\<object>

<table data-full-width="true"><thead><tr><th width="205">필드명</th><th width="137">타입</th><th width="70" align="center">길이</th><th width="96" align="center">필수여부</th><th width="139">기본값</th><th>설명</th></tr></thead><tbody><tr><td><strong><code>sampleLayoutId</code></strong></td><td>string</td><td align="center">40</td><td align="center"></td><td></td><td>샘플 레이아웃 상세 정보 입니다.</td></tr><tr><td><strong><code>sampleLayoutName</code></strong></td><td>string</td><td align="center">40</td><td align="center"></td><td></td><td>샘플 레이아웃 이름 입니다.</td></tr><tr><td><strong><code>productCode</code></strong></td><td>string</td><td align="center">20</td><td align="center"></td><td></td><td>샘플 레이아웃의 메시지 상품 코드 입니다.</td></tr><tr><td><strong><code>status</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td></td><td><p>샘플 레이아웃의 상태를 표시합니다.</p><ul><li>ready : 사용</li><li>pause : 사용중지</li></ul></td></tr><tr><td><strong><code>registerId</code></strong></td><td>string</td><td align="center">20</td><td align="center"></td><td></td><td>등록자 ID 입니다.</td></tr><tr><td><strong><code>registerDate</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td></td><td>등록일시 입니다.</td></tr><tr><td><strong><code>updateDate</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td></td><td>수정일시 입니다.</td></tr><tr><td><strong><code>approvalResult</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td></td><td><p>레이아웃 등록 상태입니다. 레이아웃은 운영자 검수 없이 자동 등록됩니다.</p><ul><li>등록완료 : 이통3사에 정상 등록된 상태입니다.</li><li>저장 : RBC 웹에서 저장만 했을 경우 상태이며 별도 등록요청을 해야 합니다.</li><li>처리중 : 이통 3사 등록 중 에러로 인해 최종 완료가 되지 않은 상태로 수정이나 삭제가 불가능한 상태입니다.</li></ul></td></tr><tr><td><strong><code>spec</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td>openrichcard</td><td>레이아웃 구조가 리치카드인지 오픈리치카드인지 구분합니다. 샘플 레이아웃은 오픈리치카드로 구성되어 있습니다.</td></tr><tr><td><strong><code>cardType</code></strong></td><td>string</td><td align="center">64</td><td align="center"></td><td></td><td><p>카드 종류를 구분합니다.<br>레이아웃에 표시되는 카드 타입은 다음 두 가지로 제한됩니다.</p><ul><li>format : 이통사 제공 공통포맷의 카드 타입입니다.</li><li>formatBr : 사용자가 등록한 레이아웃의 카드 타입입니다.</li></ul></td></tr><tr><td><strong><code>buttonColor</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td></td><td>버튼에 지정된 컬러 값을 표시합니다. 지정된 경우 컬러 Hex 값(예,'#FFFFFF')이 표시되며, 미지정 시 빈값 입니다.</td></tr><tr><td><a href="#headercomposition-bodycomposition-footercomposition-array-less-than-object-greater-than"><mark style="color:blue;"><strong><code>headerComposition</code></strong></mark></a></td><td>array&#x3C;object></td><td align="center"></td><td align="center"></td><td></td><td>카드 내의 최상위 영역으로 1개의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 headerYn = 'Y' 인 컴포넌트만 등록이 가능합니다.</td></tr><tr><td><a href="#headercomposition-bodycomposition-footercomposition-array-less-than-object-greater-than"><mark style="color:blue;"><strong><code>bodyComposition</code></strong></mark></a></td><td>array&#x3C;object></td><td align="center"></td><td align="center"></td><td></td><td><p>카드 내의 중간 영역으로 메시지 상품에서 지정한 개수의 컴포넌트를 지정할 수 있습니다.<br>컴포넌트 중 bodyYn = 'Y' 인 컴포넌트만 등록이 가능합니다.<br>예를 들어 LMS는 최대 6개의 컴포넌트를 지정할 수 있으며, 최대 개수 범위 내에서 각 영역별 배분할 수 있습니다.</p><ul><li>Header 1개 지정 시 body 최대 5개</li><li>body만 지정 시 최대 6개</li></ul></td></tr><tr><td><a href="#headercomposition-bodycomposition-footercomposition-array-less-than-object-greater-than"><mark style="color:blue;"><strong><code>footerComposition</code></strong></mark></a></td><td>array&#x3C;object></td><td align="center"></td><td align="center"></td><td></td><td>카드 내의 최상위 영역으로 1개의 컴포넌트를 지정할 수 있습니다. 컴포넌트 중 footerYn = 'Y' 인 컴포넌트만 등록이 가능합니다. 현재는 footer에 사용자가 직접 지정하는 컴포넌트는 없습니다.</td></tr><tr><td><a href="#headercomposition-bodycomposition-footercomposition-array-less-than-object-greater-than"><mark style="color:blue;"><strong><code>formattedString</code></strong></mark></a></td><td>object</td><td align="center"></td><td align="center"></td><td></td><td>샘플 레이아웃을 구성한 openrichcard 메시지 구조 정보 입니다. 레이아웃 등록/수정 시에는 컴포넌트를 활용하므로 formattedString 은 참조 데이터로 제공됩니다.</td></tr></tbody></table>

{% hint style="info" %}
GSMA RCC.07-v11.0 참조\
<https://www.gsma.com/solutions-and-impact/technologies/networks/wp-content/uploads/2019/10/RCC.07-v11.0.pdf>
{% endhint %}

{% hint style="info" %}
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>
{% endhint %}

### <mark style="color:blue;">headerComposition, bodyComposition, footerComposition</mark> - array\<object>

<table data-full-width="true"><thead><tr><th width="147">필드명</th><th width="141">타입</th><th width="68" align="center">길이</th><th width="108" align="center">필수여부</th><th width="119">기본값</th><th>설명</th></tr></thead><tbody><tr><td><strong><code>index</code></strong></td><td>integer</td><td align="center"></td><td align="center"></td><td></td><td>레이아웃 내 컴포넌트의 순번을 표시합니다. 등록 시에는 index를 지정하지 않으며, 배열 내 순서를 기준으로 처리됩니다.</td></tr><tr><td><strong><code>componentId</code></strong></td><td>string</td><td align="center">40</td><td align="center">O</td><td></td><td>지정할 컴포넌트 ID 입니다.</td></tr><tr><td><a href="#options-object-0"><mark style="color:blue;"><strong><code>options</code></strong></mark></a></td><td>object</td><td align="center"></td><td align="center"></td><td></td><td>레이아웃 사용 시 컴포넌트에 적용될 수 있는 옵션입니다. 옵션 지정이 가능한 경우 표기됩니다.</td></tr></tbody></table>

### <mark style="color:blue;">**options**</mark> - object(0)

<table data-full-width="true"><thead><tr><th width="170">필드명</th><th width="141">타입</th><th width="74" align="center">길이</th><th width="108" align="center">필수여부</th><th width="90">기본값</th><th>설명</th></tr></thead><tbody><tr><td><strong><code>leftAlign</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td>left</td><td><p>좌측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.</p><ul><li>left : 좌측 정렬</li><li>right : 우측 정렬</li><li>center : 중앙 정렬</li></ul></td></tr><tr><td><strong><code>rightAlign</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td>right</td><td><p>우측 컬럼(열) 전체의 글자 정렬 위치를 설정합니다.</p><ul><li>left : 좌측 정렬</li><li>right : 우측 정렬</li><li>center : 중앙 정렬</li></ul></td></tr><tr><td><strong><code>leftTextStyle</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td>normal</td><td><p>좌측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.</p><ul><li>normal : 기본 스타일</li><li>bold : bold 스타일 적용</li></ul></td></tr><tr><td><strong><code>rightTextStyle</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td>normal</td><td><p>우측 컬럼(열)에 입력되는 글자 스타일을 지정합니다.</p><ul><li>normal : 기본 스타일</li><li>bold : bold 스타일 적용</li></ul></td></tr><tr><td><strong><code>maxCount</code></strong></td><td>integer</td><td align="center"></td><td align="center"></td><td>5</td><td><p>테이블의 행 개수를 지정합니다. 정의된 숫자 이외에는 지정할 수 없습니다.</p><ul><li>5 : 5행</li><li>10 : 10행</li></ul></td></tr></tbody></table>

{% hint style="info" %}
Table / StyleTable등 테이블 컴포넌트의 옵션 정보 객체 입니다.
{% endhint %}

### <mark style="color:blue;">options</mark> - object(1)

<table data-full-width="true"><thead><tr><th width="170">필드명</th><th width="141">타입</th><th width="68" align="center">길이</th><th width="108" align="center">필수여부</th><th width="117">기본값</th><th>설명</th></tr></thead><tbody><tr><td><strong><code>color</code></strong></td><td>string</td><td align="center"></td><td align="center"></td><td></td><td>버튼의 색상 설정 옵션입니다. 버튼의 색상은 브랜드 정보에서 지정한 templateColor 컬러 Hex 값과 동일해야 합니다. 빈값 지정 시 기본 버튼 컬러로 적용되며, 지정된 컬러 Hex 값이 templateColor의 값과 다르면 templateColor로 강제 설정됩니다.</td></tr></tbody></table>

{% hint style="info" %}
VButton / HButton 등 버튼 컴포넌트의 옵션 정보 객체 입니다.
{% endhint %}

### <mark style="color:blue;">options</mark> - object(2)

<table data-full-width="true"><thead><tr><th width="170">필드명</th><th width="141">타입</th><th width="68" align="center">길이</th><th width="108" align="center">필수여부</th><th width="117">기본값</th><th>설명</th></tr></thead><tbody><tr><td><strong><code>ctlrViewAll</code></strong></td><td>boolean</td><td align="center"></td><td align="center"></td><td>true</td><td><p></p><p>컴포넌트 단위의 viewAll(모두보기) 활성화 여부를  지정합니다.</p><ul><li>true: 컴포넌트 viewAll(모두보기) 활성화</li><li>false: 컴포넌트 viewAll(모두보기) 비활성화</li></ul></td></tr><tr><td>viewAll</td><td>integer</td><td align="center"></td><td align="center"></td><td>150</td><td>viewAll(모두보기) 접힘 글자수 기준값을 지정합니다.<br>유효값: 150(default), 300<br>유효값 이외 수치가 입력되는 경우 defualt로 처리됩니다.</td></tr></tbody></table>

{% hint style="info" %}
viewAll(모두보기) 설정을 포함하는 컴포넌트의 옵션 정보 객체 입니다.
{% endhint %}

### ❖ response body sample

{% tabs %}
{% tab title="200" %}

```
{
    "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
}
```

{% endtab %}

{% tab title="401" %}

```
{
    "error": {
        "code": "61003",
        "message": "Invalid token"
    },
    "status": 401
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
error code는 [RCS Biz Center - Response body error code](/rbc-api/error_code.md#rcs-biz-center-response-body-error-code) 참조
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidocs.rcsbizcenter.com/rbc-api/layout/get_sample_layout_detail.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
