Referência do evento de webhook message_echoes

Este retorno de chamada acontecerá quando uma mensagem for enviada pela sua página. Talvez você receba mensagens com text ou anexos (image, video, audio, template ou fallback). A carga também inclui metadata personalizados opcionais enviados pelo remetente e o respectivo app_id.
Para assinar esse retorno de chamada, selecione o campo message_echoes ao configurar o webhook.

Diversos tipos de mensagens são compatíveis:

Formato comum

Exemplo 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",
    ...
  }
}   

Exemplo 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
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    ]
}

Propriedades

sender

PropriedadeTipoDescrição

id

Cadeia de caracteres

O PSID (Número de identificação no escopo da Página) do usuário que acionou o evento de webhook.

user_ref

Cadeia de caracteres

O parâmetro user_ref do usuário que acionou o evento de webhook. Disponível somente para o evento de webhook do plugin de bate-papo.

recipient

PropriedadeTipoDescrição

id

Cadeia de caracteres

Seu ID da Página.

message

Nome do campo Tipo Descrição

is_echo

Booliano

Indica a mensagem enviada diretamente da página.

app_id

String

ID do app do qual a mensagem foi enviada. A partir da v12.0 da Graph API, o campo app_id retornará o ID do app de caixa de entrada da Página do Facebook (26390203743090) sempre que a mensagem for enviada por essa via.

metadata

String

Uma string personalizada transmitida para a Send API como o campo metadata. Presente somente se a propriedade metadata estiver definida na mensagem original.

mid

String

ID da mensagem

Mensagem de texto

Exemplo

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

Propriedades

message

Propriedade Tipo Descrição

text

String

Texto da mensagem

Mensagem com imagem, áudio, vídeo ou arquivo em anexo

Exemplo

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

Propriedades

message.attachments

Propriedades Tipo Descrição

type

String

Tipo de anexo: image, audio, video ou file

payload.url

String

URL do anexo

Mensagem com anexo de modelo

Exemplo

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

Propriedades

message.attachments

Propriedade Tipo Descrição

type

String

template

payload

String

Carga do modelo conforme descrito na Referência da Send API

Vale lembrar que, no caso de uma payload com anexos, o ID do anexo enviado será um número, e não uma string. Veja o exemplo 2.

Isso não corresponde ao formato da Send API que precisa do ID de anexo para ser enviado como uma string.

Mensagem com anexo de fallback

Um anexo de fallback é qualquer anexo que não seja reconhecido nem compatível com o recurso Message Echo.

Exemplo

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

Propriedades

message.attachments

Propriedade Tipo Descrição

type

String

fallback

title

String

Título do anexo (opcional)

url

String

URL do anexo (opcional)

payload

String

Carga do anexo (opcional)

Mensagem com produtos

O webhook echo de mensagem com produtos está disponível somente a partir da versão 8.0 da Graph API.

O app precisa da permissão catalog_management para receber detalhes do produto nos webhooks.

Exemplo

{
  "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",
               },
               {...},
             ]
            }

          ]
        }
      }
    ]
  }
}     

Propriedades

product.elements

Propriedade Tipo Descrição

id

String

ID do produto no catálogo de produtos

retailer_id

String

ID externo associado ao produto (por exemplo: SKU ou ID do conteúdo)

image_url

String

A URL da imagem do produto.

title

String

Título do produto

subtitle

String

Subtítulo do produto