Referencia

Errores de API y códigos de error

Los errores usan códigos de estado HTTP y siempre tienen el mismo cuerpo JSON. param nombra el campo cuando un campo es la causa. Cada respuesta tiene un encabezado X-Request-Id: menciónalo en un ticket de soporte.

400 Bad RequestJSON
{
  "error": {
    "code": "text_too_long",
    "message": "The text is longer than 10 segments (1,530 GSM-7 or 670 UCS-2 characters).",
    "param": "text",
    "doc_url": "https://bulksmsapi.cc/en/docs/errors#text_too_long"
  }
}

Códigos

codeHTTPCausaDinero
invalid_json400El cuerpo no es un objeto JSON, o Content-Type no es application/json.Corrige el cuerpo. No se cobró nada.
invalid_request400Falta un campo o tiene el tipo incorrecto; el parámetro lo indica.Corrige el campo. No se cobró nada.
invalid_number400Ningún número en la solicitud pudo leerse como E.164 (+ y de 7 a 15 dígitos).Verifica los números. No se cobró nada.
unsupported_country400 / 404Ningún país con precio coincide con los números, o GET /v1/pricing/{country} tiene un código desconocido.Consulta la lista de países. No se cobró nada.
text_too_long400El texto necesita más de 10 segmentos.Acorta el texto. No se cobró nada.
too_many_recipients400Más de 10,000 destinatarios en una solicitud.Divide la lista. No se cobró nada.
schedule_out_of_range400send_at no es un tiempo válido entre 2 minutos y 45 días a partir de ahora.Elige otro horario. No se cobró nada.
suppressed400Todos los números en la solicitud están en tu lista de no enviar (Configuración en la consola).No se envió ni cobró nada.
unauthorized401Falta el encabezado Authorization, está mal formado o la clave fue revocada.Envía una clave activa. No se cobró nada.
top_up_required402El saldo es menor que el costo de la solicitud; el mensaje indica ambos montos.Recarga y envía nuevamente. No se cobró nada.
not_found404El id no existe en esta cuenta, o el endpoint no existe.Verifica el id y la ruta.
idempotency_conflict409La Idempotency-Key se usó con un cuerpo de solicitud diferente en las últimas 24 horas.Usa una nueva clave para una nueva solicitud.
not_cancelable409Solo se puede cancelar un lote programado; este ya comenzó o terminó.No hubo cambios.
rate_limited429La clave realizó más de 600 solicitudes en los últimos 60 segundos.Espera los segundos indicados en Retry-After. No se cobró nada.
server_error500Algo falló en nuestro lado.Reintentar con la misma Idempotency-Key.

Reintentando

  • Los errores 4xx, excepto el 429, requieren un cambio en la solicitud; enviar la misma solicitud nuevamente dará el mismo error.
  • En caso de 429, espera el número de segundos indicado en Retry-After.
  • En caso de 5xx o un tiempo de espera de red, reintenta con la misma Idempotency-Key: si la primera solicitud fue aceptada, obtendrás su respuesta en lugar de un segundo envío.
Errores de API y códigos de error | Documentación de BulkSMSAPI