En esta modalidad, la URL de tu endpoint receptor queda configurada en tu cuenta. No se envía en la petición: Inalambria ya sabe a dónde notificar cada vez que envías un mensaje con esa cuenta.
Se utiliza con el endpoint POST /mtmessage.
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 configuración
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. |
| Método de autenticación | Basic o parámetro en la URL. Ver el apartado siguiente. |
La configuración no es inmediata. Una vez aplicada, puede tardar hasta 10 minutos en estar activa.
2. Autenticación de tu endpoint receptor
Inalambria admite dos formas de autenticarse contra tu servidor.
Autenticación Basic. Inalambria envía el encabezado Authorization en cada notificación:
Authorization: Basic dXN1YXJpbzpjb250cmFzZW5h
Para usarla, indica a soporte el usuario y la contraseña que tu endpoint espera.
Parámetro en la URL. La URL se usa exactamente como la registres, así que puedes incluir un token en la cadena de consulta:
https://miservidor.com/notificaciones?token=TU_TOKEN
No se admiten otros mecanismos. Si tu endpoint requiere un esquema distinto, consúltalo previamente con soporte.
3. Enviar el mensaje
Al consumir POST /mtmessage puedes incluir dos campos opcionales cuyo único propósito es que te sean devueltos en la notificación. No intervienen en el procesamiento del mensaje.
| Campo | ¿Obligatorio? | Tipo | Descripción |
|---|---|---|---|
CustomMessageId | No | Texto | Identificador propio para correlacionar el mensaje con tus sistemas. |
CallbackData | No | Objeto | Objeto JSON libre con información relevante para tu operación. |
Esta tabla solo recoge 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 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer XXXXXXXXXXXXXXX" \
-d '{
"Type": 1,
"MessageText": "Mensaje de texto enviado por Inalambria, ejemplo de notificación de estado",
"Devices": "573001234567",
"CustomMessageId": "PEDIDO-4471",
"CallbackData": { "campo1": "valor1", "campo2": "valor2" }
}'
CallbackDatase envía aquí como objeto. EnPOST /mtmessage/massiveel campo equivalente se envía como texto. No son intercambiables.
Se recomienda que CallbackData no supere los 200 caracteres una vez convertido a texto.
4. Qué campo de tu petición llega en cada campo de la notificación
Enviaste en POST /mtmessage | Lo recibes en | Observación |
|---|---|---|
CustomMessageId | messageId | Se devuelve tal cual. Si no lo enviaste, llega vacío. |
CallbackData (objeto) | callbackData (texto) | Se devuelve convertido a texto JSON. |
| — | bulkId | Siempre vacío en esta modalidad. No existe un campo bulkId en POST /mtmessage. Para correlacionar usa messageId o transactionNumber. |
Se realiza una petición por cada mensaje, no una por transacción. El arrayresultscontiene siempre un único elemento.
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.
