订阅 / 取消
| 方向 | code | 说明 |
|---|---|---|
| 客户端订阅 | 20200 | data 必填 |
| 服务端订阅成功 | 20201 | |
| 客户端取消 | 21200 | |
| 服务端取消成功 | 21210 |
订阅实时比分
{
"code": 20200,
"trace": "score-sub-001",
"data": {
"match_id": null
}
}
推送外层字段(score_update)
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
type | 是 | string | 固定 score_update |
data | 是 | object | 单场比分数据 |
timestamp | 是 | string | 服务端推送时间 |
data 字段说明
| 字段 | 是否一定有 | 类型 | 说明 |
|---|---|---|---|
type | 通常有 | string | 一般为 score |
match_id | 通常有 | string | 比赛 ID |
home_team | 通常有 | string | 主队名称 |
away_team | 通常有 | string | 客队名称 |
league | 可能为空 | string | 联赛名称 |
match_time | 可能为空 | string | 开赛时间 |
status | 可能为空 | string | 比赛状态 |
phase | 可能为空 | string | 阶段,如 1H(上半场)、HT(中场)、2H(下半场)、FT(完场) |
minute | 可能为空 | int | 当前分钟 |
home_score | 通常有 | int | 主队当前进球数 |
away_score | 通常有 | int | 客队当前进球数 |
ht_score | 可能为空 | string | 半场比分,如 "1-0" |
reg_score | 可能为空 | string | 常规时间比分 |
et_score | 可能为空 | string | 加时赛比分 |
penalty_score | 可能为空 | string | 点球大战比分 |
source_updated_at | 可能为空 | string | 数据源更新时间 |
push_ts | 可能为空 | string | 上游推送时间 |
received_at | 可能为空 | string | 服务端接收时间 |
home_score/away_score/ht_score/reg_score/et_score/penalty_score 这几个比分字段的口径,与 REST 实时比分接口 完全一致。实时比分推送示例
{
"type": "score_update",
"data": {
"type": "score",
"match_id": "1234567",
"home_team": "Manchester United",
"away_team": "Arsenal",
"league": "Premier League",
"match_time": "2026-07-13T15:00:00Z",
"status": "live",
"phase": "2H",
"minute": 67,
"home_score": 2,
"away_score": 1,
"ht_score": "1-0",
"reg_score": "2-1",
"et_score": null,
"penalty_score": null,
"source_updated_at": "2026-07-13T15:67:01Z",
"push_ts": "2026-07-13T15:67:01.123Z",
"received_at": "2026-07-13T15:67:01.200Z"
},
"timestamp": "2026-07-13T15:67:01.250Z"
}