Poomi

Manejo de Errores

Códigos de error de la API y cómo manejarlos

Cuando una solicitud API falla, Poomi devuelve una respuesta JSON de error con un código de estado HTTP apropiado.

Formato de Respuesta de Error

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Descripción del error legible."
  }
}

Códigos de Error

Errores del Cliente

Estado HTTPCódigoDescripción
400VALIDATION_ERROREl cuerpo de la solicitud es incorrecto o faltan campos requeridos
400MISSING_IMAGEEl endpoint requiere una imagen pero no se proporcionó
400MISSING_TEXTEl endpoint requiere texto pero no se proporcionó
400MISSING_INPUTEl endpoint requiere imagen y/o texto pero no se proporcionó
400INVALID_IMAGEEl formato de imagen no es compatible o el tamaño excede el límite
401UNAUTHORIZEDEncabezado Authorization faltante o inválido
401INVALID_KEYLa API Key no existe
402INSUFFICIENT_CREDITSLa cuenta no tiene suficientes créditos para esta solicitud
403KEY_DISABLEDLa API Key ha sido deshabilitada
403KEY_REVOKEDLa API Key ha sido revocada
403KEY_EXPIREDLa API Key ha expirado
404NOT_FOUNDEl slug del endpoint no existe o no está publicado

Errores del Servidor

Estado HTTPCódigoDescripción
502AI_CALL_FAILEDLa llamada al modelo AI falló

Manejo de Errores

Verifica el Código de Estado HTTP

  • Errores 4xx son errores del cliente — corrige la solicitud antes de reintentar
  • Errores 5xx son errores del servidor — seguro para reintentar con retroceso exponencial

Ejemplo: Manejo de Errores en Código

const response = await fetch('https://www.poomi.pet/api/v1/{endpoint-slug}', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer pk_your_api_key_here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ image: base64Data }),
});

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

  switch (error.code) {
    case 'INSUFFICIENT_CREDITS':
      // Solicitar al usuario que agregue créditos
      break;
    case 'INVALID_KEY':
      // Verificar la configuración de la API Key
      break;
    case 'AI_CALL_FAILED':
      // Reintentar la solicitud
      break;
    default:
      console.error(`API error: ${error.code} - ${error.message}`);
  }
}

Estrategia de Reintento

Para errores 5xx, usa retroceso exponencial:

  1. Espera 1 segundo, reintenta
  2. Espera 2 segundos, reintenta
  3. Espera 4 segundos, reintenta
  4. Abandona después de 3 intentos

On this page