Saltar al contenido principal

Manejo de Errores

Console usa códigos de estado HTTP estándar y formatos de respuesta de error consistentes.

Códigos de Estado HTTP

CódigoSignificado
200Éxito
201Creado
400Solicitud incorrecta (error de lógica de negocio)
401No autenticado (token inválido/faltante)
403No autorizado (permisos insuficientes)
404Recurso no encontrado
422Error de validación (formato de solicitud inválido)
429Límite de tasa excedido

Formato de Respuesta de Error

Errores de Lógica de Negocio (400)

{
"error": "User with this email already exists",
"error_code": "USER_EMAIL_DUPLICATE"
}

Errores de Validación (422)

{
"errors": [
{
"field": "email",
"message": "must be a valid email"
}
]
}

Códigos de Error Comunes

CódigoSignificadoAcción
INVALID_CREDENTIALSEmail/contraseña incorrectosVerifica credenciales
TOKEN_EXPIREDAccess token expiradoRenueva el token
FORBIDDENPermiso faltanteVerifica los grupos del usuario
USER_EMAIL_DUPLICATEEmail ya existeUsa un email diferente

Manejo de Errores

try {
const response = await fetch('/v1/users', {
headers: { 'Authorization': `Bearer ${token}` }
});

if (!response.ok) {
const error = await response.json();

if (response.status === 401) {
// Renueva el token o redirige al login
} else if (response.status === 422) {
// Muestra errores de validación al usuario
console.error(error.errors);
} else {
// Muestra mensaje de error genérico
console.error(error.error);
}
}

return await response.json();
} catch (err) {
// Error de red o API inalcanzable
console.error('Network error:', err);
}