快速开始
三步接入足球数据开放平台:提交申请 → 调用 REST 接口 → 订阅实时数据。
API Key 只放在你的服务端。浏览器和 App 里的代码只拿你的服务端换来的一次性票据或组件令牌。 密钥规则(先读这一节) →
1
2
调用 REST 接口
在你的服务端,请求头带 X-API-Key 即可调用任意接口。接口列表见接口文档。
Terminal
curl https://api.sports.csap.ai/api/v1/matches/schedule/diary \-H "X-API-Key: kid_your_id.your_secret"
Node 服务端(fetch)示例:
Node.js
const res = await fetch("https://api.sports.csap.ai/api/v1/matches/schedule/diary", { headers: { "X-API-Key": process.env.API_KEY } }) const data = await res.json()
3
订阅实时数据
先用 Key 换一张一次性票据(60 秒内有效,只能用一次),再用票据连接 WebSocket,连上后发送订阅消息。Key 不会出现在 WebSocket 地址里;换票据这一步放在你的服务端,浏览器只拿票据。需要 Key 开通实时推送。
① 你的服务端:用 Key 换票据,把结果交给前端
Node.js
const ticketRes = await fetch("https://api.sports.csap.ai/api/v1/realtime/ticket", { method: "POST", headers: { "X-API-Key": process.env.API_KEY } }) const { data: ticket } = await ticketRes.json() // { ticket, expires_in: 60, ws_url }
② 浏览器或 App:只用票据连接
JavaScript
const ws = new WebSocket("wss://api.sports.csap.ai" + ticket.ws_url) ws.onopen = () => { ws.send(JSON.stringify({ action: "set", channels: ["match", "incident"] })) } ws.onmessage = (ev) => { const msg = JSON.parse(ev.data) console.log("realtime:", msg) }