En esta modalidad, la URL de tu endpoint receptor viaja dentro de la propia petición, en el campo notifyUrl.
Se utiliza con el endpoint POST /mtmessage/massive.
Esta página describe una petición que Inalambria hace hacia tu servidor. Tú implementas el receptor; no es un endpoint que puedas consumir.
1. Solicitar la habilitación
Aunque la URL viaja en la petición, el servicio de notificación debe estar habilitado para tu cuenta. Escribe a [email protected] indicando:
| Dato | Descripción |
|---|---|
| Cuentas de envío | La cuenta o cuentas para las que se debe activar la notificación. |
| URL del endpoint receptor | La dirección de tu servidor que recibirá las notificaciones. |
2. Autenticación de tu endpoint receptor
En esta modalidad la notificación se envía sin encabezados HTTP adicionales, por lo que la autenticación Basic no está disponible. La única opción es incluir un token como parámetro en la URL:
"notifyUrl": "https://miservidor.com/notificaciones?token=TU_TOKEN"
La URL se usa exactamente como la envíes, sin modificaciones.
Si necesitas autenticación Basic, utiliza la modalidad Webhook de cuenta.
La notificación siempre se envía por el método POST.
3. Enviar los mensajes
POST /mtmessage/massive admite tres campos que POST /mtmessage no tiene. Son los que hacen que la notificación de esta modalidad llegue más completa.
| Campo | Ubicación | ¿Obligatorio? | Tipo | Descripción |
|---|---|---|---|---|
notifyUrl | Dentro de messages[] | No | Texto | URL de tu endpoint receptor. Sin este campo no se genera notificación por esta vía. |
notifyContentType | Dentro de messages[] | No | Texto | Tipo de contenido con el que se enviará la notificación. Si se omite, se usa application/json. |
bulkId | En la raíz | No | Texto | Identificador propio para agrupar una serie de envíos, normalmente los de una misma campaña. |
Y dos campos que se devuelven igual que en la otra modalidad:
| Campo | Ubicación | ¿Obligatorio? | Tipo | Descripción |
|---|---|---|---|---|
messageId | Dentro de destinations[] | No | Texto | Identificador propio para ese destinatario concreto. |
callbackData | Dentro de messages[] | No | Texto | Información propia del cliente. |
Estas tablas solo recogen los campos relacionados con la notificación. Consulta todos los campos del envío en la página del endpoint.
curl -X POST https://rest.inalambria.com/mtmessage/massive \
-H "Content-Type: application/json" \
-H "Authorization: Bearer XXXXXXXXXXXXXXX" \
-d '{
"messages": [
{
"destinations": [
{ "to": "573001234567", "messageId": "1" },
{ "to": "573007654321", "messageId": "2" }
],
"text": "Mensaje enviado desde Inalambria, ejemplo de notificación de estado en lote",
"notifyUrl": "https://miservidor.com/notificaciones?token=TU_TOKEN",
"notifyContentType": "application/json",
"callbackData": "{\"Account\":13, \"Action\": 22, \"Campaign\":12, \"Gateway\":\"This is Gateway test\"}"
}
],
"bulkId": "C001"
}'
callbackDatase envía aquí como texto. Si quieres enviar un objeto JSON debes escaparlo, tal como muestra el ejemplo. EnPOST /mtmessageel campo equivalente se envía como objeto. No son intercambiables.
4. Qué campo de tu petición llega en cada campo de la notificación
Enviaste en POST /mtmessage/massive | Lo recibes en | Observación |
|---|---|---|
bulkId (raíz) | bulkId | Se devuelve tal cual. Solo disponible en esta modalidad. |
messageId (del destinatario) | messageId | Se devuelve el identificador del destinatario al que corresponde esta notificación. |
callbackData (texto) | callbackData | Se devuelve sin modificar, exactamente como lo enviaste. |
Se realiza una petición por cada mensaje, no una por transacción ni una por lote. Si envías a 5 destinatarios, recibirás 5 notificaciones, cada una con un único elemento enresults.
Qué debe responder tu endpoint receptor
Responde con un código 2xx. El cuerpo no se interpreta, pero sí se registra.
503 es el único código que provoca un reintento. Si respondes 500, la notificación se pierde.
Recomendaciones: responde rápido y acusa recibo antes de procesar; sé idempotente usando transactionNumber junto con to; y no asumas que las notificaciones llegan ordenadas.
200Notificación recibida. No se vuelve a enviar.
202Notificación aceptada. No se vuelve a enviar.
503Único código que provoca un reintento. Inalambria reintenta hasta 5 veces, esperando 10, 20, 30, 40 y 50 segundos entre intentos. Devuelve este código si tu servicio está saturado o en mantenimiento.
defaultCualquier otro código, o la ausencia de respuesta, se registra como fallo y no se reintenta. Si no hay respuesta (URL inexistente, tiempo agotado o error de red) se registra con código 0.
