Como devo lidar com erros e novas tentativas da Pokerai API?
Leia primeiro o status HTTP e o contrato atual da operação: corrija as respostas documentadas 400 e 401, diferencie o esgotamento da cota da capacidade do solver em 429 e tente novamente apenas os casos transitórios 5xx aplicáveis, sem presumir uma contagem de tentativas ou SLA.
Error documenta error e pode incluir message; não deduza um vocabulário não publicado de códigos de erro nem campos de resposta idênticos para todas as operações.Informações rápidas
| Formato do erro | O esquema público compartilhado Error possui error e pode incluir message. |
|---|---|
| 400 / 401 | Para as operações aplicáveis, 400 documenta uma entrada inválida ou um campo ausente; 401 documenta uma chave de API ausente ou inválida. |
| 429 | As operações aplicáveis documentam o esgotamento da cota mensal; o agendamento do solver também pode retornar { "status": "busy" } quando todos os hosts do solver estão ocupados. |
| 5xx | Algumas operações aplicáveis documentam um backend temporariamente indisponível (502) ou uma resposta upstream_unavailable que pode ser tentada novamente (503). |
| Cota | Os contadores públicos de cota são mensais; a resposta de cota do OpenAPI informa que eles são redefinidos no dia 1º. Consulte o painel e a documentação de cotas para verificar o estado atual da conta. |
| Limite de uso | Somente para treinamento, coaching, revisão de mãos, estudo e pesquisa; sem RTA com dinheiro real. |
Solicitação mínima e resposta de erro com dados ocultados
Isto omite deliberadamente as credenciais. Demonstra o limite público de autenticação sem expor uma chave ou cabeçalho de solicitação.
curl -i -s https://pokerai.bet/v1/gto/preflop \
-H "Content-Type: application/json" \
-d '{"hole_cards":"AhKh","positions":{"hero":"UTG"},"preflop_actions":[{"position":"SB","action":"small blind","amount":0.5},{"position":"BB","action":"big blind","amount":1}]}'
O exemplo OpenAPI Error oferece suporte a este formato de resposta com dados ocultados para uma chave ausente:
HTTP 401
{ "error": "missing_api_key" }
Nunca registre chaves de API, cabeçalhos Authorization nem corpos de solicitações de clientes sem ocultação de dados ao diagnosticar um erro.
Princípios de novas tentativas seguras e backoff
Repita a tentativa somente depois de classificar a resposta em relação ao contrato da operação atual. Para um 502 transitório aplicável ou um 503 passível de nova tentativa, use um recuo exponencial limitado com jitter controlado pela sua aplicação. Para o agendamento do solver com 429 e status: busy, trate-o como estado de capacidade e tente novamente mais tarde, em vez de presumir que seja esgotamento de cota.
Não prometa nem codifique rigidamente uma quantidade de tentativas, atraso, SLA, comportamento de idempotência ou significado de código de erro além do contrato público atual. Antes de reenviar uma solicitação que possa consumir cota ou alterar o estado do fluxo de trabalho, decida em seu próprio aplicativo se repeti-la é seguro.
Quando não tentar novamente
Não tente novamente um 400 aplicável sem alterar a solicitação: compare o payload com o esquema de solicitação atual e corrija a entrada inválida ou ausente. Não tente novamente uma solicitação aplicável 401 até corrigir o cabeçalho ou a chave de API compatível.
Não trate todo 429 como passível de nova tentativa. Quando a resposta indicar esgotamento de cota documentado, verifique o painel, o plano e o marco de redefinição mensal. Um formato de resposta como status: busy pertence ao fluxo de trabalho documentado de agendamento do solver, não ao esquema de erro compartilhado.
Cota e status do solver
A Pokerai API contabiliza consultas pré-resolvidas separadamente de Resoluções em tempo real. A resposta pública de cota descreve um contador mensal que é redefinido no dia 1º; use o painel e os preços para consultar os limites atuais da conta, em vez de codificar rigidamente um limite em um cliente.
status, spot_status e node_status do solver são campos de fluxo de trabalho separados do esquema compartilhado Error. Siga os contratos documentados do solver, da árvore e do nó em vez de interpretar esses estados como uma garantia de tempo de conclusão ou cobrança.
Sem RTA com dinheiro real
Use a Pokerai API apenas para treinamento, coaching, revisão de mãos, estudo e pesquisa. Assistência em tempo real em mesas com dinheiro real é proibida. O tratamento de erros e a lógica de novas tentativas não devem ser usados para automatizar aconselhamento em mesas ao vivo.
Guia de status documentado
Estas descrições se aplicam somente quando a lista de respostas OpenAPI atual da operação as declara.
| HTTP | Contrato público | Próxima etapa segura |
|---|---|---|
400 | Entrada inválida ou campo ausente. | Corrija a incompatibilidade do esquema da solicitação; não tente novamente sem alterações. |
401 | Chave de API ausente ou inválida. | Corrija a autenticação; não tente novamente usando a mesma credencial ausente ou inválida. |
429 | Esgotamento da cota mensal nas operações aplicáveis; o agendamento do solver pode, em vez disso, informar status: busy. | Para a cota, consulte o painel e o marco de redefinição. Para busy documentado, use espera progressiva cautelosa sem uma promessa fixa de nova tentativa. |
502 / 503 | As operações aplicáveis documentam um backend temporariamente indisponível ou upstream_unavailable passível de nova tentativa. | Use um backoff exponencial limitado com jitter controlado pelo aplicativo; verifique novamente o contrato atual da operação. |
SDK, documentação e referência
- Documentação sobre tratamento de erros — formato público de erros e distinções de status do solver
- Documentação de cotas — orientação sobre o contador mensal da conta
- Referência da API — contratos de solicitação e resposta específicos da operação
- Instantâneo do OpenAPI — contrato público em inglês legível por máquina
- Guia do SDK Python — configuração do cliente oficial
- Guia do SDK JavaScript — configuração oficial do cliente
- Guia MCP — integração de agente com revisão humana