Errores

Errores

La API usa códigos de estado HTTP estándar y retorna cuerpos de error en JSON.

Códigos de Estado HTTP

CódigoSignificado
200Éxito
201Creado
400Solicitud Incorrecta — parámetros inválidos
401No Autorizado — llaves de API inválidas o faltantes
422No Procesable — solicitud entendida pero no se puede completar
500Error del Servidor

Formato de Respuesta de Error

La API retorna errores en el siguiente formato:

1{
2 "message": "Checkout Inválido",
3 "errors": {
4 "items": ["can't be blank"]
5 }
6}

El campo message siempre está presente. El objeto errors es opcional y contiene detalles de validación a nivel de campo.

Errores Comunes

Autenticación Fallida

1// 401
2{ "message": "Autenticación Errónea 👀" }

Tus llaves de API son inválidas, faltan, o no coinciden con la misma cuenta/ambiente.

Error de Validación

1// 400
2{
3 "message": "Producto Inválido",
4 "errors": { "name": ["can't be blank"] }
5}

Los parámetros proporcionados no pasan la validación. Revisa el objeto errors para detalles específicos.

No Se Puede Modificar Checkout Pagado

1// 422
2{ "message": "No se puede modificar un checkout pagado" }

Intentaste modificar un checkout que ya ha sido pagado.

Recurso No Encontrado

1// 404
2{ "message": "Producto no encontrado" }

El recurso solicitado no existe o no pertenece a tu cuenta.

Manejo de Errores

Siempre verifica el código de estado HTTP antes de procesar la respuesta:

1if (response.status >= 400) {
2 const error = await response.json();
3 console.error('Error de API:', error.message);
4
5 // Manejar errores de validación específicos
6 if (error.errors) {
7 Object.keys(error.errors).forEach(field => {
8 console.error(`${field}: ${error.errors[field].join(', ')}`);
9 });
10 }
11}