Skip to content

Gestión de errores

Pixapi devuelve códigos de estado HTTP y códigos de error legibles por máquina. Tu aplicación debería separar los errores corregibles por el usuario de los fallos transitorios de infraestructura.

Estructura del error

json
{
  "error": {
    "code": "model_unavailable",
    "message": "The selected model is temporarily unavailable.",
    "request_id": "req_..."
  }
}

Categorías de gestión

CategoríaEjemplosAcción
Errores de peticióninvalid_request, model_not_foundCorrige la validación de la petición.
Auth errorsunauthorizedSolicita una clave de API válida.
Errores de facturacióninsufficient_creditsMuestra Créditos o Facturación.
Policy errorsprompt_rejectedPide al usuario que revise la entrada.
Transient errorsrate_limited, model_unavailableReintenta con backoff.

Patrón de reintento

Usa backoff exponencial para fallos transitorios.

ts
const delays = [500, 1000, 2000];
for (const delay of delays) {
  const res = await callPixapi();
  if (res.ok) return res;
  if (![429, 500, 503].includes(res.status)) break;
  await new Promise((resolve) => setTimeout(resolve, delay));
}

IDs de petición

Registra request_id cuando esté disponible. Inclúyelo al abrir un ticket de soporte para que el equipo pueda rastrear una llamada fallida al modelo sin exponer el prompt original a sistemas no relacionados.