Справка по событию Webhook message_echoes

Этот обратный вызов активируется, когда ваша Страница отправляет сообщение. Вы можете получить сообщение типа text или сообщение с вложениями (image, video, audio, template или fallback). Полезные данные также могут содержать необязательные пользовательские данные metadata от отправителя и соответствующий app_id.
Чтобы подписаться на этот обратный вызов, выберите message_echoes во время настройки Webhook.

Поддерживаются разные типы сообщений:

Общий формат

Пример 1

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1457764197627,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1457764197618:41d102a3e1ae206a38",
    ...
  }
}   

Пример 2

{
    "object": "page",
    "entry": [
        {
            "id": "<PAGEID>",
            "time": 1570053170926,
            "standby": [
                {
                    "sender": {
                        "id": "<PAGEID>"
                    },
                    "recipient": {
                        "id": "<PSID>"
                    },
                    "timestamp": 1570053170673,
                    "message": {
                        "mid": "qT7ywaKpO9kkQR7Gv-nM8LIfLZDamVrALniheUYEDdHJXjDXEAyaS1xxONzb2Iv-DFzmTihfWJV012P5pK0AhQ",
                        "is_echo": true,
                        "app_id": <APPID>,
                        "attachments": [
                            {
                                "title": "",
                                "url": "https:\/\/www.facebook.com\/commerce\/update\/",
                                "type": "template",
                                "payload": {
                                    "template_type": "media",
                                    "elements": [
                                        {
                                            "media_type": "image",
                                            "attachment_id": 2457235337685388
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    ]
}

Свойства

sender

СвойствоТипОписание

id

строка

PSID пользователя, который запустил событие Webhook.

user_ref

Строка

user_ref пользователя, который запустил событие Webhook. Доступно только для события Webhook плагина чата.

recipient

СвойствоТипОписание

id

строка

ID вашей Страницы.

message

Имя поля Тип Описание

is_echo

Логическое значение

Указывает на сообщение, отправленное Страницей

app_id

Строка

ID приложения, из которого было отправлено сообщение Начиная с API Graph v12.0+, поле app_id будет возвращать ID приложения для входящих Страницы Facebook (26390203743090) всякий раз, когда сообщение отправляется через входящие Страницы Facebook.

metadata

Строка

Пользовательская строка, отправленная к API Send в поле metadata. Присутствует, только если в исходном сообщении было задано свойство metadata.

mid

Строка

ID сообщения

Текстовое сообщение

Пример

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1457764197627,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1457764197618:41d102a3e1ae206a38",
    "text":"hello, world!"
  }
}    

Свойства

message

Свойство Тип Описание

text

Строка

Текст сообщения

Сообщение с вложениями (изображения, аудио, видео или файлы)

Пример

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "type":"image",
        "payload":{
          "url":"<IMAGE_URL>"
        }
      }
    ]
  }
}    

Свойства

message.attachments

Свойства Тип Описание

type

Строка

Тип вложения: image, audio, video или file

payload.url

Строка

URL вложения

Сообщение с вложенным шаблоном

Пример

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "type":"template",
        "payload":{
          "template_type":"button",
          "buttons":[
            {
              "type":"web_url",
              "url":"https:\/\/www.messenger.com\/",
              "title":"Visit Messenger"
            }
          ]
        }
      }
    ]
  }
}    

Свойства

message.attachments

Свойство Тип Описание

type

Строка

template

payload

Строка

Полезные данные шаблона (см. справку по API Send)

Обратите внимание: если payload содержит вложения, ID вложения отправляется как число, а не как строка. См. пример 2

Это нарушает формат API Send, для которого ID вложения должен быть строкой.

Сообщение с вложением fallback

Все вложения, не поддерживаемые или не распознаваемые функцией отзеркаленных сообщений, получают тип fallback.

Пример

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "title":"Legacy Attachment",
        "url":"https:\/\/www.messenger.com\/",
        "type":"fallback",
        "payload":null
      }
    ]
  }
}    

Свойства

message.attachments

Свойство Тип Описание

type

Строка

fallback

title

Строка

Название вложения (необязательно)

url

Строка

URL вложения (необязательно)

payload

Строка

Полезные данные во вложении (необязательно)

Сообщение с товарами

Webhook типа echo для сообщений с товарами доступен только в API Graph начиная с версии 8.0

Чтобы приложение могло получать информацию о товаре в вызовах Webhooks, необходимо одобренное разрешение catalog_management.

Пример

{
  "sender":{
    "id":"<PSID>"
  },
  "recipient":{
    "id":"<USER_ID>"
  },
  "timestamp":1458696618268,
  "message":{
    "is_echo":true,
    "app_id":1517776481860111,
    "metadata": "<DEVELOPER_DEFINED_METADATA_STRING>",
    "mid":"mid.1458696618141:b4ef9d19ec21086067",
    "attachments":[
      {
        "type":"template",
        "payload":{
          "product":{
             "elements":[ // multiple elements for Hscroll
               {
                 "id":"<PRODUCT_ID>",
                 "retailer_id":"<EXTERNAL_ID>",
                 "image_url":"https://fb.cdn.com/sdsd",
                 "title":"Some product title",
                 "subtitle": "40",
               },
               {...},
             ]
            }

          ]
        }
      }
    ]
  }
}     

Свойства

product.elements

Свойство Тип Описание

id

Строка

ID товара из каталога товаров

retailer_id

Строка

Внешний ID, связанный с товаром (например, SKU или ID контента)

image_url

Строка

URL изображения товара

title

Строка

Название товара

subtitle

Строка

Подзаголовок товара