速览 —**订单(order)**是你的指令;**投注(bet)**是在博彩商处实际成交的下注。标识符(
fixtureId、outcomeId、playerId、participantId)与 OddsPapi v5 共享。每个订单都带有唯一的 requestUuid 用于幂等。三条独立的生命周期分别追踪订单、它的每个投注,以及每个投注的结算。标识符
ABP 与 OddsPapi v5 共享标识符空间——你通过 OddsPapi 发现的fixtureId 和 outcomeId 就是发送给 ABP 的值,无需任何转换层。
盘口键(Market keys)
在内部,每个定价选项都由一个复合键寻址:GET /betslip 会返回已键入、可直接使用的结构——但理解其形态有助于阅读 WebSocket 的 betslip 负载。
订单与投注
这是最重要的一个区分。
当涉及部分成交或多博彩商路由时,一个订单可能产生多个投注。例如,一个 5,000 USD 的订单可能在两家博彩商处成交为三笔投注。详见订单下注。
幂等性与请求去重
网络重试不可避免,而重试的下单绝不能造成重复下注。ABP 通过请求去重来保证这一点。1
为每个订单分配唯一的 requestUuid
POST /place-orders 批次中的每个订单都带有自己的 requestUuid(标准 8-4-4-4-12 UUID)。在客户端生成一次,并在每次重试该订单时复用同一个值。2
服务端进行指纹识别
服务端会以 30 分钟 TTL 记录已见过的每个
requestUuid。在该窗口内,重复出现的相同 requestUuid 会被识别为重复。3
重复项被静默跳过
重复的订单不会再次下注,也不会作为被拒原因返回,只是被跳过,批次中的其余订单照常处理。
4
整批均为重复时返回 409
如果请求中的每个订单都是重复项,则无事可做,请求返回
409 Conflict 并附上相关 UUID。订单生命周期
投注生命周期
结算生命周期
投注CONFIRMED 后,结算追踪资金结果:
结算变更通过
settlements WebSocket 频道推送。参见订单下注与 WebSocket。
账户优先级与额度级联
每个博彩商账户都有priority(越高越优先)。路由时,ABP 会为每家博彩商优先选择优先级最高的活跃账户。
下注额度按优先顺序解析——账户额度 > 博彩商额度 > 赔率额度——取第一个非空值:
术语表
后续步骤
订单下注
成交、定价与额度级联的运作方式。
币种与额度
计价、换算与额度详解。
快速开始
5 步完成首次下注。
博彩商
全部 32 家博彩商的能力矩阵。