メッセージ送信 (listTemplate)
トーク Bot を使ってリストテンプレートを送信します。
メンバーがボタンを押すと、ボタンラベルのテキストと postback で指定したメッセージが Bot 受信サーバーに送信されます。 メッセージの形式については メッセージ受信 - Callback 形式を参照してください。
リストテンプレートは多言語に対応しており、メンバーの言語設定に合わせて表示を切り替えることができます。
画像の指定には URL 方式とリソース ID 方式があります。 URL 方式は HTTPS のみ対応しています。 リソース ID 方式の場合、 事前にコンテンツアップロード API を使って取得したリソース ID を使って画像を送信します。
リストテンプレートの構成は下図の通りです。
参考
- リソース ID 方式で画像を指定すると、アップロードした画像は共有ストレージを消費します。
- リストテンプレートのアイテムは最大 4 個まで登録できます。
- リストテンプレート下部のボタンは最大 2 列、2 行まで登録できます。
API の種類
サーバー API
Request URL
https://apis.worksmobile.com/r/{API ID}/message/v1/bot/{botNo}/message/push
HTTP Method
POST(Content-Type: application/json; charset=UTF-8)
Request Content
common
パラメーター | タイプ | 必須 | 説明 |
---|---|---|---|
type | string | Y | "list_template" |
coverData | object | N | カバーデータ |
coverData.backgroundImage | string | N | カバーデータ背景画像の URL (PNG 形式、 HTTPS のみ)。 backgroundImage、 backgroundResourceId のいずれかを選択。 最大 1,000 字 |
coverData.backgroundResourceId | string | N | カバーデータ背景画像のリソース ID。 backgroundImage、 backgroundResourceId のいずれかを選択。 |
coverData.title | string | N | カバーデータのタイトル 最大 1,000 字 |
coverData.subtitle | string | N | サブタイトル 最大 1,000 字 |
elements | array<object> | Y | アイテムリスト |
elements[].title | string | Y | アイテムのタイトル 最大 1,000 字 |
elements[].subtitle | string | N | アイテムのサブタイトル 最大 1,000 字 |
elements[].image | string | N | アイテム画像の URL (PNG 形式、 HTTPS のみ) image、 resourceId のいずれかを選択。 最大 1,000 字 |
elements[].resourceId | string | N | アイテム画像のリソース ID image、 resourceId のいずれかを選択。 |
elements[].action | array<Action Object> | N | 各アイテムのボタン。 |
actions[][] | array<array<Action Object>> | N | 下部のボタン。1つ目の配列は行、2つ目の配列は列を表す。 |
multi language
パラメーター | タイプ | 必須 | 説明 |
---|---|---|---|
coverData.i18nBackgroundImages[] | array | N | 多言語のカバーデータ背景画像の URL リスト |
coverData.i18nBackgroundImages[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
coverData.i18nBackgroundImages[].backgroundImage | string | Y | カバーデータ背景画像の URL (PNG 形式、 HTTPS のみ可能) 最大 1,000 字 |
coverData.I18nBackgroundResourceIds[] | array | N | 多言語のカバーデータ背景画像のリソース ID リスト |
coverData.I18nBackgroundResourceIds[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
coverData.I18nBackgroundResourceIds[].backgroundResourceId | string | Y | カバーデータ背景画像のリソース ID |
coverData.i18nTitles[] | array | N | 多言語のカバーデータのタイトルリスト |
coverData.i18nTitles[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
coverData.i18nTitles[].title | string | Y | カバーデータのタイトル 最大 1,000 字 |
coverData.i18nSubtitles[] | array | N | 多言語のカバーデータのサブタイトルリスト |
coverData.i18nSubtitles[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
coverData.i18nSubtitles[].subtitle | string | Y | カバーデータのサブタイトル 最大 1,000 字 |
elements[].i18nTitles[] | array | N | 多言語のアイテムのタイトルリスト |
elements[].i18nTitles[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
elements[].i18nTitles[].title | string | Y | アイテムのタイトル 最大 1,000 字 |
elements[].i18nSubtitles[] | array | N | 多言語の各アイテムのサブタイトルリスト |
elements[].i18nSubtitles[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
elements[].i18nSubtitles[].subtitle | string | Y | 各アイテムのサブタイトル 最大 1,000 字 |
elements[].i18nImages[] | array | N | 多言語のアイテムの画像 URL リスト |
elements[].i18nImages[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
elements[].i18nImages[].image | string | Y | アイテム画像の URL (PNG 形式、 HTTPS のみ) 最大 1,000 字 |
elements[].resourceIds[] | array | N | 多言語のアイテム画像のリソース ID リスト |
elements[].resourceIds[].language | string | Y | 言語コード ●ja_JP ●ko_KR ●zh_CN ●zh_TW ●en_US |
elements[].resourceIds[].resourceId | string | Y | アイテム画像のリソース ID |
Request Example
{
"accountId": "admin@example.com",
"content": {
"type": "list_template",
"coverData": {
"backgroundImage": "https://aaa"
},
"elements": [{
"title": "WorksMobile's Homepage",
"subtitle": "Press the button to visit.",
"action": {
"type": "uri",
"label": "Visit",
"uri": "https://line.worksmobile.com"
}
}, {
"title": "FAQ",
"subtitle": "Talk with bot.",
"image": "https://bbb",
"action": {
"type": "message",
"label": "Talk",
"postback": "ListTemplate_Talk"
}
}],
"actions": [[{
"type": "message",
"label": "View more",
"postback": "ListTempalte_ViewMore"
}]]
}
}
Response
呼び出しに成功すると HTTP 200 コードを返します。
Error Code
呼び出しに失敗するとエラーコードとエラーメッセージを返します。
エラーコードはトーク Bot REST API エラーコードを参照してください。