Interpretar la respuesta de la API de SMS
Cómo leer el sobre JSON de éxito y de error, y por qué un 202 no equivale a entregado.
Plataforma Omni
Necesitas una clave de API. Pídela a nuestro equipo de soporte o créala desde la plataforma.
La API responde siempre con el mismo sobre JSON, distinguido por el campo booleano error. Los dos casos traen campos distintos dentro de data: tu integración debe leer primero error y, según su valor, acceder al juego de campos correspondiente.
Respuesta exitosa (HTTP 202 Accepted)
{
"error": false,
"data": {
"channel": 1,
"transactionId": "01a069a3-fec6-7a0d-ac20-b1dde40ae488",
"messageId": "01a069a3-fec6-7a03-8edb-b9093d904b99"
}
}Respuesta de error
{
"error": true,
"data": {
"requestId": "876e2dde-419c-426b-b487-4cd583b1d184",
"message": "Unauthorized"
}
}Campos
| Campo | Aparece en | Significado |
|---|---|---|
| error | Ambos | false = aceptado y encolado. true = rechazado. |
| data.transactionId | Éxito | Identificador de la transacción completa. |
| data.messageId | Éxito | Identificador del mensaje. Es el que debes correlacionar con el DLR que recibas en tu webhook. |
| data.requestId | Error | Identificador de la petición rechazada, útil para reportarlo a soporte. |
| data.message | Error | Texto de la causa del rechazo. |
Crítico: 202 Accepted no significa entregado
Un 202 Accepted confirma únicamente que la plataforma recibió, autenticó y encoló tu mensaje para procesarlo. No confirma que el SMS haya llegado al teléfono del destinatario.
La confirmación real de entrega llega después, de forma asíncrona, como un DLR (Delivery Receipt) a la URL de webhook que configuraste. Tu integración debe esperar ese evento para considerar el mensaje entregado.
¿Te sirvió esta página?