Confirmaciones de entrega masivas y mensajes entrantes
En qué se diferencian los informes masivos
De forma predeterminada, a su dirección llega una solicitud por cada mensaje. Con grandes volúmenes eso supone miles de solicitudes; la variante masiva las agrupa en lotes.
| Uno a uno | En bloque | |
|---|---|---|
| Método | HTTP GET | HTTP POST |
| Formato | Parámetros en la query string | JSON en el cuerpo de la solicitud |
| Contenido | Un único mensaje | Un array de registros |
Ambas transmiten lo mismo: tanto informes de entrega como mensajes entrantes. La variante uno a uno se describe en Confirmaciones de entrega y SMS entrantes.
Cómo activar el envío masivo
Marque DLRs a granel - solicitud a granel en la configuración del webhook. La dirección y las
demás opciones siguen igual; solo cambia la forma en que le llegan los datos.

El procedimiento completo, incluido dónde encontrar esta configuración, se describe en Webhooks.
Qué aspecto tiene la solicitud
Llega por POST con la cabecera Content-Type: application/json. El cuerpo es
un array que mezcla informes de entrega y mensajes entrantes; se distinguen por
status.
Parámetros del registro
| Parámetro | Valor | Cuándo llega |
|---|---|---|
status |
El código de estado; consulte los estados de entrega | Siempre |
smsID |
El ID único del mensaje | Con un informe de entrega |
price |
El precio del mensaje en créditos | Con un informe de entrega |
date |
La hora de envío y la de entrega separadas por punto y coma, zona horaria CET | Con un informe de entrega |
from |
El número de teléfono del remitente | Solo con status 10 |
message |
El texto del mensaje en UTF-8 | Solo con status 10 |
El valor date tiene la forma YYMMDDHHMM;YYMMDDHHMM, así que 1904111007;1904111011
significa enviado el 11 de abril de 2019 a las 10:07 y entregado a las 10:11.
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 otro registro
con el estado final. Cuente con recibir el mismo smsID más de una vez, posiblemente
incluso dentro del mismo lote.
Ejemplo de procesamiento
El script lee el cuerpo de la solicitud, recorre el array y trata cada registro según
status:
La dirección debe responder rápido y con el código de estado 200. Todo el
lote espera una única respuesta, así que envíe el procesamiento pesado a una cola y
confirme la solicitud de inmediato.
Gracias por su opinión.