¿Cómo creo un flujo de trabajo determinista de estado de juego de póker con una API?
Usa POST /v1/pokerkit/games/state para reconstruir una instantánea de información completa a partir de una configuración de juego documentada y actions; después, usa POST /v1/pokerkit/games/step para añadir una next_action comprobada.
POST /v1/pokerkit/games/state para obtener el snapshot y las legal_actions actuales; elige una acción únicamente mediante tu propia interfaz de entrenamiento o revisión y, a continuación, llama a POST /v1/pokerkit/games/step con esa next_action y expected_action_count igual a la longitud de la lista de acciones. Guarda las actions devueltas como el siguiente estado determinista. Usa GET /v1/pokerkit/meta para leer los metadatos documentados actuales antes de elegir códigos de variante o vocabulario de enumeraciones; no valida formatos no documentados, no expone una fuente de datos de mesas en vivo ni proporciona estrategia.Datos rápidos
| Endpoint de estado | POST /v1/pokerkit/games/state |
|---|---|
| Endpoint de paso | POST /v1/pokerkit/games/step |
| Campos base obligatorios | Ambas operaciones requieren variant, starting_stacks y antes. El ejemplo público usa variant: NT. |
| Salida de estado | El ejemplo público devuelve result.snapshot, incluido legal_actions, y replica result.actions. |
| Incorporación verificada | El paso requiere next_action; expected_action_count es el token de concurrencia optimista para la lista de acciones que se está ampliando. |
| Límite de uso | Simulación con información completa solo para formación, entrenamiento, revisión de manos, estudio e investigación; no se permite RTA con dinero real. |
Estado frente a paso
Usa state cuando necesites reconstruir la posición actual de la partida a partir de una configuración proporcionada y sus actions. Su instantánea expone el estado factual, como el bote, los stacks, el board, las cartas ocultas enviadas y legal_actions.
Usa step solo para ampliar esa misma lista de acciones proporcionada con una next_action documentada. Devuelve una nueva instantánea y las actions ampliadas. Ninguno de los dos endpoints devuelve estrategia GTO, modelado de jugadores ni una acción recomendada.
Leer la instantánea actual
Usa JSON y una clave de API. Esta solicitud y respuesta son el ejemplo público de código de documentación 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"]}}
Representa o valida solo los datos factuales de la instantánea devuelta. En este ejemplo, legal_actions enumera fold, una cantidad de check-or-call y un mínimo y máximo de complete-bet-or-raise-to; es la superficie de acciones legales para el estado de información completa enviado, no un consejo sobre qué acción tomar.
Añade una acción con protección de concurrencia
Antes de añadir, conserva la lista de acciones exacta utilizada para la llamada a state. Establece expected_action_count en su longitud y envía la next_action documentada prevista. El esquema público describe una discrepancia como HTTP 409; actualiza la lista de acciones almacenada y reconstruye el estado en lugar de sobrescribir una actualización 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"]}}
El ejemplo amplía tres acciones enviadas con p1 cc, devuelve cuatro acciones y actualiza la instantánea. Continúe tratando esa lista de acciones devuelta como la entrada de la siguiente llamada a state o step.
Flujo de trabajo determinista y revisión humana
Un flujo de trabajo mínimo es: persistir la configuración junto con actions; llamar a state; mostrar la snapshot factual y las legal_actions en una interfaz de entrenamiento o revisión; hacer que una persona seleccione o apruebe una acción documentada; llamar a step con esa acción y el recuento esperado; persistir las actions devueltas.
El servicio reconstruye el estado a partir de los datos enviados en lugar de mantener una sesión de juego activa. Conserva tu propio registro de auditoría de la configuración, la lista de acciones, la revisión humana y la instantánea devuelta. No des a entender que la API validó la identidad de un jugador, predijo a los oponentes o seleccionó una estrategia de póker.
Límite de información completa y simulación
Los ejemplos públicos incluyen snapshot.hole_cards enviados; el esquema describe viewer como reservado y v1 como de información completa. Use estos endpoints solo cuando cada carta y acción enviadas formen parte de un flujo de trabajo de entrenamiento, simulación o revisión posterior a la sesión.
No presentes esta API como juego con información oculta, una fuente de mesa en vivo, soporte para variantes o formatos de acción no documentados, modelado de jugadores ni consejos estratégicos. Consulta el esquema OpenAPI actual y /v1/pokerkit/meta para conocer los códigos de variantes compatibles en lugar de inferir la cobertura.
Validación, contrato actual y sin RTA
Ambas operaciones públicas declaran una respuesta de validación 422. Para state, valida la configuración documentada y la lista de acciones. Para step, también valida next_action y gestiona la discrepancia de recuento 409 documentada recargando las acciones actuales. Usa la documentación actual de autenticación, cuotas y errores para la gestión a nivel de cuenta.
Pokerai API es solo para formación, entrenamiento, revisión de manos, estudio e investigación. Se prohíbe la asistencia en tiempo real en mesas con dinero real. No use instantáneas, acciones legales ni resultados de pasos para automatizar o indicar una decisión en vivo con dinero real.
Puntos de conexión relacionados
Usa el contrato público actual para la reconstrucción del estado y las incorporaciones de acciones verificadas; no infieras formatos de juego ni funciones de decisión no compatibles.
| Punto de conexión | Qué hace | Úselo para |
|---|---|---|
POST /v1/pokerkit/games/state | Reconstruye una snapshot actual de información completa y las legal_actions a partir de la configuración y las actions enviadas | Una vista de estado determinista para entrenamiento, simulación o revisión posterior a la sesión |
POST /v1/pokerkit/games/step | Aplique una next_action; el expected_action_count opcional protege la extensión de la lista de acciones | Una adición revisada y comprobada por una persona al historial de acciones enviadas |
SDK, MCP y recursos relacionados
- Documentación para desarrolladores — configuración oficial de SDK y MCP junto con autenticación y cuotas
- Referencia de la API — inspecciona los contratos de solicitud actuales de state y step
- Instantánea de OpenAPI — contrato en inglés legible por máquinas
- Python SDK — punto de entrada oficial del paquete
- TypeScript / JavaScript SDK — punto de entrada oficial del paquete
- servidor MCP — punto de entrada oficial del paquete
- Guía de API de historial de manos de póker — analiza y reproduce una mano completada enviada
- llms.txt — punto de entrada conciso para LLM