GATEWAY: wss://stream.odds-api.com.cn/v4/inplay
API VERSION: v4.2.8-LTS SLA 99.99% 监控台
专线直连光纤矩阵 · 毫秒级实时赔率与滚球事件流

毫秒级体育盘口API与即时赔率数据接入引擎

锐矩盘口API专为高并发体育数据平台、量化分析团队与赛事资讯系统打造。通过标准化 RESTful 快照接口与全双工 WebSocket 增量推送流,提供全球足球亚盘、欧赔、大小球、角球盘口及毫秒级滚球封盘信号(Bet-Stop)同步服务。

端到端推送延迟
< 45ms
亚太BGP多线直连
全球足球联赛覆盖
1,450+
含青年赛与次级杯赛
单场并发盘口线
280+
主力与附加盘全覆盖
HMAC-SHA256 签名鉴权 Protobuf / JSON 双协议分发 断线序列号 Seq_ID 补偿
inplay_delta_stream.json — WebSocket 实时盘口流监控
滚球 IN-PLAY 67' 阿森纳 vs 拜仁慕尼黑 [2 - 1]
MATCH_ID: rj_fb_9048217
亚盘让球 (AH) OPEN
-0.25 1.92
+0.25 1.98
滚球大小 (O/U) OPEN
大 3.5 1.86
小 3.5 2.04
封盘信号状态 SYNC
BET_STOP: FALSE
SEQ: 88492014
{
  "event_type": "ODDS_DELTA_UPDATE",
  "seq_id": 88492014,
  "server_ts": 1741529481924,
  "latency_ms": 38,
  "match_id": "rj_fb_9048217",
  "sport_id": 1,
  "inplay_clock": { "minute": 67, "second": 42, "bet_stop": false },
  "markets_delta": [
    {
      "market_id": "ah_full_time",
      "bookmaker_id": "pinnacle_direct",
      "line": "-0.25",
      "status": "ACTIVE",
      "selections": [
        { "side": "HOME", "decimal": 1.92, "hk_odds": 0.92 },
        { "side": "AWAY", "decimal": 1.98, "hk_odds": 0.98 }
      ]
    }
  ]
}
协议标准: RFC 6455 WebSocket + Zstandard 帧压缩 查看完整滚球流协议规范 →
CORE DATA ENGINE MATRIX

核心体育盘口API与实时数据流矩阵

解耦传统轮询架构的高延迟瓶颈,按早盘建模、滚球毫秒级推送、赛事危险事件封盘与多语言客户端 SDK 四个工程维度提供标准化接口。

GET /v4/football/odds/snapshot

足球盘口接口(亚盘 / 欧赔 / 大小球全维度)

提供赛前早盘(Pre-match)与滚球阶段(In-Play)全量盘口快照及历史水位轨迹查询。内置香港盘(HK)、马来盘(MY)、印尼盘(ID)与欧洲十进制赔率(Decimal)实时无损换算矩阵。

  • 覆盖全场/半场亚洲让球盘(-0.25、-0.75 等复合盘口拆分)
  • 支持主流机构多盘口线(Multi-line)主盘与附加盘同步输出
  • 角球、罚牌、波胆(Correct Score)及15分钟时段盘口
快照更新频率: 100ms 内存级刷新 探索足球盘口架构
WSS /v4/stream/inplay-delta

滚球与即时赔率流(WebSocket 增量推送)

针对高频交易与即时比分联动场景设计的全双工事件流。仅推送发生变动的水位差量包(Delta Payload)与赛场状态帧,大幅降低客户端带宽消耗与反序列化 CPU 开销。

  • 危险进攻、点球判罚、VAR介入触发 <15ms 极速 Bet-Stop 锁盘信号
  • 严格单调递增序列号(Seq_ID),保障高并发下数据包顺序一致性
  • 支持按联赛ID、比赛ID或指定机构代码动态订阅过滤(Topic Filter)
单连接承载: 500+ 场同开滚球 查阅滚球推送机制
GET /v4/mapping/entities

多源机构指数聚合与全局赛事 ID 映射系统

解决跨数据源主客队名称不一致、中立场翻转及多语种联赛命名冲突难题。统一输出全局唯一标准赛事 ID(Unified Match ID),同步聚合 25+ 家核心风控机构初盘与即时盘。

  • 内置中简、中繁、英文三语球队与联赛标准字典库
  • 自动计算市场隐含概率、返还率(Margin)及凯利离散指数
  • 赛程改期、腰斩、中断及加时赛状态机自动对齐
实体映射准确率: 99.98% 自动化校验 查看数据字典定义
SDK v4.2 (Go / Java / Node / Python)

企业级体育数据 SDK 与本地内存状态机

无需从零编写复杂的 WebSocket 心跳维持、断线重连及差量合并逻辑。官方多语言 SDK 内置线程安全的本地盘口树缓存(In-Memory Orderbook),开箱即用。

  • 自动检测 Seq_ID 断层并触发后台静默 Snapshot 补偿
  • 原生集成 Redis Stream / Kafka 消息队列投递适配器
  • 零外部重型依赖,支持容器化微服务水平扩缩容
集成周期缩短: 平均节省 80% 研发工时 获取多语言 SDK
LOW-LATENCY DISTRIBUTION TOPOLOGY

从赛场采集端到客户端内存:毫秒级光纤分发架构

在滚球交易与高频数据看板场景下,哪怕 500 毫秒的延迟也会导致打水套利穿透或无效注单风险。锐矩盘口API采用无锁环形缓冲区(Lock-free RingBuffer)与全球 BGP Anycast 边缘节点加速,将全链路耗时压缩至物理极限。

STAGE 01 · 赛场与源端采集 +6ms
球场雷达与主机构直连专线

通过球场低轨卫星及欧洲/亚洲核心数据中心交叉专线,第一时间捕获进球、红牌与主盘口变水。

STAGE 02 · 清洗与归一化引擎 +9ms
内存级异构数据对齐

基于 Rust 编写的流处理内核,在微秒级内完成异常赔率毛刺过滤、盘口线拆分与统一 Match_ID 绑定。

STAGE 03 · 差量计算与帧压缩 +5ms
Delta 状态树比对分发

对比上一状态帧,仅提取变化的盘口节点封装为增量包,体积缩减 84%,消除网络拥塞排队。

STAGE 04 · 边缘接入网关 +18ms
深圳 / 香港 / 新加坡 / 法兰克福 POP

智能就近路由接入,支持单租户独立连接池隔离,周末五大联赛洪峰期零丢包、零阻塞。

锐矩盘口API实时滚球赔率监控与低延迟节点拓扑界面
REAL-TIME TELEMETRY MATRIX
全网边缘网关实时吞吐量与毫秒级心跳监控视图
Zero Packet Loss Architecture

亚太及全球接入点实时延迟基准

基于每 5 秒一次的 ICMP / WSS Ping 双向遥测统计

HEALTHY
ap-shenzhen-bgp-01 (深圳南山核心)
14 ms
ap-hongkong-cn2-02 (香港将军澳)
21 ms
ap-singapore-eqx-01 (新加坡 Equinix)
39 ms
ap-tokyo-ty2-01 (东京品川节点)
46 ms
eu-frankfurt-de-01 (法兰克福欧洲源)
118 ms

架构性能对比:WebSocket 增量流 vs 传统 HTTP 轮询

性能指标 锐矩 WSS Delta 流 传统 REST 轮询
平均变水感知延迟 25 ~ 45 ms 1,500 ~ 5,000 ms
危险球封盘响应 < 15 ms 帧级中断 依赖下一次请求周期
百场同开带宽消耗 ~1.2 Mbps (Zstd) > 35 Mbps (全量冗余)
断线数据完整性 Seq_ID 差量回放 中间变水轨迹永久丢失
GLOBAL TOURNAMENT & MARKET DEPTH

全球足球盘口深度与实时滚球赛事覆盖

赛事层级与代表性联赛 早盘提前开盘周期 单场盘口种类 (Markets) 滚球亚盘/大小球线深度 赛场事件流 (XY坐标/危险球)
欧洲五大联赛 (英超 / 西甲 / 德甲 / 意甲 / 法甲)
League_Tier: TIER_S_ELITE · 100% 滚球覆盖
赛前 14 ~ 21 天 280+ 种细分玩法 主盘 + 上下 8 条附加盘线 毫秒级球场雷达直连
欧冠 / 欧联 / 解放者杯 / 亚冠精英联赛 / 世界杯
League_Tier: TIER_S_CONTINENTAL · 含加时赛及点球大战盘口
抽签落位后 2 小时内 260+ 种细分玩法 主盘 + 上下 6 条附加盘线 毫秒级球场雷达直连
英冠 / 荷甲 / 葡超 / 土超 / 比甲 / 苏超
League_Tier: TIER_A_EURO_SECOND
赛前 7 ~ 10 天 190+ 种细分玩法 主盘 + 上下 4 条附加盘线 全事件流 + 危险进攻锁盘
日本 J1/J2 联赛 / 韩国 K1 / 澳洲甲 / 巴甲 / 阿甲 / 美职联
League_Tier: TIER_A_APAC_LATAM
赛前 5 ~ 7 天 185+ 种细分玩法 主盘 + 上下 4 条附加盘线 全事件流 + 危险进攻锁盘
欧洲各国丙级/地区联赛 / 国际俱乐部热身赛
League_Tier: TIER_B_REGIONAL
赛前 24 ~ 72 小时 85+ 种核心玩法 主盘 + 上下 2 条附加盘线 核心比分/红黄牌/角球同步
各国U21/U19青年联赛 / 女足顶级联赛與杯赛
League_Tier: TIER_B_YOUTH_WOMEN
赛前 12 ~ 48 小时 70+ 种核心玩法 标准亚盘 / 欧赔 / 大小球 核心比分/红黄牌/角球同步
MARKET_GROUP_01 ID: 101 ~ 129

亚洲让球盘与大小球矩阵

涵盖全场(90分钟)、上半场、下半场及加时赛的让球盘(Asian Handicap)与进球大小盘(Over/Under)。针对滚球阶段提供基于当前比分归零重算的“滚球让球盘(0-0 基准)”。

MARKET_GROUP_02 ID: 201 ~ 245

角球盘口与罚牌指数专属通道

实时输出全场及半场角球让球、角球总数大小、率先获得第 3/5/7/9 个角球归属,以及黄牌/红牌罚牌积分大小盘(黄牌1分、红牌2分计分规则自动标注)。

MARKET_GROUP_03 ID: 301 ~ 380

分钟级时段盘与特殊事件盘

支持开场 1-15 分钟、16-30 分钟等 15 分钟切片进球/角球盘口;下一粒进球归属(Next Goal)、双方均进球(BTTS)、零封取胜及点球大战每轮命中赔率。

MARKET_GROUP_04 ID: 401 ~ 490

球员个人技术统计盘口 (Player Props)

针对五大联赛及欧战赛事,提供首发与替补球员任意时间进球(Anytime Goalscorer)、射正次数大小、助攻及个人领牌实时赔率接口。

全球足球联赛盘口数据与滚球实时事件采集覆盖
ANNUAL VOLUME
420,000+ 场/年

全年无休覆盖全球五大洲职业足球与篮球、网球、电竞核心赛事,历史盘口快照归档可回溯至 2016 赛季,满足量化回测与AI模型训练需求。

查看完整足球联赛 ID 列表
DEVELOPER QUICKSTART

15 分钟完成盘口鉴权与滚球流接入

告别繁琐的私有二进制协议解析。通过标准 HTTP 请求头携带 HMAC-SHA256 签名即可拉取全量盘口快照,或使用 Ticket 令牌建立长连接订阅指定赛事的实时赔率流。

01

生成 HMAC-SHA256 动态请求签名

将 API_KEY + Timestamp + Nonce + RequestPath 使用您的 API_SECRET 进行哈希签名,防重放攻击窗口精确控制在 ±30 秒。

02

初始化盘口基准快照 (Initial Snapshot)

调用 /v4/football/odds/snapshot 获取当前在售赛事的完整盘口树及基准 last_seq_id,写入本地 Redis 或内存状态表。

03

挂载 WebSocket 实时增量流

传入 from_seq_id 建立全双工通道,实时消费毫秒级水位跳动与 bet_stop 封盘指令,实现零漏帧平滑衔接。

HMAC-SHA256 + WSS Subscribe
package main

import (
    "context"
    "fmt"
    "time"
    "github.com/odds-api-cn/ruiju-sdk-go/v4/inplay"
)

func main() {
    client := inplay.NewStreamClient(&inplay.Config{
        AccessKey:   "RJ_LIVE_9928347102",
        SecretKey:   "sk_prod_8f92a7c1e4b09d32...",
        Endpoint:    "wss://stream.odds-api.com.cn/v4/inplay",
        Compression: inplay.CompressionZstd,
        AutoRecover: true, // 自动检测Seq_ID断层并触发快照补偿
    })

    // 订阅英超与欧冠滚球亚盘、大小球及危险球封盘信号
    sub := inplay.Subscription{
        SportID:   1,
        LeagueIDs: []string{"lg_epl_1", "lg_ucl_1"},
        Markets:   []string{"ah_full_time", "ou_full_time", "ah_corners"},
    }

    client.OnBetStop(func(ev *inplay.BetStopSignal) {
        fmt.Printf("[URGENT LOCK] Match=%s Reason=%s Latency=%dms\n",
            ev.MatchID, ev.TriggerReason, time.Since(ev.ServerTime).Milliseconds())
    })

    client.OnOddsDelta(func(delta *inplay.OddsDeltaPacket) {
        fmt.Printf("[SEQ:%d] Match=%s Market=%s Line=%s Home=%.2f Away=%.2f\n",
            delta.SeqID, delta.MatchID, delta.MarketID, delta.Line, delta.HomeOdds, delta.AwayOdds)
    })

    _ = client.ConnectAndSubscribe(context.Background(), sub)
}
import asyncio
import hmac, hashlib, time
from ruiju_odds_sdk import AsyncOddsStreamClient, MarketFilter

async def consume_inplay_odds():
    client = AsyncOddsStreamClient(
        api_key="RJ_LIVE_9928347102",
        api_secret="sk_prod_8f92a7c1e4b09d32...",
        region="ap-shenzhen-bgp",
        enable_local_orderbook=True
    )

    @client.on_event("ODDS_DELTA_UPDATE")
    async def handle_delta(payload: dict):
        if payload["inplay_clock"]["bet_stop"]:
            print(f"⚠️ 触发毫秒级危险球锁盘: {payload['match_id']}")
            return
        print(f"SEQ={payload['seq_id']} | 延迟={payload['latency_ms']}ms | 盘口更新={len(payload['markets_delta'])}条")

    await client.subscribe(
        sport_id=1,
        markets=[MarketFilter.ASIAN_HANDICAP, MarketFilter.OVER_UNDER, MarketFilter.CORNERS]
    )

if __name__ == "__main__":
    asyncio.run(consume_inplay_odds())
import { RuiJuOddsStream, OddsFormat } from '@odds-api-cn/sdk-node';

const stream = new RuiJuOddsStream({
  accessKey: process.env.RUIJU_ACCESS_KEY!,
  secretKey: process.env.RUIJU_SECRET_KEY!,
  oddsFormat: OddsFormat.HONG_KONG, // 自动输出香港盘与欧赔双字段
  heartbeatIntervalMs: 3000,
});

stream.on('betStop', (signal) => {
  console.warn(`[BET_STOP] Match ${signal.matchId} suspended at ${signal.minute}'`);
});

stream.on('marketDelta', (packet) => {
  for (const m of packet.marketsDelta) {
    console.log(`[${packet.seqId}] ${packet.matchId} ${m.marketId} (${m.line}):`, m.selections);
  }
});

await stream.connect({ sportId: 1, inplayOnly: true });
import cn.com.oddsapi.sdk.RuiJuStreamClient;
import cn.com.oddsapi.sdk.model.OddsDeltaEvent;

public class InPlayConsumer {
    public static void main(String[] args) {
        RuiJuStreamClient client = RuiJuStreamClient.builder()
            .credentials("RJ_LIVE_9928347102", "sk_prod_8f92a7c1e4b09d32...")
            .endpoint("wss://stream.odds-api.com.cn/v4/inplay")
            .ringBufferSize(65536) // 内置Disruptor无锁队列
            .build();

        client.registerDeltaListener((OddsDeltaEvent event) -> {
            if (event.isBetStop()) {
                RiskEngine.suspendMarketImmediately(event.getMatchId());
                return;
            }
            OrderbookCache.applyDelta(event.getSeqId(), event.getMarketsDelta());
        });

        client.start();
    }
}
MULTI-LANGUAGE SDK ECOSYSTEM

官方维护的体育数据 SDK 与包管理器矩阵

查看 SDK 基准测试与更新日志
Go SDK v4.2.3

基于 Goroutine 协程池与零拷贝 JSON/Protobuf 解析器,单实例可稳定消费全网并发滚球流。

go get github.com/odds-api-cn/ruiju-sdk-go/v4
Requires Go >= 1.21 ● Stable
Java SDK v4.2.1

底层采用 Netty NIO 与 LMAX Disruptor 环形队列,提供 Spring Boot 3.x Starter 自动装配模块。

cn.com.oddsapi:ruiju-odds-spring-starter:4.2.1
JDK 17 / 21 LTS ● Stable
Node / TS SDK v4.2.5

完整 TypeScript 强类型声明(盘口类型、赛事状态枚举),支持 Node.js 与 Bun 高速运行时。

npm i @odds-api-cn/sdk-node
Node >= 18.x / Bun ● Stable
Python SDK v4.2.0

基于 asyncio 与 orjson 加速,内置历史盘口转 Pandas DataFrame / Polars 量化分析工具集。

pip install ruiju-odds-sdk[quant]
Python >= 3.10 ● Stable
PRODUCTION SLA 99.99% 金融级高可用保障

面向周末赛事洪峰与重大杯赛的工程级稳定性承诺

体育盘口系统最大的挑战在于周六日晚间欧洲联赛集中开赛时的瞬时百倍流量脉冲。深圳锐矩数智科技有限公司为企业级订阅伙伴提供独立物理隔离网关、双活数据中心热备切换与 7×24 小时 NOC 值守工程师直通支持。

DEDICATED VIP GATEWAY
独享连接池与自定义 QPS 配额

支持 IP 白名单专线直连,消除公共网关邻居噪声干扰,快照请求配额最高可扩展至 5,000 req/s。

IDEMPOTENT REPLAY
72 小时滑动窗口事件回放

当您的下游服务升级重启时,可通过任意历史时间戳或 Seq_ID 完整重放错过的滚球变水与结算信号。

NOC 生产环境监控与支持中心 7×24h 在线响应
运营主体: 深圳锐矩数智科技有限公司
开发者支持专线: +86-755-86729310
工程技术邮箱: dev-support@odds-api.com.cn
P0 级故障响应 SLA: ≤ 5 分钟架构师介入
研发中心地址: 广东省深圳市南山区粤海街道高新南九道45号西北工业大学三航科技大厦16层1605室