← Tous les guides
Sur cette page
Guide Sémantique du poker · 09/09 Entraîneur 14 min Avancé

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.

Mis à jour Maintenu par Pokerai API

Réponse directe : conservez la configuration complète de la partie et la liste des actions dans votre application. Appelez 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’étatPOST /v1/pokerkit/games/state
Point de terminaison d’étapePOST /v1/pokerkit/games/step
Champs de base requisLes deux opérations nécessitent variant, starting_stacks et antes. L’exemple public utilise variant: NT.
Sortie d'étatL’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’utilisationSimulation à 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 terminaisonCe qu’il faitUtilisez-le pour
POST /v1/pokerkit/games/stateReconstruire un snapshot et des legal_actions actuels à information complète à partir de la configuration et des actions soumisesUne vue déterministe de l’état pour l’entraînement, la simulation ou la révision après session
POST /v1/pokerkit/games/stepAppliquez une next_action ; le paramètre facultatif expected_action_count protège l'extension de la liste d'actionsUn ajout contrôlé à l’historique des actions soumises, vérifié par un humain

SDK, MCP et ressources associées