クイック返信

クイック返信は利用者にボタンを表示するための新しい方法です。クイック返信は作成画面にわかりやすく表示され、キーボードはより控え目に表示されます。クイック返信をタップすると、会話にメッセージが送信され、開発者が定義したメタデータがコールバックで送信されます。利用者が会話の古いメッセージに関連付けられているボタンをタップしないように、そのボタンは閉じられます。

クイック返信にはテキストが含まれます。オプションで画像を追加できます。

また、クイック返信を使用することで、現在地に応じたプロンプトを利用者に表示できます。

例

テキストのみ

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"USER_ID"
  },
  "message":{
    "text":"Pick a color:",
    "quick_replies":[
      {
        "content_type":"text",
        "title":"Red",
        "payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED"
      },
      {
        "content_type":"text",
        "title":"Green",
        "payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN"
      }
    ]
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"    

テキストと画像

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"USER_ID"
  },
  "message":{
    "text":"Pick a color:",
    "quick_replies":[
      {
        "content_type":"text",
        "title":"Red",
        "payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED",
        "image_url":"http://petersfantastichats.com/img/red.png"
      },
      {
        "content_type":"text",
        "title":"Green",
        "payload":"DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN",
        "image_url":"http://petersfantastichats.com/img/green.png"
      }
    ]
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"    

地域

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"USER_ID"
  },
  "message":{
    "text":"Please share your location:",
    "quick_replies":[
      {
        "content_type":"location",
      }
    ]
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"

フィールド

messageオブジェクト

プロパティ名 説明 必須

text

メッセージテキスト

textまたはattachmentを設定する必要があります

attachment

attachmentオブジェクト

textまたはattachmentを設定する必要があります

quick_replies

メッセージで送信されるquick_replyの配列

いいえ

  • quick_repliesは11に制限されます

attachmentオブジェクト

プロパティ名 説明 必須

type

添付ファイルのタイプ。imageまたはtemplateのいずれか

はい

payload

添付ファイルのペイロード

はい

クイック返信は、テキストメッセージ、画像、テンプレート添付ファイルなど、すべてのメッセージタイプで使用できます。attachmentオブジェクトの使用方法については、Send APIのドキュメントをご覧ください。

quick_replyオブジェクト

プロパティ名 説明 タイプ 必須

content_type

textまたはlocation

文字列

はい

title

ボタンのキャプション

文字列

content_typeがtextの場合のみ

payload

Webhook経由で送り返されるカスタムデータ

文字列

content_typeがtextの場合のみ

image_url

textクイック返信の画像のURL

文字列

いいえ

  • titleには20字以内で設定する必要があります。21字目以降は切り取られます。
  • payloadは1000字以内で設定する必要があります
  • content_typeがlocationの場合は、titleとpayloadは使用されません
  • image_urlのサイズは24x24以下にする必要があります。超えた場合は、切り取られてサイズが変更されます

コールバック

クイック返信をタップすると、テキストメッセージがWebhookメッセージ受信コールバックに送信されます。メッセージのテキストはクイック返信のタイトルに対応します。また、messageオブジェクトにはquick_replyという名前のフィールドがあり、このフィールドにはクイック返信のpayloadデータが含まれます。

{
  "sender": {
    "id": "USER_ID"
  },
  "recipient": {
    "id": "PAGE_ID"
  },
  "timestamp": 1464990849275,
  "message": {
    "mid": "mid.1464990849238:b9a22a2bcb1de31773",
    "seq": 69,
    "text": "Red",
    "quick_reply": {
      "payload": "DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED"
    }
  }
}    

利用者が地域をシェアすると、コールバックは次のようになります。

{
  "object": "page",
  "entry": [
    {
      "id": "PAGE_ID",
      "time": 1472672934319,
      "messaging": [
        {
          "sender": {
            "id": "USER_ID"
          },
          "recipient": {
            "id": "PAGE_ID"
          },
          "timestamp": 1472672934259,
          "message": {
            "mid": "mid.1472672934017:db566db5104b5b5c08",
            "seq": 297,
            "attachments": [
              {
                "title": "Facebook HQ",
                "url": "https://www.facebook.com/l.php?u=https%....5-7Ocxrmg",
                "type": "location",
                "payload": {
                  "coordinates": {
                    "lat": 37.483872693672,
                    "long": -122.14900441942
                  }
                }
              }
            ]
          }
        }
      ]
    }
  ]
}