Referencia del evento de webhook message_echoes

Esta devolución de llamada se realizará cuando la página envíe un mensaje. Es posible que recibas mensajes de text o mensajes con archivos adjuntos (image, video, audio, template o fallback). La carga útil también incluirá metadata personalizados opcionales que enviará el remitente, además del app_id correspondiente.
Para suscribirte a esta devolución de llamada, selecciona el campo message_echoes al configurar tu webhook.

Se admiten varios tipos de mensajes:

Formato común

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

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

Propiedades

sender

PropiedadTipoDescripción

id

Cadena

El PSID del usuario que activó el evento de webhook.

user_ref

Cadena

La user_ref del usuario que activó el evento de webhook. Esto está disponible solamente para el evento de webhook del plugin de chat.

recipient

PropiedadTipoDescripción

id

Cadena

El identificador de la página.

message

Nombre del campo Tipo Descripción

is_echo

Booleano

Indica el mensaje enviado desde la propia página

app_id

Cadena

Identificador de la app desde la que se envió el mensaje A partir de la v12.0 de la API Graph, el campo app_id devolverá el identificador de la bandeja de entrada de la página de Facebook (26390203743090) cada vez que el mensaje se envíe por esta vía.

metadata

Cadena

La cadena personalizada que se pasa a la API de envío como el campo metadata. Solo está presente si se configuró la propiedad de metadata en el mensaje original.

mid

Cadena

El identificador del mensaje.

Mensaje de texto

Ejemplo

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

Propiedades

message

Propiedad Tipo Descripción

text

Cadena

El texto del mensaje.

Mensaje con imagen, audio, video o archivo adjunto

Ejemplo

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

Propiedades

message.attachments

Propiedades Tipo Descripción

type

Cadena

Tipo de archivo adjunto: image, audio, video o file

payload.url

Cadena

URL del archivo adjunto

Mensaje con un archivo adjunto de "template"

Ejemplo

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

Propiedades

message.attachments

Propiedad Tipo Descripción

type

Cadena

template

payload

Cadena

Carga útil de la plantilla según se describe en la Referencia de la API de envío

Ten en cuenta que, en el caso de una payload con archivos adjuntos, el identificador del archivo adjunto que se envía es un número, no una cadena. Consulta el ejemplo 2.

Esto no coincide con el formato de una API de envío que precisa un identificador de archivo adjunto para enviarse como una cadena.

Mensaje con archivo adjunto de tipo "fallback"

Un archivo adjunto de "fallback" es un archivo adjunto que actualmente no es reconocido por la función de eco de mensaje, o no es compatible con ella.

Ejemplo

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

Propiedades

message.attachments

Propiedad Tipo Descripción

type

Cadena

fallback

title

Cadena

Título del archivo adjunto (opcional)

url

Cadena

URL del archivo adjunto (opcional)

payload

Cadena

Carga útil del archivo adjunto (opcional)

Mensaje con productos

El webhook de mensaje con eco de productos solo está disponible en la versión 8.0 y versiones posteriores de la API Graph.

La app deberá tener el permiso catalog_management aprobado para recibir detalles del producto en los webhooks.

Ejemplo

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

          ]
        }
      }
    ]
  }
}     

Propiedades

product.elements

Propiedad Tipo Descripción

id

Cadena

Identificador de producto del catálogo de productos

retailer_id

Cadena

Identificador externo asociado al producto. (p. ej.: identificador de contenido/SKU)

image_url

Cadena

URL de la imagen del producto

title

Cadena

Título del producto

subtitle

Cadena

Subtítulo del producto.