oddsIds 变成一个多关组合赔率:
两者使用相同的
oddsIds 参数,返回的也是您已经熟悉的赛事视图——只是新增了一个部分。
关于围绕这两个端点的工作流——如何在两者之间选择、如何让实时投注单保持报价、
某一关暂停时如何降级——参见构建投注单。
选择各关
每一关由它的oddsId 标识:
/fixtures/odds 拿到的那个键。以逗号或空格分隔传入:
- 重复项会被去除、列表会被排序,因此同一组选择总是产生同一个请求。
- 每次请求最多 20 关。
- 各关会按博彩公司分组——在多家博彩公司请求同样的选择即可并列比价。
parlayId 即 parlay / sgp 部分内部的键,就是这个排序后的列表以 , 连接。
两个端点的构造方式相同,因此同一组选择的 /parlay 与 /sgp 条目可以直接比较。
返回内容
两个端点都返回普通的赛事视图,只是新增了一个部分。parlay / sgp 部分为空是正常情况,参见被暂停 vs 无法找到。
/fixtures/odds/parlay 返回一个数组——每个涉及的赛事一个对象,按 fixtureId 排序。
/fixtures/odds/sgp 返回单个对象,因为它的各关都属于同一个赛事。
串关:本地定价
新增的那个部分——以 3.8 和 2.1 两关为例:price 即 3.8 × 2.1;串关处于 active 状态时 singlesPrice 等于它。
跨赛事的串关会在每一个涉及的赛事上返回相同的条目,
直接从当前正在查看的那个赛事读取即可。
SGP:由博彩公司定价
所有各关必须属于同一个赛事。请求跨两个赛事的各关会返回400:
sgp 部分携带博彩公司自己的报价:
相关性加成。
singlesPrice(7.98)是简单相乘会派彩的赔率;price(6.5)
是博彩公司在考虑各关相关性之后实际提供的赔率。两者之差就是博彩公司为相关性收取的加成—— 这通常正是客户最关心的数字。limit——该赔率下的最大投注额。可选字段;缺失表示“未声明上限”,而不是 0。bookmakerParlayId——博彩公司自己为该串关分配的标识。bookmakerChangedAt——博彩公司的报价时间戳(纪元毫秒)。可选字段;缺失时回退到changedAt。betslip——可直接打开已加载全部各关的投注单的深度链接。meta.offers——仅交易所:低于最优档的其余价格阶梯,格式为[{ price, limit }, ...]。
被暂停 vs 无法找到
这是需要在代码中区分对待的关键点,两个端点的行为一致。 被暂停的关依然存在,因此仍会在odds 中以 active: false 返回,
串关也会保留一个 inactive 条目并附带原因:
price: 1 表示退还本金;singlesPrice 仍显示原本可以派彩的赔率,
因此您可以把该选择继续展示在界面上。
无法找到的关——未知的博彩公司、未知或已过期的 oddsId——
会让该博彩公司完全不出现条目,对应的 oddsId 会出现在 missingOddsIds 中。
meta.inactiveReason 取值
速率限制
两者都与其余赔率端点同属赔率配额。参见速率限制。
错误
只要请求中包含一个您无权访问的关,整个请求都会以
403 失败——它不会被静默丢弃。
请在请求定价之前,先按密钥的权限过滤选择项。
这两个端点都需要按 API 密钥单独开通。若未开通,将返回 403 channel_not_allowed——请联系我们开通。