Callback por petición

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:

DatoDescripción
Cuentas de envíoLa cuenta o cuentas para las que se debe activar la notificación.
URL del endpoint receptorLa 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.

CampoUbicación¿Obligatorio?TipoDescripción
notifyUrlDentro de messages[]NoTextoURL de tu endpoint receptor. Sin este campo no se genera notificación por esta vía.
notifyContentTypeDentro de messages[]NoTextoTipo de contenido con el que se enviará la notificación. Si se omite, se usa application/json.
bulkIdEn la raízNoTextoIdentificador 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:

CampoUbicación¿Obligatorio?TipoDescripción
messageIdDentro de destinations[]NoTextoIdentificador propio para ese destinatario concreto.
callbackDataDentro de messages[]NoTextoInformació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"
  }'
⚠️

callbackData se envía aquí como texto. Si quieres enviar un objeto JSON debes escaparlo, tal como muestra el ejemplo. En POST /mtmessage el 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/massiveLo recibes enObservación
bulkId (raíz)bulkIdSe devuelve tal cual. Solo disponible en esta modalidad.
messageId (del destinatario)messageIdSe devuelve el identificador del destinatario al que corresponde esta notificación.
callbackData (texto)callbackDataSe 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 en results.

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.

Payload

Cuerpo que Inalambria envía a tu endpoint receptor.

results
array of objects

Contiene siempre un único elemento. Se realiza una petición por cada mensaje.

results
Responses
200

Notificación recibida. No se vuelve a enviar.

202

Notificació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.

default

Cualquier 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.

LoadingLoading…