用户战绩与排行榜
收藏
我的收藏更新记录
时间 | 更新内容 |
2024.07.16 | 创建文档 |
2024.08.08 |
|
一、整体流程
测试环境前置准备流程:•在开发者平台添加调试成员。
•接口上传数据,需指定上传到测试环境,详情可以参考接口明细。
二、接入时序
三、接口明细
设置当前生效的世界榜单版本
接口说明
设置线上环境/测试环境生效的世界榜单版本,设置后,小摇杆的「世界榜」将展示新世界榜单版本的数据。
使用限制
小玩法app_id纬度,qps限流配置为 5/s。
基本信息
名称 | 描述 |
HTTP URL | |
HTTP Method | POST |
请求头
名称 | 字段类型 | 是否必填 | 示例 | 描述 |
content-type | String | 是 | "application/json" | 固定值 |
X-Token | String | 是 | xxxxxx |
请求参数
- •Body
名称 | 字段类型 | 是否必填 | 示例 | 描述 |
app_id | String | 是 | tt411d37a0xxxxx | 小玩法app_id |
is_online_version | Bool | 是 | FALSE | 当前上传的是测试数据还是线上生效的数据;false为测试数据 |
world_rank_version | String | 是 | 1722239345 | 当前榜单的生效版本(自定义),每个玩法只有一个生效版本 |
请求示例
curl --location 'https://webcast.bytedance.com/api/gaming_con/world_rank/set_valid_version' \ --header 'Content-Type: application/json' \ --header 'X-Token: 08011218462b61527a75317975576630744f4f46386f5' \ --data '{"world_rank_version": "1722239345","is_online_version": false,"app_id": "tt411d37a0dxxxxx" }'
响应参数
- •Body
名称 | 字段类型 | 是否必填 | 描述 |
errmsg | String | 是 | 错误描述 |
errcode | Int64 | 是 | 错误码,0代表成功 |
响应示例
正常响应示例
{"errcode": 0,"errmsg": ""}
异常响应示例
{"errcode": 40001,"errmsg": "request params are invalid"}
错误码
http状态码 | 错误码 | 错误码描述 | 排查建议 |
200 | 40001 | 参数错误 | 请求体中的必传参数是否都上传、请求的小玩法app_id是否与请求时access_token相匹配 |
200 | 4014034 | 请求过于频繁 | 接口有频控限制,建议降低请求的并发量 |
200 | 10037 | 请求并发调用拦截 | app_id维度同时只允许一个请求设置世界榜单版本,请勿并发调用 |
200 | 40004 | access_token过期 | 重新生成access_token |
上传世界榜单列表数据
接口说明
设置正式环境/测试环境的世界榜单列表数据,榜单列表是指Top 150 的用户数据。如果接口调用的列表长度为 20,则表示榜单列表只展示Top 20的用户数据。
当到达定期更新世界榜单列表的时机时,调用一次,一次性上报世界榜单Top 150,如果调用第二次,第一次的数据会被覆盖,因为底层是以
榜单版本world_rank_version
为维度存储,榜单版本world_rank_version
维度重复上报,是覆盖写的逻辑;•比如:世界榜单更新逻辑是,每1分钟更新一次
◦8:00:调用【上传世界榜单列表数据】接口一次,一次性上报当前时刻的世界榜单Top 150;
◦8:01:调用【上传世界榜单列表数据】接口一次,一次性上报当前时刻的世界榜单Top 150,8:00上报的数据,将被8:01这次上报的覆盖;
建议 每 30s 调用一次,刷新最新的Top 150,保障榜单数据时效
使用限制
小玩法app_id纬度,qps限流配置为 5/s。
基本信息
名称 | 描述 |
HTTP URL | |
HTTP Method | POST |
请求头
名称 | 字段类型 | 是否必填 | 描述 |
content-type | String | 是 | 固定值"application/json" |
X-Token | String | 是 |
请求参数
- •Body
名称 | 字段类型 | 是否必填 | 描述 | |
app_id | String | 是 | 小玩法app_id | |
world_rank_version | String | 是 | 开发者指定上传到的榜单版本 | |
is_online_version | Bool | 是 | 是否是线上版本,默认为false,false为测试数据 | |
rank_list | [Array Item] | 是 | 世界榜单列表 | |
| open_id | String | 是 | 用户的open_id |
rank | Int64 | 是 | 世界榜单排名,从1开始 | |
score | Int64 | 是 | 当前用户的世界榜单积分 | |
winning_streak_count | Int64 | 是 | 当前用户的连胜次数,如果没有连胜记录传0 | |
winning_points | Int64 | 是 | 当前用户的胜点记录,如果没有胜点记录传0 |
请求示例
curl --location --request POST 'https://webcast.bytedance.com/api/gaming_con/world_rank/upload_rank_list' \ --header 'X-Token: 0801121846735352506a356a6' \ --header 'content-type: application/json' \ --data '{"is_online_version":false,"app_id":"tt411d37a0dexxxx","world_rank_version":"1722239345","rank_list":[{"rank":12,"open_id":"HdGIJRpFG1","winning_points":100,"score":100,"winning_streak_count":2}]}'
响应参数
- •Body
名称 | 字段类型 | 是否必填 | 描述 |
errmsg | String | 否 | 错误描述 |
errcode | Int64 | 否 | 错误码,0代表成功 |
响应示例
正常响应示例
{"errmsg": "","errcode": 0}
异常响应示例
{"errcode": 40004,"errmsg": "access token is expired"}
错误码
http状态码 | 错误码 | 错误码描述 | 排查建议 |
200 | 40001 | 参数错误 | 请求体中的必传参数是否都上传、请求的小玩法app_id是否与请求时access_token相匹配等 |
200 | 4014034 | 请求过于频繁 | 接口有频控限制,建议降低请求的并发量 |
200 | 10011 | 榜单排名有误 | 请检查上传的榜单排名是否为负数、榜单积分顺序是否有误(前一个排名积分需要大于后一个排名积分) |
200 | 40004 | access_token过期 | 重新生成access_token,重新请求 |
上报用户世界榜单的累计战绩
接口说明
上报用户世界榜单的累计战绩,单次调用最多上报50个用户战绩。
本接口和【上传世界榜单列表数据】接口逻辑是不一样的。
- •【上传世界榜单列表数据】接口是一次性上传排好序的榜单Top 150的用户数据,数据直接展示在小摇杆的「世界榜」的榜单中,平台不做特殊处理,直接展示;底层是以
榜单版本world_rank_version
为维度存储,榜单版本world_rank_version
维度重复上报,是覆盖写的逻辑;