Saltar al contenido principal

Manejo de errores

Todos los errores siguen el mismo formato:

{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "product with id '...' not found"
}
}

Códigos HTTP

StatusCuándo ocurre
400 Bad RequestRequest malformado o parámetros inválidos
401 UnauthorizedToken ausente o expirado
403 ForbiddenSin permisos para esta operación
404 Not FoundRecurso no encontrado
409 ConflictConflicto (slug duplicado, etc.)
422 Unprocessable EntityValidación de negocio falló
429 Too Many RequestsRate limit alcanzado
500 Internal Server ErrorError del servidor

Códigos de error internos

codeDescripción
RESOURCE_NOT_FOUNDEl recurso solicitado no existe
VALIDATION_ERRORUno o más campos fallaron validación
DUPLICATE_SLUGEl slug ya existe para este tenant
PLAN_LIMIT_EXCEEDEDLímite del plan alcanzado (productos, órdenes)
UNAUTHORIZEDAutenticación requerida
FORBIDDENSin permisos suficientes
INTERNAL_ERRORError interno — reporta en soporte

Rate limiting

Los headers de rate limit se incluyen en cada respuesta:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1712534400

Cuando llegues al límite recibirás 429 — espera hasta X-RateLimit-Reset (Unix timestamp).