Generar Reporte de Envíos
Genera un reporte de todos los envíos dentro de un rango de fechas. La respuesta incluye todos los mensajes del período sin paginación. El endpoint tiene un límite de peticiones por cuenta (código
report_05 al excederlo); usa rangos amplios en lugar de consultas frecuentes.post
/reports/generateCuerpo de la solicitud
application/json
start_datestringrequerido
Fecha de inicio del rango (
YYYY-MM-DD, zona horaria America/Mexico_City). No debe ser posterior a end_date.end_datestringrequerido
Fecha de fin del rango (
YYYY-MM-DD, zona horaria America/Mexico_City)sandboxinteger
1 para consultar envíos de prueba (sandbox), 0 para envíos reales. Por defecto 0.Respuesta
200Reporte generado exitosamente
successboolean
messagestring
Mensaje de estado
statusinteger
codestring
Código de respuesta
reportarray<object>
▸ Ver atributos del elemento▾ Ocultar atributos del elemento
namestring
Nombre de la campaña
created_datestring
Fecha y hora de creación
referencestring
ID de referencia del mensaje
numberstring
Número de teléfono del destinatario
messagestring
Contenido del SMS
sent_datestring
Fecha y hora de envío
statusstring
Estado de entrega (0 a 12). 0 = entregado. 1, 3, 4 y 5 = fallido. 8 = pendiente o en proceso. 2, 6, 7, 9, 10, 11 y 12 = no cobrado (mensaje filtrado antes del envío, sin consumo de créditos).
operatorstring
Operador móvil
typestring
Tipo de campaña (SMS, Push, Email, Landing, Formulario, SMPP, Solicitud de pago o Voz)
400Error de validación o lógica de negocio. Códigos posibles:
report_01 (falta start_date), report_02 (falta end_date), report_03 (start_date posterior a end_date).successboolean
Siempre false para respuestas de error
messagestring
Descripción del error en español
statusinteger
Campo legado dentro del cuerpo. Conserva su valor histórico (normalmente 200) y NO coincide con el status HTTP real: la respuesta puede llegar con HTTP 400/402/404/409/502 mientras este campo sigue en su valor legado. Usa el status HTTP de transporte y el
code, no este campo.codestring
Código de error estructurado ({dominio}_{número}). Identifica de forma única la causa del error para manejo programático.
401No autorizado: API Key no provista, inválida o expirada
successboolean
Siempre false
messagestring
Descripción del error de autenticación en español
statusinteger
Campo legado en el cuerpo. Es el status HTTP de transporte; para autenticación coincide con el status real (401). Usa el status HTTP y el code, no este campo.
codestring
Código de error de autenticación (auth_01, auth_03, auth_05)
403Prohibido: La dirección IP no está autorizada para acceder (IP whitelist)
successboolean
Siempre false
messagestring
Descripción del error
statusinteger
Campo legado en el cuerpo. Puede NO coincidir con el status HTTP real: para auth_06 y auth_07 este campo vale 401 (valor histórico congelado) mientras el status HTTP de transporte es 403. Usa el status HTTP y el code, no este campo.
codestring
Código de error: auth_04 (IP no autorizada), auth_06 (cuenta deshabilitada), auth_07 (admin inválido)
429Demasiadas peticiones:
report_05 (límite de peticiones de reporte por cuenta excedido). También aplica el rate limit global (100 mensajes/segundo producción, 1000 envíos de prueba por día en sandbox).successboolean
Siempre false
messagestring
Descripción del error
statusinteger
Código HTTP
codestring
Código de error de rate limit
500Error interno del servidor
successboolean
Siempre false
messagestring
Descripción del error
statusinteger
Campo legado dentro del cuerpo. Conserva su valor histórico (p.ej. 200 o 401 según el endpoint) y NO coincide con el status HTTP real (500). Usa el status HTTP de transporte y el
code, no este campo.codestring
Código de error interno (p.ej. server_01, o auth_99 en un error interno de autenticación)
request_idstring· uuid
Identificador único de la petición. Inclúyelo al contactar a soporte.
Además de los errores globales de autenticación (auth_*, ver Errores y límites), este endpoint puede responder:
Códigos de error
| Código | Cuándo ocurre | Qué hacer |
|---|---|---|
report_01 / report_02 | Falta start_date o end_date. | Envía ambas fechas. |
report_03 | start_date es posterior a end_date. | Corrige el rango. |
report_05 | Límite de peticiones de reporte excedido. | Usa rangos de fechas amplios en lugar de consultas frecuentes; contacta a soporte si necesitas más capacidad. |
El éxito responde report_04 con el arreglo report.