Confirmaciones de entrega y SMS entrantes
Qué llega a su dirección
BulkGate le informa de dos cosas: cómo han terminado los mensajes que ha enviado y qué le han respondido. Ambas llegan como una solicitud HTTP a la dirección que haya configurado.
| Qué llega | Cómo reconocerlo |
|---|---|
| Informe de entrega | El parámetro status con un código de estado y el smsID del mensaje enviado |
| SMS entrante o respuesta | El parámetro status con el valor 10, el remitente en from y el texto en message |
La solicitud llega por HTTP GET, de modo que los valores se encuentran en la query string.
Con grandes volúmenes compensa la variante masiva: en lugar de una solicitud por mensaje, llega una única solicitud POST con un array de registros en JSON. Se describe en Confirmaciones de entrega masivas.
Dónde se configura la dirección
La dirección la configura usted mismo en el detalle de su aplicación: en la pestaña Ajustes,
en la parte Web hooks, en la tarjeta Informes de entrega. El campo Informes de entrega de URL
de la ventana que se abre admite una dirección que empiece por http://
o https://.

Deje desmarcada la casilla DLRs a granel - solicitud a granel: si la marca, la entrega
pasa a realizarse en lotes enviados por POST y lo que se aplica es
Confirmaciones de entrega masivas
en lugar de esta página.
El procedimiento completo, incluidas las demás opciones, se describe en la página Webhooks.
Parámetros del informe de entrega
| Parámetro | Valor |
|---|---|
status |
El código de estado del mensaje; consulte los estados de entrega |
smsID |
El ID único del mensaje |
price |
El precio del mensaje en créditos |
channel |
El canal por el que se envió el mensaje (sms, viber, whatsapp, rcs y otros) |
date |
La hora de envío y la de entrega separadas por punto y coma, en la zona horaria CET |
El valor date tiene la forma YYMMDDHHMM;YYMMDDHHMM; por ejemplo,
1812141317;1812141318 significa enviado el 14 de diciembre de 2018 a las 13:17 y entregado
un minuto después.
Parámetros del mensaje entrante
Cuando status contiene el valor 10, no se trata de un informe de entrega, sino de un mensaje
del destinatario. Llega con un conjunto de parámetros distinto:
| Parámetro | Valor |
|---|---|
status |
Siempre 10 |
from |
El número de teléfono del remitente |
to |
El número de teléfono del destinatario, es decir, su número |
message |
El texto del mensaje en UTF-8 |
channel |
El canal por el que llegó el mensaje |
smsdetails |
Detalles, entre ellos el protocolo utilizado y la hora de recepción |
Estados de entrega
| Código | Significado |
|---|---|
1 |
El mensaje se ha entregado |
2 |
El mensaje está en cola en el operador: el destinatario no está disponible en este momento y se volverá a intentar la entrega |
3 |
No se ha podido entregar el mensaje: el destinatario es desconocido o no está disponible de forma permanente |
10 |
Un mensaje entrante o una respuesta, no un informe de entrega |
13 |
El mensaje se ha leído (solo Viber) |
El estado 2 no es definitivo: más adelante llega para el mismo mensaje otra solicitud
con el estado final. Cuente con recibir el mismo smsID más de una vez.
Ejemplo de procesamiento
El script distingue un informe de entrega de un mensaje entrante por status y
escribe cada uno en su propio registro:
La dirección debe responder rápido y con el código de estado 200. Un procesamiento lento o
con errores retrasa la entrega de los siguientes informes, así que envíe cualquier tarea pesada
a una cola y confirme la solicitud de inmediato.
Gracias por su opinión.