← 全部指南
本页内容
指南 从这里开始 · 02/06 平台 7 分钟 中级

如何处理 Pokerai API 错误与重试?

先读取 HTTP 状态和当前端点契约:修正已文档化的 400401,在 429 区分配额耗尽和 solver 容量,并且仅对适用的瞬态 5xx 重试;不要假设固定重试次数或 SLA。

更新于 维护者 Pokerai API

直接答案:针对调用的端点查看当前 ReferenceOpenAPI snapshot。共享公开 Error schema 定义 error,并且可能含有 message;不要推断未公开的错误码词表,也不要假设每个端点都返回相同字段。

核心事实

错误形状公开共享 Error schema 含有 error,并且可能含有 message
400 / 401适用端点中,400 表示输入无效或缺少字段;401 表示缺少或无效 API key。
429适用端点声明月度配额耗尽;solver 调度在所有 solver host 忙碌时也可能返回 { "status": "busy" }
5xx部分适用端点声明临时不可用的后端(502)或可重试的 upstream_unavailable 响应(503)。
配额公开配额计数器按月计算;OpenAPI 配额响应说明其在每月 1 日重置。请查看 dashboard 和 配额文档了解当前账号状态。
用途边界仅限训练、教学、手牌复盘、学习和研究;禁止真实资金 RTA。

最小请求与脱敏错误响应

下例刻意省略凭据。它演示公开鉴权边界,不会暴露 key 或请求头。

curl -i -s https://pokerai.bet/v1/gto/preflop \
  -H "Content-Type: application/json" \
  -d '{"hole_cards":"AhKh","positions":{"hero":"UTG"},"preflop_actions":[{"position":"SB","action":"small blind","amount":0.5},{"position":"BB","action":"big blind","amount":1}]}'

OpenAPI Error 示例支持下面这个缺少 key 时的脱敏响应形状:

HTTP 401
{ "error": "missing_api_key" }

诊断错误时,绝不要记录 API key、Authorization 请求头或未脱敏的客户请求 body。

安全重试与退避原则

仅在按当前端点契约分类响应后重试。对于适用的瞬态 502 或可重试 503,使用由你的应用控制、带 jitter 的有界指数退避。对于返回 status: busy 的 solver 调度 429,把它当作容量状态,稍后重试,而不是假定它是配额耗尽。

不要承诺或硬编码重试次数、延迟、SLA、幂等性行为,或超出当前公开契约的错误码含义。重新提交可能消耗配额或改变工作流状态的请求前,应由你的应用自行判断重复执行是否安全。

何时不应重试

不要原样重试适用的 400:将 payload 与当前请求 schema 对比,然后修正无效或缺失的输入。修正支持的 API-key 请求头或 key 前,也不要重试适用的 401

不要把每个 429 都当成可重试。若响应被文档化为配额耗尽,请查看 dashboard、套餐和月度重置边界。status: busy 这类响应形状属于已文档化的 solver 调度流程,而非共享错误 schema。

配额与 solver 状态

Pokerai API 分开计量预求解查询和实时求解。公开配额响应说明月度计数器会在每月 1 日重置;请使用 dashboard 与定价页查询当前账号限制,不要在 client 中硬编码额度。

Solver statusspot_statusnode_status 是与共享 Error schema 分离的工作流字段。请遵循已文档化的 solver、tree 和 node contract,不要把这些状态翻译为完成时间或计费保证。

禁止真实资金 RTA

Pokerai API 仅用于训练、教学、手牌复盘、学习和研究。禁止在真实资金牌桌上提供实时辅助。错误处理和重试逻辑不得用于自动化实时牌桌建议。

已文档化状态指南

这些说明仅适用于当前 OpenAPI 响应列表声明了它们的端点。

HTTP公开契约安全的下一步
400输入无效或缺少字段。修正请求 schema 不匹配;不要原样重试。
401缺少或无效 API key。修正鉴权;不要使用同一个缺失或无效凭据重试。
429适用端点中的月度配额耗尽;solver 调度也可能报告 status: busy对于配额,请查看 dashboard 与重置边界。对于已文档化的 busy,使用谨慎退避,不承诺固定重试次数。
502 / 503适用端点声明临时不可用的后端或可重试的 upstream_unavailable使用由应用控制、带 jitter 的有界指数退避;再次查看当前端点契约。

SDK、文档与 reference