Быстрые ответы

Быстрые ответы — это новый способ представить кнопки пользователю. Они отображаются над полем для публикаций и более заметны, чем клавиатура. Когда человек нажимает быстрый ответ, в переписку отправляется сообщение с метаданными в обратном вызове, которые определены разработчиком. А кнопки исчезают, благодаря чему пользователи не могут коснуться их из старых сообщений в переписке.

Быстрые ответы содержат текст. В них также можно добавить изображение.

С помощью быстрых ответов можно запросить у человека данные о его местонахождении.

Пример

Только текст

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

Полезные данные во вложении

Да

Быстрые ответы совместимы со всеми типами сообщений, включая текст, изображения и шаблоны. В документации по API Send вы найдете больше информации о том, как использовать объект attachment.

Объект quick_reply

Название свойства Описание Тип Обязательно

content_type

text или location

Строка

Да

title

Подпись для кнопки

Строка

Только если content_type имеет значение text

payload

Индивидуально настроенные данные, которые будут отправлены вам через Webhook.

Строка

Только если content_type имеет значение text

image_url

URL изображения для быстрых ответов text

Строка

Нет

  • Лимит title составляет 20 символов. В случае превышения этого лимита заголовок будет обрезан.
  • payload — не более 1 000 символов
  • Если content_type имеет значение location, параметры title и payload не используются.
  • Изображение, соответствующее image_url, должно быть размером не менее 24 x 24. Оно будет кадрировано, и его размер будет изменен.

Обратный вызов

При касании быстрого ответа отправляется текстовое сообщение на ваш 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
                  }
                }
              }
            ]
          }
        }
      ]
    }
  ]
}