Erros seguem o formato compatível com OpenAI:
{ "error": { "message": "descrição do erro", "type": "certigw_error" } }
Códigos de status
| Status | Significado | O que fazer |
|---|
401 Unauthorized | Chave ausente/inválida, ou modelo não permitido para a chave | Verifique o Authorization: Bearer cs_live_... e a allowlist da chave |
402 Payment Required | Saldo insuficiente | Faça um top-up via Pix no portal |
429 Too Many Requests | Limite de concorrência atingido | Reduza o paralelismo / faça retry com backoff |
502 Bad Gateway | Falha ao falar com o provedor upstream | Retry com backoff |
5xx | Erro interno | Retry; se persistir, contate o suporte |
Exemplo de saldo insuficiente
{
"error": {
"message": "insufficient balance: 0.00 BRL. please top up at certisecure.com.br",
"type": "certigw_error"
}
}
Implemente retry com backoff exponencial para 429 e 502/5xx, como você já faria com a
OpenAI/OpenRouter. O comportamento é o mesmo.