OddsPapi 聚合博彩商价格,并非官方或持牌的联赛数据提供方。结算源自已解析的多源事实,且期货结算正在推出中 —— 端点已存在,但尚未返回结果。
一次请求,全部评级
GET /fixtures/settlement 接受 fixtureId(可选 outcomeId / playerId 缩小范围),返回赛事最终状态,以及每个 outcome 一行的评级:
team1Score / team2Score 是评级所依据的比分,periods 指明使用了哪些周期行,margin 是适用时的净胜幅度 —— 足以审计任何一条评级,而无需重新推导。
请在赛事到达 statusId 2(已结束)后调用。尚无法评级的行会以 UNDECIDED 返回而不是被省略 —— 见下文。
按选项评级,按评级派彩
投注基于与博彩商无关的选项键评级 ——{fixtureId}:{outcomeId}:{playerId} —— 因为无论谁报价,同一选项的胜负判定完全一致。把下注时存储的 oddsId 去掉博彩商段,关联就完成了。
以 100 注、赔率 2.00 为例,各评级的返还:
词汇表定义见枚举 → settlementStatus;新枚举值只会追加、绝不复用,因此未知评级应视为「持有」,而非错误。
四分之一盘:半注评级从何而来
亚洲四分之一盘是合二为一的两笔投注 —— 大 2.25 即半注押大 2.0、半注押大 2.5。结算端点直接对合成结果评级,无需您自行拆分:- 大 2.25,全场共 2 球 —— 大 2.0 的半注 push,大 2.5 的半注负 →
HALFLOSS。100 注拿回 50。 - 小 2.25,全场共 2 球 —— 小 2.0 的半注 push,小 2.5 的半注胜 →
HALFWIN。100 注、赔率 1.90 时返还 50 + 50 × 1.90 = 145。
marketId,因此大 2.25 与大 2.5 绝不会混入同一盘口。定价这些盘口见 sharp 线路交易,覆盖情况见盘口覆盖。
周期盘基于周期行评级
周期盘 —— 上半场大小球、首盘胜负、率先达到某比分 —— 依据各周期比分行(p1、p2……)评级,而非全场 result。每条结算行的 periods 数组指明使用了哪些行。
请对照运动的结构解读周期:p1 在足球中是半场,在 NBA 篮球中是一节,在网球中是一盘 —— 赛事上的 expectedPeriods 与 periodLength 会告诉您是哪种。完整键词汇表(包括 fulltime+overtime 等组合区段与网球子周期键)见枚举 → period。
UNDECIDED 与 CANCELLED 是状态而非错误
两者都携带人类可读的 reason 说明原因,且在运营上含义不同:
UNDECIDED—— 结果数据不足或待定。请将该投注保留在结算队列中稍后复查;不要紧密循环重试 —— 按计划或在赛事更新时重新轮询。CANCELLED—— 盘口作废,本金退还。这是终态:完成退款并关闭该投注。赛事进入statusId3(已取消)是常见原因,但个别盘口也可能单独作废。
reason —— 它就是这笔投注为何如此派彩的审计轨迹。
期货
GET /futures/settlement 已存在但返回 501 —— 期货结算正在推出中,尚未返回结果。赛事结算不受影响。在其落地之前,冠军类盘口需要您用自己的结果源评级。
您可以依赖的保证
- 评级落在冻结的 ID 上。 您定价所用的
marketId/outcomeId就是带着评级回来的那一个 —— 无需名称匹配、无需按博彩商翻译,博彩商改名盘口时也无需重新映射。 - 四分之一盘精确结算。
HALFWIN/HALFLOSS是显式评级,遵循上文的半注计算 —— 绝不会四舍五入到最近的整评级。 - 不会有东西无声消失。 无法评级的行以
UNDECIDED加reason返回;作废以CANCELLED加reason返回。结算队列中的每笔投注都会到达一个有解释的终态。 - 管线在同一个键上闭环。 同一
oddsId对应实时价格、其历史与收盘线,以及(去掉博彩商段后)它的评级。