Referencia de eventos del webhook message_echoes

Esta devolución de llamada se producirá cuando la página envíe un mensaje. Es posible que recibas mensajes de tipo text o con adjuntos (image, video, audio, template o fallback). La carga útil también incluirá un elemento metadata personalizado opcional enviado por el remitente, así como el valor correspondiente de app_id.
Para suscribirte a esta devolución de llamada, puedes seleccionar el campo message_echoes al configurar el 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

PSID del usuario que activó el evento del webhook.

user_ref

Cadena

Valor user_ref del usuario que activó el evento del webhook. Solo está disponible para eventos del webhook del plugin de chat.

recipient

PropiedadTipoDescripción

id

Cadena

Identificador de la página.

message

Nombre del campo Tipo Descripción

is_echo

Booleano

Indica el mensaje enviado desde la página en sí.

app_id

Cadena

Identificador de la aplicación desde la que se envió el mensaje. A partir de la versión v12.0 y posteriores de la API Graph, el campo app_id devolverá el identificador de aplicación de la bandeja de entrada de la página de Facebook (26390203743090) cuando el mensaje se envíe mediante la bandeja de entrada de la página de Facebook.

metadata

Cadena

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

mid

Cadena

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

Texto del mensaje.

Mensaje con una imagen, audio, vídeo 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 adjunto: image, audio, video o file.

payload.url

Cadena

URL del adjunto.

Mensaje con una plantilla adjunta

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 presente que, en el caso de payload con adjuntos, el identificador del adjunto enviado es un número, no una cadena. Consulta el ejemplo 2.

Esto no coincide con el formato de la API de envío, que requiere que el identificador del adjunto se envíe como cadena.

Mensaje con un adjunto de tipo fallback

Un adjunto de tipo fallback es cualquier adjunto que, actualmente, la función de eco de mensajes no reconoce o admite.

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 adjunto (opcional).

url

Cadena

URL del adjunto (opcional).

payload

Cadena

Carga útil del adjunto (opcional).

Mensaje con productos

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

La aplicación necesitará tener aprobado el permiso catalog_management para recibir los 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 del producto del catálogo de productos.

retailer_id

Cadena

Identificador externo asociado con el producto (p. ej.: el SKU o el identificador del contenido).

image_url

Cadena

URL de la imagen del producto.

title

Cadena

Título del producto.

subtitle

Cadena

Subtítulo del producto.