Como criar um fluxo de trabalho determinístico de estado de jogo de poker com uma API?
Use POST /v1/pokerkit/games/state para reconstruir um retrato de informações completas a partir de uma configuração de jogo documentada e de actions, depois use POST /v1/pokerkit/games/step para acrescentar uma next_action verificada.
POST /v1/pokerkit/games/state para obter o snapshot e as legal_actions atuais; escolha uma ação somente pela sua própria UI de treinamento ou revisão e, então, chame POST /v1/pokerkit/games/step com essa next_action e expected_action_count igual ao tamanho da lista de ações. Armazene as actions retornadas como o próximo estado determinístico. Use GET /v1/pokerkit/meta para ler os metadados documentados atuais antes de escolher códigos de variante ou vocabulário de enumeração; ele não valida formatos não documentados, não expõe um feed de mesas ao vivo nem fornece estratégia.Fatos rápidos
| Endpoint de estado | POST /v1/pokerkit/games/state |
|---|---|
| Endpoint de etapa | POST /v1/pokerkit/games/step |
| Campos básicos obrigatórios | Ambas as operações exigem variant, starting_stacks e antes. O exemplo público usa variant: NT. |
| Saída do estado | O exemplo público retorna result.snapshot, incluindo legal_actions, e reproduz result.actions. |
| Adição verificada | A etapa exige next_action; expected_action_count é o token de concorrência otimista para a lista de ações que está sendo estendida. |
| Limite de uso | Simulação com informações completas apenas para treinamento, coaching, revisão de mãos, estudo e pesquisa; sem RTA com dinheiro real. |
Estado versus etapa
Use state quando precisar reconstruir a posição atual do jogo a partir de uma configuração fornecida e suas actions. Seu instantâneo expõe o estado factual, como pote, stacks, board, cartas fechadas enviadas e legal_actions.
Use step somente para estender essa mesma lista de ações fornecida por uma next_action documentada. Ele retorna um novo snapshot e as actions estendidas. Nenhum dos endpoints retorna estratégia GTO, modelagem de jogador ou uma ação recomendada.
Leia o instantâneo atual
Use JSON e uma chave de API. Esta solicitação e resposta são o exemplo público de código da documentação de pokerkitGamesState.
{"variant": "NT", "antes": [0, 0], "blinds_or_straddles": [1, 2], "min_bet": 2, "starting_stacks": [200, 200], "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6"]}
{"result": {"snapshot": {"terminal": false, "street_index": 0, "actor_index": 0, "pot": 8, "bets": [2, 6], "stacks": [198, 194], "board": [], "hole_cards": [{"player": 0, "cards": ["Ah", "Kh"]}, {"player": 1, "cards": ["Qs", "Qd"]}], "legal_actions": [{"action": "fold"}, {"action": "check_or_call", "amount": 4}, {"action": "complete_bet_or_raise_to", "min": 10, "max": 200}]}, "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6"]}}
Renderize ou valide apenas os fatos do instantâneo retornado. Neste exemplo, legal_actions lista fold, um valor de check ou call e um mínimo e máximo de complete-bet-or-raise-to; ela é a superfície de ações legais para o estado de informação completa enviado, não uma recomendação sobre qual ação tomar.
Adicionar uma ação com proteção de concorrência
Antes de acrescentar, mantenha a lista de ações exata usada para a chamada de state. Defina expected_action_count como seu comprimento e envie a next_action documentada pretendida. O schema público descreve uma divergência como HTTP 409; atualize sua lista de ações armazenada e reconstrua o estado em vez de sobrescrever uma atualização simultânea.
{"variant": "NT", "antes": [0, 0], "blinds_or_straddles": [1, 2], "min_bet": 2, "starting_stacks": [200, 200], "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6"], "next_action": "p1 cc", "expected_action_count": 3}
{"result": {"snapshot": {"terminal": false, "street_index": 1, "actor_index": null, "pot": 12, "bets": [0, 0], "stacks": [194, 194], "board": [], "hole_cards": [{"player": 0, "cards": ["Ah", "Kh"]}, {"player": 1, "cards": ["Qs", "Qd"]}], "legal_actions": [{"action": "deal_board"}]}, "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6", "p1 cc"]}}
O exemplo estende três ações enviadas com p1 cc, retorna quatro ações e avança o instantâneo. Continue tratando essa lista de ações retornada como entrada para a próxima chamada de state ou step.
Fluxo de trabalho determinístico e revisão humana
Um fluxo mínimo é: persistir a configuração mais actions; chamar state; exibir o snapshot factual e as legal_actions em uma UI de treinamento ou revisão; fazer com que uma pessoa selecione ou aprove uma ação documentada; chamar step com essa ação e a contagem esperada; persistir as actions retornadas.
O serviço reconstrói o estado a partir dos dados enviados, em vez de manter uma sessão de jogo ativa. Mantenha seu próprio registro de auditoria da configuração, da lista de ações, da revisão humana e do instantâneo retornado. Não dê a entender que a API validou a identidade de um jogador, previu adversários ou selecionou uma estratégia de poker.
Limite entre informações completas e simulação
Os exemplos públicos incluem snapshot.hole_cards enviado; o esquema descreve viewer como reservado e a v1 como de informações completas. Use estes endpoints somente quando cada carta e ação enviada fizer parte de um fluxo de treinamento, simulação ou revisão pós-sessão.
Não apresente esta API como jogo com informações ocultas, um feed de mesa ao vivo, suporte a variantes ou formatos de ação não documentados, modelagem de jogadores ou aconselhamento estratégico. Verifique o esquema OpenAPI atual e /v1/pokerkit/meta para ver os códigos de variantes compatíveis, em vez de inferir a cobertura.
Validação, contrato atual e sem RTA
Ambas as operações públicas declaram uma resposta de validação 422. Para state, valide a configuração e a lista de ações documentadas. Para step, valide também next_action e trate a divergência de contagem 409 documentada recarregando as ações atuais. Use a documentação atual sobre autenticação, cotas e erros para o tratamento no nível da conta.
Pokerai API é apenas para treinamento, coaching, revisão de mãos, estudo e pesquisa. A assistência em tempo real em mesas de dinheiro real é proibida. Não use snapshots, ações legais ou resultados de etapas para automatizar ou orientar uma decisão ao vivo com dinheiro real.
Pontos de extremidade relacionados
Use o contrato público atual para reconstrução de estado e adições de ações verificadas; não infira formatos de jogo ou recursos de decisão não compatíveis.
| Ponto de extremidade | O que faz | Use para |
|---|---|---|
POST /v1/pokerkit/games/state | Reconstrói um snapshot e legal_actions atuais de informação completa a partir da configuração e das actions enviadas | Uma visualização de estado determinística para treinamento, simulação ou revisão pós-sessão |
POST /v1/pokerkit/games/step | Aplique uma next_action; o expected_action_count opcional protege a extensão da lista de ações | Uma adição revisada por humanos e verificada ao histórico de ações enviadas |
SDK, MCP e recursos relacionados
- Documentação para desenvolvedores — configuração oficial de SDK e MCP junto com autenticação e cotas
- Referência da API — inspecione os contratos atuais das solicitações de state e step
- Instantâneo do OpenAPI — contrato em inglês legível por máquina
- Python SDK — ponto de entrada oficial do pacote
- SDK de TypeScript / JavaScript — ponto de entrada oficial do pacote
- Servidor MCP — ponto de entrada oficial do pacote
- Guia da API de histórico de mãos de pôquer — faça o parsing e reproduza uma mão concluída enviada
- llms.txt — ponto de entrada conciso para LLM