Comment créer un flux de travail déterministe d’état de partie de poker avec une API ?
Utilisez POST /v1/pokerkit/games/state pour reconstituer un instantané complet à partir d’une configuration de jeu documentée et des actions, puis utilisez POST /v1/pokerkit/games/step pour ajouter une next_action vérifiée.
POST /v1/pokerkit/games/state pour obtenir les snapshot et legal_actions actuels ; choisissez une action uniquement via votre propre interface d’entraînement ou de révision, puis appelez POST /v1/pokerkit/games/step avec ce next_action et expected_action_count égal à la longueur de la liste des actions. Enregistrez les actions renvoyées comme prochain état déterministe. Utilisez GET /v1/pokerkit/meta pour lire les métadonnées actuellement documentées avant de choisir les codes de variante ou le vocabulaire des énumérations ; cette opération ne valide pas les formats non documentés, n’expose pas de flux de table en direct et ne fournit pas de stratégie.Points clés
| Point de terminaison d’état | POST /v1/pokerkit/games/state |
|---|---|
| Point de terminaison d’étape | POST /v1/pokerkit/games/step |
| Champs de base requis | Les deux opérations nécessitent variant, starting_stacks et antes. L’exemple public utilise variant: NT. |
| Sortie d'état | L’exemple public renvoie result.snapshot, y compris legal_actions, et renvoie à l’identique les actions soumises dans result.actions. |
| Ajout vérifié | L’étape requiert next_action ; expected_action_count est le jeton de concurrence optimiste pour la liste d’actions en cours d’extension. |
| Limites d’utilisation | Simulation à information complète destinée uniquement à l'entraînement, au coaching, à l'analyse de mains, à l'étude et à la recherche ; aucune assistance en temps réel aux tables à argent réel. |
État ou étape
Utilisez state lorsque vous devez reconstruire la position actuelle de la partie à partir d'une configuration fournie et de ses actions. Son instantané expose des informations factuelles telles que le pot, les tapis, le board, les cartes fermées soumises et legal_actions.
Utilisez step uniquement pour étendre cette même liste d’actions fournie d’une next_action documentée. Il renvoie un nouvel instantané et les actions étendues. Aucun des deux points de terminaison ne renvoie de stratégie GTO, de modélisation des joueurs ni d’action recommandée.
Lire l’instantané actuel
Utilisez JSON et une clé API. Cette requête et cette réponse constituent l'exemple de code public de la documentation 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"]}}
Affichez ou validez uniquement les faits de l'instantané renvoyé. Dans cet exemple, legal_actions liste se coucher, un montant pour checker ou payer, ainsi qu'un minimum et un maximum pour compléter, miser ou relancer jusqu'à un montant donné ; il s'agit de l'ensemble des actions légales pour l'état à information complète soumis, et non de conseils sur l'action à effectuer.
Ajouter une action avec protection de concurrence
Avant d’ajouter une action, conservez la liste exacte des actions utilisée pour l’appel d’état. Définissez expected_action_count sur sa longueur et envoyez la next_action documentée prévue. Le schéma public décrit une divergence comme HTTP 409 ; actualisez votre liste d’actions enregistrée et reconstituez l’état au lieu d’écraser une mise à jour concurrente.
{"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"]}}
L’exemple complète les trois actions soumises par p1 cc, renvoie quatre actions et met à jour l’instantané. Poursuivez en utilisant cette liste d’actions renvoyée comme entrée du prochain appel state ou step.
Flux de travail déterministe et examen humain
Un flux de travail minimal consiste à : conserver la configuration ainsi que les actions ; appeler state ; afficher l’snapshot factuel et les legal_actions dans une interface utilisateur d’entraînement ou de révision ; demander à un humain de sélectionner ou d’approuver une action documentée ; appeler step avec cette action et le décompte attendu ; conserver les actions renvoyées.
Le service reconstitue l’état à partir des données soumises au lieu de conserver une session de jeu active. Conservez votre propre trace d’audit de la configuration, de la liste d’actions, de la révision humaine et de l’instantané renvoyé. Ne laissez pas entendre que l’API a validé l’identité d’un joueur, prédit les adversaires ou sélectionné une stratégie de poker.
Limite de l'information complète et de la simulation
Les exemples publics incluent des snapshot.hole_cards soumis ; le schéma décrit viewer comme réservé et v1 comme fournissant toutes les informations. Utilisez ces points de terminaison uniquement lorsque chaque carte et action soumise s’inscrit dans un flux de travail de formation, de simulation ou d’examen après session.
Ne présentez pas cette API comme un jeu à information cachée, un flux de table en direct, une prise en charge de variantes ou de formats d'action non documentés, une modélisation des joueurs ou des conseils stratégiques. Consultez le schéma OpenAPI actuel et /v1/pokerkit/meta pour connaître les codes de variantes pris en charge, au lieu d'en déduire la couverture.
Validation, contrat actuel et absence de RTA
Les deux opérations publiques déclarent une réponse de validation 422. Pour state, validez la configuration documentée et la liste d’actions. Pour step, validez aussi next_action et gérez la divergence de comptage 409 documentée en rechargeant les actions actuelles. Utilisez la documentation actuelle sur l’authentification, le quota et les erreurs pour la gestion au niveau du compte.
Pokerai API est destiné uniquement à l'entraînement, au coaching, à l'analyse de mains, à l'étude et à la recherche. L'assistance en temps réel aux tables à argent réel est interdite. N'utilisez pas les instantanés, les actions légales ou les résultats d'étape pour automatiser ou guider une décision en direct à argent réel.
Points de terminaison associés
Utilisez le contrat public actuel pour la reconstruction de l'état et les ajouts d'actions vérifiés ; n'inférez pas de formats de jeu ou de fonctionnalités de décision non pris en charge.
| Point de terminaison | Ce qu’il fait | Utilisez-le pour |
|---|---|---|
POST /v1/pokerkit/games/state | Reconstruire un snapshot et des legal_actions actuels à information complète à partir de la configuration et des actions soumises | Une vue déterministe de l’état pour l’entraînement, la simulation ou la révision après session |
POST /v1/pokerkit/games/step | Appliquez une next_action ; le paramètre facultatif expected_action_count protège l'extension de la liste d'actions | Un ajout contrôlé à l’historique des actions soumises, vérifié par un humain |
SDK, MCP et ressources associées
- Documentation développeur — configuration officielle du SDK et de MCP, ainsi que l'authentification et les quotas
- Référence de l'API — consultez les contrats actuels des requêtes state et step
- Instantané OpenAPI — contrat anglais lisible par machine
- Python SDK — point d’entrée officiel du package
- TypeScript / JavaScript SDK — point d’entrée officiel du package
- Serveur MCP — point d’entrée officiel du package
- Guide de l’API d’historique des mains de poker — analyser et rejouer une main terminée soumise
- llms.txt — point d’entrée LLM concis