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

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

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

Общий формат

Пример 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":"appointment_booking",
        "payload": {
           "booking_id": "<BOOKING_ID>"
           "status": "<requested|confirmed|declined|cancelled>",
           "start_time": 1739612400,
           "end_time": 1739616000,
           "timezone": "America/Los_Angeles"
        }
      }
    ]
  }
}    

Свойства

message.attachments

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

type

Строка

Тип вложения: appointment_booking

payload.booking_id

Строка

ID бронирования, связанного со встречей

payload.status

Строка

Текущий статус встречи. Может быть requested, confirmed, declined, cancelled

payload.start_time

Целое число

Время начала встречи в формате метки времени Unix (в секундах).

payload.end_time

Целое число

Время завершения встречи в виде метки времени Unix (в секундах).

payload.timezone

Строка

Идентификатор часового пояса IANA (например, America/Los_Angeles)

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

Пример

{
  "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

Строка

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

Сообщение, которое является ответом на другое сообщение

Вложение fallback — это любое вложение, не поддерживаемое или не распознаваемое функцией Message Echo.

Пример

{
  "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",
    "reply_to": {
      "mid": "QUOTED-MESSAGE-ID",
      "is_self_reply" : false  
     } 
   }
}   

Свойства

message.reply_to

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

mid

Строка

Ссылка на ID сообщения, ответом на которое является текущее сообщение

is_self_reply

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

Указывает, отвечает ли сообщение само на себя.