Messaging API v1を用いてチャットボットにメッセージを送信する際、メッセージフォーマットは以下のようになります。
共通フィールド
以下の要素は発言の内容に関わらず、全ての発言で使用可能です。
Request headers:
Content-Type
:application/json
Request body:
sender_name
: 発言者の名前(省略した場合はGuest
)
フォーマット:
{ "sender_name": "サンプルユーザー", "type": "xxxxx", "content": { } }
ユーザーによる通常発言
通常の発言をあらわすメッセージです。
Yes/No選択肢の「はい」、「いいえ」なども選択できます。
フォーマット:
text
: 発言する文字列
{ "type": "text", "content": { "text": "任意のテキスト" } }
カルーセルに対して、ユーザーによる選択を行う場合
チャットボットの返信としてカルーセルを表示する場合、以下のようなメッセージが返されます。
{ "type": "carousel", "content": { "carousel_items": [ { "text": "新進気鋭の料理人が作る南欧料理がお楽しみいただけます", "title": "○○レストラン", "actions": [ { "label": "予約する", "type": "postback", "value": "1|reserve" }, { "type": "uri", "value": "https://www.example.com/", "label": "ホームページを開く" } ], "image_url": "https://www.example.com/image1.png", "default_action": null }, { "text": "落ち着いた雰囲気の中でA5クラスの和牛をどうぞ", "title": "△△亭", "actions": [ { "label": "予約する", "type": "postback", "value": "2|reserve" }, { "type": "uri", "value": "https://www.example.com/2", "label": "ホームページを開く" } ], "image_url": "https://www.example.com/image2.png", "default_action": null } ] } }
受信したメッセージの中から、実行したいactionの value
を送ることで、カルーセルの選択が行えます。
例として、「△△亭」の「予約する」を選択する場合のリクエストは以下のようになります。
フォーマット:
text
: 発言する文字列value
: 選択したいカルーセルの要素
{ "type": "text", "content": { "text": "任意のテキスト(選択には影響しませんが、ユーザー発言としてログには残ります)", "value": "2|reserve" } }
シナリオのリセット
チャットボット編集画面で設定した特定のキーワード (例: リセット) を発言することで、実行中のシナリオをリセットし、チャット開始直後に戻ることができます。
また、以下の形式のメッセージを送信することでも、実行中のシナリオをリセットし、チャット開始直後に戻ることができます。
フォーマット:
{
"type": "event",
"content": {
"type": "reset"
}
}
レスポンス:
メッセージの送信に成功した場合は 200 OK が返されます。
チャットボット編集画面でリセット機能を無効化している場合は 400 Bad Request が返されます。
シナリオの進行状況を一つ前に戻す(Undo)
チャットボット編集画面で設定した特定のキーワードを発言することで、一つ前の選択肢やヒアリングなどに戻り、チャットボットからのメッセージを再度表示することができます。
また、以下の形式のメッセージを送信することでも、一つ前の選択肢やヒアリングなどに戻ることができます。
フォーマット:
{
"type": "event",
"content": {
"type": "undo"
}
}
レスポンス:
メッセージの送信に成功した場合は 200 OK が返されます。
チャットボット編集画面で1つ前に戻る機能を無効化している場合は 400 Bad Request が返されます。