Saltar al contenido

Errores

Referencia de códigos de error HTTP, formato de respuestas de error y tips de debugging.

2 min de lecturaapi, errores, http, debuggingActualizado: 7 de octubre de 2026

#¿Cómo interpreto un error?

Comprueba primero el código HTTP y después el cuerpo JSON. Los errores no tienen todos el mismo esquema ni un campo code obligatorio. Un timeout tampoco demuestra que una escritura no se haya guardado.

HTTPQué revisar
400Cuerpo, parámetros, filtros o selección de tienda inválidos.
401Llave ausente, inválida, revocada o expirada.
403Acceso a tienda, scope, plan o límite de la operación.
404Recurso no encontrado dentro del alcance consultado.
409Conflicto específico de la operación; lee el cuerpo.
429Frecuencia excesiva; respeta Retry-After cuando se incluya.
500Fallo del servidor; conserva la información de diagnóstico sin exponer credenciales.

#Ejemplo de manejo de una consulta

async function readResource(url, apiKey) {
  const response = await fetch(url, {
    headers: { Authorization: `Bearer ${apiKey}` }
  });
  const body = await response.json().catch(() => null);
  if (!response.ok) {
    throw new Error(`HTTP ${response.status}: ${body?.error ?? body?.message ?? 'Error de respuesta'}`);
  }
  return body;
}

#¿Debo reintentar?

Un error de formato o permisos no se resuelve enviando lo mismo repetidamente. Para límites de frecuencia consulta Rate limiting. Antes de reintentar una escritura, comprueba su resultado y las reglas de duplicados de ese endpoint.

La falta de un recurso en un filtro de activos no prueba que esté eliminado. Una respuesta de plan no sustituye la oferta ni acredita que cambiar de plan resolverá cualquier fallo de permisos.

Consulta Autenticación y el artículo del recurso correspondiente.