Flexible Template은 레이아웃을 사용자가 지정할 수 있는 메시지이다. CSS Flexbox(CSS Flexible Box)의 권고안에 따라 레이아웃을 자유롭게 사용자 지정할 수 있다. ‘Flex container’는 Flexible Template의 ‘박스 컴포넌트’를, ‘Flex item’은 Flexible Template의 ‘컴포넌트’를 의미한다.

다른 메시지 형식과 마찬가지로 Flexible Template은 JSON 형식으로 작성한다. 봇에서 Flexible Template을 보내는 방법에 대한 자세한 내용은 다음 페이지를 참고한다.
| 파라미터 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
| type | string | Y | flex 로 고정 |
| altText | string | Y | 메시지 목록과 푸시에 표시되는 대체 텍스트. 대체 텍스트는 다국어로 전송할 수 있다. 최대 글자수: 400자 |
| contents | object | Y | Flexible Template 컨테이너 |
| 파라미터 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
| i18nAltTexts[] | array | N | 다국어 대체 텍스트 목록 |
| i18nAltTexts[].language | string | Y | 다국어 언어 코드 • ko_KR • ja_JP • zh_CN • zh_TW • en_US |
| i18nAltTexts[].altText | string | Y | 다국어 대체 텍스트 최대 글자수: 400자 |
{ "content": { "type": "flex", "altText": "this is a flexible template", "contents": { "type": "bubble", "body": { "type": "box", "layout": "vertical", "contents": [ { "type": "text", "text": "hello" }, { "type": "text", "text": "world" } ] } } }}{ "content": { "type": "flex", "altText": "Hello", "i18nAltTexts":[{ "language": "ja_JP", "altText": "こんにちは" },{ "language": "ko_KR", "altText": "안녕하세요" }], "contents": { "type": "bubble", "size": "mega", "hero": { "type": "box", "layout": "vertical", "contents": [ { "type": "text", "text": "YOU ARE INVITED!", "size": "xl", "color": "#ffffff", "weight": "bold", "align": "center", "wrap": true } ], "backgroundColor": "#81DBA0", "paddingAll": "15px" } } }}Flexible Template 컨테이너에 사용할 JSON 은 Flexible Template Simulator에서 생성한다. Flexible Template Simulator을 사용하면 실제로 메시지를 보내지 않고도 레이아웃을 확인하거나 컨테이너에 사용할 JSON을 생성할 수 있다.
Flex Message Simulator는 세 부분으로 구성된다.
{ "content": { "type": "flex", "altText": "메시지 목록과 푸시에 표시되는 대체 텍스트", "contents": { 여기에 붙여넣기 수행 } }}