Skip to content

Tratamento de Erros

A Pixapi retorna códigos de status HTTP e códigos de erro legíveis por máquina. Seu aplicativo deve separar erros corrigíveis pelo usuário de falhas de infraestrutura transitórias.

Formato do erro

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

Categorias de tratamento

CategoriaExemplosAção
Erros de requisiçãoinvalid_request, model_not_foundCorrija a validação da requisição.
Erros de autenticaçãounauthorizedSolicite uma chave de API válida.
Erros de cobrançainsufficient_creditsMostre Créditos ou Cobrança.
Erros de políticaprompt_rejectedPeça ao usuário para revisar a entrada.
Erros transitóriosrate_limited, model_unavailableRepita com backoff.

Padrão de repetição

Use backoff exponencial para falhas transitórias.

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 requisição

Registre o request_id quando disponível. Inclua-o ao abrir um ticket de suporte para que a equipe possa rastrear uma chamada de modelo com falha sem expor o prompt original a sistemas não relacionados.