Mensajes (MO)
Cuando el cliente le envíe un mensaje, Sinch Messaging API enviará una notificación de solicitud HTTP POST a la URL de Webhook con los detalles.
Es importante que su Webhook retorne una respuesta HTTPS 200 OK para las notificaciones (en un lapso de hasta 200 ms o de manera asíncrona). Caso contrario, la API de Sinch Messaging considerará esa notificación como una falla e intentará nuevamente.
Importante: Indicar el webhook donde recibirá los mensajes, para que nuestro equipo de soporte pueda asociarlo a su cuenta de Whatsapp
El formato de la respuesta será de acuerdo a la siguiente descripción:
Campo | Detalles | Tipo |
---|---|---|
total | Número de callbacks en la llamada. | String |
data | Lista de mensajes originados en dispositivos móviles. | Data |
Ejemplo de mensaje de texto:
Campo | Detalles | Tipo |
---|---|---|
id | Última identificación del mensaje | String |
source | Teléfono del remitente | String |
origin | Teléfono que identifica la cuenta de WhatsApp (incluido el código de país). Ejemplo: 5411900000000. | String |
userProfile | Perfil del usuario que envió el mensaje | UserProfile |
correlationId | Un ID único configurado por usted para coincidir con el estado del mensaje (Callback y DLR). Este parámetro es opcional y puede usar el ID generado por Sinch Messaging para esta coincidencia. | String |
campaignId | ID de campaña previamente definido. | String |
campaignAlias | Alias de Campaña previamente definido. | String |
message | Mensaje MO. | Message |
receivedAt | Fecha en que se recibió el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ | String |
receivedDate | Fecha en que se recibió el mensaje, utilizando el formato Unix_time | String |
extraInfo | Información extra relacionada con el mensaje. Formato: Json | String |
referral | Presente si el usuario inició el mensaje al hacer clic en una publicación o anuncio. Este campo es opcional (puede ser nulo). | Referral |
mtSentAt | La marca de tiempo de la fecha/hora en que se envió el último MT a este destinatario. | Long |
session | Información de la sesión. | Session |
Ejemplo de mensaje con respuesta de botón:
Referral
Todos los campos de este objeto son opcionales (pueden ser nulos).
Campo | Detalhes | Tipo |
---|---|---|
headLine | Titular del anuncio que generó el mensaje. | String |
body | Cuerpo del anuncio. | String |
sourceType | Tipo de anuncio. Puede ser “ad”, “post” o “unknown”. | String |
sourceId | Identificación de anuncio o publicación en Facebook. | String |
sourceUrl | URL del anuncio o publicación. | String |
mediaType | Tipo de medio presente en el anuncio. Puede ser “image” o “video”. | String |
mediaUrl | Url del medio presente en el anuncio. | String |
Ejemplo de mensaje de texto de referral:
Session
Field | Details | Type |
---|---|---|
sessionId | ID de sesión para este usuario. | String |
createdAt | Marca de tiempo de creación de la sesión. | Long |
Mensaje:
Campo | Detalles | Tipo |
---|---|---|
type | Tipo de mensaje enviado por el usuario final: TEXT - IMAGE - AUDIO - DOCUMENT | String |
messageText | El mensaje de texto (MO) enviado por el usuario final. | String |
mediaUrl | Url para descargar la multimedia enviada por el usuario final. | String |
mimeType | Tipo de archivo enviado por el usuario final. | String |
caption | Etiqueta de multimedia enviada por el usuario final. | String |
location | Ubicación enviada por el usuario final. | Location |
contacts | Contactos enviados por el usuario final. | Contact[] |
Ejemplo de mensaje multimedia
UserProfile:
Field | Necesario | Detalles | Tipo |
---|---|---|---|
name | No | El nombre del perfil del usuario | String |
Location:
Field | Details | Type |
---|---|---|
name | Nombre del sitio. | String |
address | Dirección del sitio. | String |
geoPoint | Geopoint enviada por el usuario final. Formato: “latitud, longitud” | String |
Ejemplo de mensaje de ubicación:
Contact:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
addresses | No | Direcciones de contacto completas. | Address[] |
birthday | No | Fecha de cumpleaños como cadena con formato YYYY-MM-DD. | String |
emails | No | Direcciones de correo electrónico de contacto. | Email[] |
name | No | Nombre completo de contacto. | Name |
org | No | Información de la organización de contacto. | Org |
phones | No | Teléfonos de contacto. | Phone[] |
urls | No | URLs de los contactos. | Url[] |
Ejemplo de mensaje de contacto:
Address:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
street | No | Número y nombre de la calle. | String |
city | No | Nombre de la ciudad. | String |
state | No | Abreviatura del estado. | String |
zip | No | Código postal. | String |
country | No | Nombre completo del país. | String |
country_code | No | Abreviatura de país de dos letras. | String |
type | No | Valores estándar: HOME, WORK. | String |
Email:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
No | Correo electrónico. | String | |
type | No | Valores estándar: HOME, WORK. | String |
Name:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
first_name | No | Primer nombre. | String |
last_name | No | Apellido. | String |
middle_name | No | Segundo nombre. | String |
name_suffix | No | Sufijo del nombre. | String |
name_prefix | No | Prefijo del nombre. | String |
formatted_name | No | Nombre completo como aparece normalmente. | String |
Org:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
company | No | Nombre de la empresa del contacto. | String |
department | No | Nombre del departamento de contacto. | String |
title | No | Título comercial de contacto. | String |
Phone:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
phone | No | Número de teléfono formateado. | String |
type | No | Valores estándar: CELL, MAIN, IPHONE, HOME, WORK. | String |
wa_id | No | Identificador de WhatsApp. | String |
Url:
Campo | Necesario | Detalles | Tipo |
---|---|---|---|
url | No | URL del contacto. | String |
type | No | Valores estándar: HOME, WORK. | String |
extraInfo (Control de flujo de MO - Listas de segmentación)
El mensaje tendrá una lista de listas de segmentaciones en el campo Información adicional. Nuestros asociados lo utilizan para redirigir los mensajes a través de ciertos flujos. El nombre de la clave es segmentation_lists y contiene una lista de SegmentationList.
Campo | Detalles | Tipo |
---|---|---|
id | Identificador de la lista de segmentación | Integer |
customerId | Identificador de cliente | Integer |
subAccountId | Identificador de subcuenta | Integer |
name | Nombre de la lista de segmentación | String |
active | Estado de la lista de segmentación | Boolean |
Ejemplo de Extra Info (SegmentationList):
Para los objetos que contienen un campo de tipo, los valores listados se consideran simplemente los valores estándar que se pueden ver, sin embargo, puede establecer el campo en cualquier valor descriptivo que elija.
Last updated