Webhooks
Los Webhooks (o callbacks) son retornos de llamada de HTTP definidos por el usuario, que son accionados por eventos específicos. Siempre que ocurra un evento de acción, la API de Sinch recolectará los datos e inmediatamente enviará una notificación (solicitud HTTP) a la URL proporcionada por el cliente actualizando el estatus de los mensajes enviados o indicando cuándo recibirá un mensaje.
Cuando reciba un mensaje, la API de Sinch Messaging enviará una notificación de solicitud HTTP POST a la URL del 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
Ejemplo
Importante: Indicar el webhook donde recibirá los mensajes, para que nuestro equipo de soporte pueda asociarlo a su cuenta de Whatsapp
total
Número de callbacks en la llamada.
String
data
Lista de callbacks.
Data[]
clientInfo
Información del cliente
ClientInfo
ConversationID
String
data:
id
ID del último mensaje
String
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
destination
Teléfono al que se envió el mensaje (incluido el código de país). Ejemplo: 5411900000000.
String
origin
Teléfono que identifica la cuenta de WhatsApp (incluido el código de país). Ejemplo: 5411900000000.
String
campaignId
ID de campaña previamente definido.
String
campaignAlias
Alias de campaña previamente definido.
String
extraInfo
Información adicional enviada con el mensaje original.
String
sent
Indica si el mensaje fue enviado.
Boolean
sentStatusCode
Código de estado generado por Sinch Messaging para un mensaje que indica el estado de envío.
Number
sentStatus
Descripción del estado enviado.
Boolean
sentDate
Fecha en que se envió el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ.
String
sentAt
Hora en que se envió el mensaje, utilizando el formato Unix_time
Number
delivered
Indica si el mensaje fue entregado al destino.
Boolean
deliveredStatusCode
Código de estado generado por Sinch Messaging para indicar que el mensaje fue entregado.
Number
deliveredStatus
Descripción del estado de entrega
String
deliveredDate
Fecha en que se entregó el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ
String
deliveredAt
Hora en que se entregó el mensaje, utilizando el formato Unix_time
Number
read
Indica si el mensaje fue leído por el destinatario.
Boolean
readDate
Fecha en que se leyó el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ
String
readAt
Hora en que se leyó el mensaje, utilizando el formato Unix_time
String
updatedDate
Fecha en que se actualizó el estado del mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ
String
updatedAt
Fecha en que se actualizó el estado del mensaje, utilizando el formato Unix_time
String
type
El tipo de entidad del que trata este objeto de estado. Actualmente, la única opción disponible es “mensaje”.
String
clientInfo
customerId
Identificación del cliente.
Number
subAccountId
Identificación de la subcuenta.
Number
userId
Identificación del usuario.
Number
Status
Descripción del Status que nosotros podemos enviar en la devolución de llamada:
SENT_SUCCESS
Mensaje recibido por servidor de WhatsApp
Una marca de verificación
DELIVERED_SUCCESS
Mensaje de entrega para el destinatario
Dos marcas de verificación
READ_SUCCESS
Mensaje leído por el destinatario
Dos marcas de verificación azules
Otros Status
Estos son los códigos devueltos en los campos sentStatusCode y deliveryStatusCode.
102
CARRIER COMMUNICATION ERROR
Error al cargar multimedia para WhatsApp.
103
REJECTED_BY_CARRIER
Se produjo un error en la base de datos.
2
101
EXPIRED
Mensaje expirado.
2
104
NOT_DELIVERED
Posibles Causas:Límite alcanzado: se han intentado demasiados mensajes enviados,o no envía un mensaje porque el número de teléfono de destino no existe,o la estructura de la plantilla no existe,o no pudo enviar un mensaje porque el número de destino está fuera del tiempo de sesión abierta de 24 horas para recibir mensajes libremente. o hubo un error de carga de medios (error desconocido), o no envía un mensaje porque su cuenta no es elegible en Facebook Business Manager,o hubo un error de carga temporal. Intentar nuevamente más tarde.
202
EXPIREDINVALID_DESTINATION_NUMBER
Contacto de WhatsApp inválido.
204
DESTINATION_BLOCKED_BY_OPTOUT
Destino bloqueado por Opt-Out.
207
INVALID_MESSAGE_TEXT
El valor del parámetro no es válido.
209
INVALID_CONTENT
Tipo de mensaje UNKNOWN inválido.
210
INVALID_SESSION
La sesión no está abierta o ninguna plantilla de fallback está configurada.
301
INTERNAL_ERROR
No es posible verificar contactos desde la API de WhatsApp.
Errores
HTTP Code
Description
2xx
Success
200
Success (OK)
201
Successfully created (For POST requests)
302
Found
4xx
Client Errors
400
Request was invalid
401
Unauthorized
403
Forbidden
404
Not found
405
Method not allowed
412
Precondition failed
429
Too many requests
5xx
Server Errors
500
Internal server error
504
Timeout
Last updated