Manejo de Errores

Formato de respuesta de error y códigos de error comunes.

Formato de Error

Cada error incluye un mensaje error y un code:

Respuesta de error
{
  "error": "Mensaje corto legible por humanos",
  "code": "ERROR_CODE"
}

Los errores de validación incluyen detalles adicionales:

Error de validación
{
  "error": "Validación falló",
  "code": "VALIDATION_ERROR",
  "errors": [
    { "path": "/body/name", "message": "debe ser string" }
  ]
}

Códigos de Error Comunes

StatusCódigoDescripción
400VALIDATION_ERRORCuerpo de solicitud o parámetros inválidos.
401UNAUTHORIZEDClave de API ausente o inválida.
402INSUFFICIENT_BALANCECréditos insuficientes para la operación.
402PAYMENT_FAILEDPago de activación de empresa falló.
403FORBIDDENLa empresa no está activa.
404NOT_FOUNDEl recurso no existe.
409ALREADY_PROCESSEDActivación ya procesada.
409CONVERSATION_CLOSEDLa conversación ya no está activa.
500INTERNAL_ERRORError inesperado del servidor.

Manejando Errores 402

Si recibe INSUFFICIENT_BALANCE, el plan de la empresa no cubre la acción y no hay suficientes créditos prepagados. Compre créditos vía POST /api/companies/credits/purchase y reintente.

Mejores Prácticas

  • Siempre verifique el campo code, no el status HTTP, para manejo programático de errores.
  • Registre la respuesta de error completa para depuración.
  • Presente el mensaje error a los usuarios cuando sea apropiado.
  • Implemente lógica de reintento con backoff exponencial para errores 500.