端点
生产网关:推荐的集成流程(生产环境)
使用REST获取快照,使用WebSocket获取实时更新:- 通过REST获取初始快照(例如
/fixtures、/fixtures/odds) - 连接到WebSocket并发送带有过滤器的
login - 收到
login_ok后开始处理更新 - 持久化
serverEpoch和每个频道的lastSeenId(来自entryId) - 重新连接时,发送
serverEpoch+lastSeenId以恢复 - 如果收到
snapshot_required,通过REST重新获取快照
登录模式
WebSocket支持仅登录订阅。要更改过滤器或频道,请使用新的login重新连接。
消息信封
所有更新共享一个公共信封:channel– 流名称(例如odds、fixtures)type– 消息类型(目前始终为UPDATE)payload– 频道特定数据ts– UTC时间戳(毫秒)entryId– 用于重放/恢复的游标
entryId不保证是连续的。有关完整说明,请参阅恢复和重放。
编码:JSON vs 二进制
在登录时使用receiveType控制。
"json"(默认)— 所有消息作为UTF-8 JSON到达"binary"— 数据帧使用MessagePack;控制帧保持JSON
控制消息如login_ok、snapshot_required和resume_complete始终是JSON,即使在二进制模式下也是如此。
频道类型
- 赛事范围:
fixtures、scores、odds、bookmakers。— 有效载荷包含fixtureId - 期货范围:
futures、bookmakersFutures、oddsFutures— 包含futureId - 全局:
currencies— 无ID
有关每个频道的模式,请参阅/websocket/channels/*。
吞吐量指南
- 对于高容量频道如
odds,首选receiveType: "binary" - 使用过滤器(
sportIds、bookmakers)减少噪音 odds应被视为最新状态,而不是交易记录账本
需要完整的价格变动或收盘价?请使用 REST 历史赔率与 CLV 端点。