Recibo de Entrega (DLR)
El Recibo de Entrega (DLR), también conocido como Informe de Estado de Entrega de SMS. Es un servicio para que los desarrolladores obtengan programáticamente el estado de la entrega de SMS, Unimatrix soporta el envío proactivo de informes de estado de SMS a través de Webhook.
Configuraciones
Esta característica es un servicio de extensión y no está habilitada por defecto. Por favor, vaya a Extensiones - Recibo de Entrega en la Consola para configurar según sus necesidades reales.

Establezca la URL del Webhook para recibir los informes de estado y especifique el formato de datos del cuerpo de la solicitud que necesita recibir, soportando JSON
o XML
, siendo el predeterminado JSON
. Esto completa la configuración básica y está listo para el acceso.
Integración
Unimatrix enviará una solicitud HTTP a la URL del Webhook que configuró con el método POST
, con el cuerpo de la solicitud en formato JSON
como ejemplo.
Cuerpo de la Solicitud
Nombre | Tipo | Descripción | Ejemplo |
---|---|---|---|
id | string | ID del mensaje | 78c038133e6ac2b6d8a0844c42f57dac |
status | string | Estado | delivered |
to | string | Número de teléfono del destinatario (E.164) | +12060000123 |
iso | string | Código de país (iso2) | US |
cc | string | Código de país (prefijo de llamada internacional) | 1 |
parts | integer | Número de partes del mensaje | 1 |
price | string | Monto de consumo | 0.018900 |
currency | string | Moneda de facturación | USD |
errorCode | string | Código de retorno | DELIVRD |
errorMessage | string | Mensaje de retorno | Delivered |
submitDate | string | Fecha de envío (ISO 8601) | 2021-08-29T00:19:17.702Z |
doneDate | string | Fecha de finalización (ISO 8601) | 2021-08-29T00:19:20.011Z |
El contenido de ejemplo es el siguiente:
{
"id": "78c038133e6ac2b6d8a0844c42f57dac",
"status": "delivered",
"to": "+12060000123",
"iso": "US",
"cc": "1",
"parts": 1,
"price": "0.018900",
"currency": "USD",
"errorCode": "DELIVRD",
"errorMessage": "Delivered",
"submitDate": "2021-08-29T00:19:17.702Z",
"doneDate": "2021-08-29T00:19:20.011Z",
}
Respuesta
Una respuesta con el Código de Estado HTTP 200
se considera un informe de estado exitoso, y Unimatrix no realiza comprobaciones adicionales sobre la carga de la respuesta.
Verificación de firma
Para asegurar aún más sus datos, Unimatrix soporta la configuración de firmas para verificar que las solicitudes de Webhook provengan de Unimatrix y que los datos no hayan sido alterados durante la transmisión. Simplemente habilite "Verificación de firma" en la página de configuración y establezca la clave de firma (Secret).

Cuando la verificación de firma está habilitada, Unimatrix llevará el campo Authorization
en el encabezado de la solicitud de Webhook con el valor construido en el formato UNI1-HMAC-SHA256 Timestamp={unix_epoch}, Nonce={nonce_str}, Signature={signature}
, como se muestra en el siguiente ejemplo:
Authorization: UNI1-HMAC-SHA256 Timestamp=1630196360, Nonce=84100f131d7096ee, Signature=W7MNfb0bxRTfgPsxP9rOoZuNLm9+hkY68f/sq9TyHS8=
Extraiga los campos Timestamp
, Nonce
y convierta sus nombres de campo a minúsculas y agréguelos a la carga útil de la solicitud, ordénelos en orden diccionario (ASC) según la clave del parámetro, conecte los Valores-Clave con =
y los pares de parámetros con &
para formar el texto string a firmar, el ejemplo es el siguiente:
cc=1¤cy=USD&doneDate=2021-08-29T00%3A19%3A20.011Z&errorCode=DELIVRD&errorMessage=Delivered&id=78c038133e6ac2b6d8a0844c42f57dac&parts=1&nonce=84100f131d7096ee&price=0.018900&iso=US&status=delivered&submitDate=2021-08-29T00%3A19%3A17.702Z×tamp=1630196360&to=%2B12060000123
Usando el algoritmo HmacSHA256, se genera una firma sobre el texto string a firmar con la clave de firma establecida (Secret), y la salida es una cadena Base64, como se muestra en el siguiente ejemplo:
W7MNfb0bxRTfgPsxP9rOoZuNLm9+hkY68f/sq9TyHS8=
El valor de Signature
extraído de Authorization
se compara con la firma generada, y la verificación es exitosa si coincide.
Pruebas simuladas
Para la rápida integración por parte de los desarrolladores, Unimatrix ha proporcionado amablemente funcionalidad de pruebas simuladas. Puede enviar solicitudes de DLR simuladas directamente al servidor objetivo a través de la consola.
Reenvío
Después de que el primer informe de estado falla, Unimatrix seguirá reenviando el mensaje al URL objetivo hasta que el envío sea exitoso o se exceda el número máximo de envíos. El intervalo de reenvío es de 1 minuto
, 5 minutos
, 10 minutos
, 30 minutos
, 1 hora
.