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

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

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

Общий формат

Пример 1

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

Пример 2

{
    "object": "page",
    "entry": [
        {
            "id": "<PAGE_ID>",
            "time": 1570053170926,
            "standby": [
                {
                    "sender": {
                        "id": "<PAGE_ID>"
                    },
                    "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

Поле senderОписание

id

Строка

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

recipient

Поле 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":"<PAGE_ID>"
  },
  "recipient":{
    "id":"<PSID>"
  },
  "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":"<PAGE_ID>"
  },
  "recipient":{
    "id":"<PSID>"
  },
  "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":"<PAGE_ID>"
  },
  "recipient":{
    "id":"<PSID>"
  },
  "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":"<PAGE_ID>"
  },
  "recipient":{
    "id":"<PSID>"
  },
  "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":"<PAGE_ID>"
  },
  "recipient":{
    "id":"<PSID>"
  },
  "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

Строка

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