← Todas las guías
En esta página
Guía Estrategia GTO · 04/06 Aplicaciones de solucionador 16 min Avanzado

¿Cómo ejecuto de forma segura una resolución de la API del solver GTO?

Considera una resolución en tiempo real como un ciclo de vida breve: prográmala, consulta su árbol hasta que se pueda consultar y, después, lee solo los tokens que devuelva ese árbol.

Actualizado Mantenido por Pokerai API

Respuesta directa: envíe los campos de spot requeridos a POST /v1/gto/solver, conserve su identificador solve y consulte POST /v1/gto/solver/tree hasta que spot_status sea queryable. Pase el token de un nodo devuelto a POST /v1/gto/solver/node. Esta página abarca la programación, la consulta y la lectura, no la selección del solver ni el diseño de árboles de investigación.

Datos rápidos

ProgramaciónPOST /v1/gto/solver requiere board, oop_range, ip_range, pot, effective_stack y hero.
Señales asíncronasEl status de la programación puede ser computing, queryable o busy; el spot_status del árbol es la señal de disponibilidad para las lecturas.
Ámbito de lecturaUse el identificador solve únicamente con sus llamadas de árbol/liberación, y use un token devuelto por ese árbol solo como entrada node para /v1/gto/solver/node.
Cuotasolve_quota solo está presente cuando se activó una nueva resolución. Las operaciones de árbol, nodo y liberación opcional están documentadas como gratuitas.
Límite de resultadosUn nodo legible puede contener strategy, o actions y range_strategy; un estado no legible no es una estrategia.

1. Programe y conserve el identificador

Usa una situación personalizada de flop, turn o river completa y autónoma. La longitud del board selecciona la calle. Guarda el identificador solve devuelto; es el identificador para las solicitudes posteriores de árbol y liberación.

curl -s https://pokerai.bet/v1/gto/solver \
+  -H "Authorization: Bearer $POKERAI_API_KEY" \
+  -H "Content-Type: application/json" \
+  -d '{"board":"2c2h2s","oop_range":"AA,KK","ip_range":"QQ,JJ","pot":6,"effective_stack":100,"hero":"OOP"}'

Una respuesta de programación puede ser computing o queryable. Si es busy, no hay ningún identificador solve disponible para consultar; trátelo como capacidad del solver, no como una resolución completada. El contrato público no promete un tiempo de espera ni un nivel de disponibilidad.

2. Consulta el árbol antes de leer la estrategia

Llame a POST /v1/gto/solver/tree con el identificador. Para una resolución de flop, turn_card es opcional; river_card también es opcional y se combina con turn_card cuando se necesita desambiguar. No invente ninguno de los dos campos para una resolución diferente.

curl -s https://pokerai.bet/v1/gto/solver/tree \
+  -H "Authorization: Bearer $POKERAI_API_KEY" \
+  -H "Content-Type: application/json" \
+  -d '{"solve":"<identificador de solve>"}'

Continúe solo cuando spot_status sea queryable. computing no es un resultado de estrategia. no_nodes es terminal para la ronda o runout consultado, así que deje de sondearlo. expired significa que el identificador ya no puede usarse y que el spot debe programarse de nuevo.

3. Lea un nodo usando su token de árbol

Un árbol consultable devuelve nodos con campos que incluyen node, is_hero, status y token. Pasa ese token como node; no sustituye la clave de API ni un identificador de resolución reutilizable. Mantén los datos de identificador y token fuera de los registros del cliente.

curl -s https://pokerai.bet/v1/gto/solver/node \
+  -H "Authorization: Bearer $POKERAI_API_KEY" \
+  -H "Content-Type: application/json" \
+  -d '{"node":"<token de este árbol de solve>"}'

Un nodo de héroe puede devolver strategy. Un nodo de villano, o una solicitud sin hole_cards, puede devolver actions y range_strategy. Si la respuesta del nodo informa node_status como computing, expired o error, no la presentes como estrategia; error puede incluir message.

4. Interprete solo un nodo legible

Un nodo de héroe legible puede contener strategy. Un nodo de villano, o una solicitud sin hole_cards, puede contener actions y range_strategy. Esos campos describen el nodo devuelto; no son una promesa sobre un árbol, spot o formato de juego diferente.

Si el árbol está computing, no_nodes o expired, detente o reprograma según lo documentado en lugar de presentar un resultado. Para saber si una API alojada o un solver de escritorio es la mejor herramienta de investigación, consulta la comparación transparente.

Úselo solo para entrenamiento y revisión

Usa este ciclo de vida para entrenamiento sin conexión, coaching, revisión de manos, estudio e investigación. Admite la gestión del estado de un solve enviado, no la entrega de decisiones en mesas en vivo ni una afirmación sobre la calidad de la estrategia, la latencia o el rendimiento.

La asistencia en tiempo real en mesas con dinero real está prohibida. Mantenga la programación del solver, los sondeos, la estrategia de nodos y los flujos de liberación fuera de la automatización de mesas en vivo y de los avisos de acciones durante la mano.

Mapa de endpoints del ciclo de vida

Estas tres operaciones son suficientes para el ciclo de vida descrito aquí; utiliza solo los campos documentados en el contrato actual de OpenAPI.

Punto de conexiónFunción en el ciclo de vidaEntrada o señal documentada
POST /v1/gto/solverProgramarCampos de situación obligatorios; guarde solve e inspeccione status y el solve_quota opcional.
POST /v1/gto/solver/treeSondearEnvíe solve; espere a spot_status: queryable y seleccione un token devuelto.
POST /v1/gto/solver/nodeLeerEnvía el token del árbol correspondiente como node; hole_cards opcional limita una lectura de estrategia de héroe.

Recursos relacionados