跳转至

领头羊 API

先决条件

要使用排行榜 API,必须准备以下项目:

  • 用于API调用的身份验证令牌(认证密钥): Hive 控制台 > 应用中心 > 管理项目 > 游戏详情 > 基本信息 > 认证密钥
  • 要使用的排行榜ID: Hive 控制台 > 排行榜 > 管理排名

请求 URL

服务器 URL
直播 api-leaderboard.withhive.com
沙盒 sandbox-api-leaderboard.withhive.com

响应代码

API的常见响应代码。

代码 描述
200 成功 -
400 错误请求 无效的 leaderboardId 或参数输入
401 未授权 请求消息的授权头缺失或其值无效
403 禁止 API 调用的认证令牌(认证密钥)无效
500 服务器内部错误 服务器内部出现问题

提交分数

在排行榜上存储分数。

请求 URL

实时 URL https://api-leaderboard.withhive.com/leaderboards/{leaderboardId}/score
沙盒 URL https://sandbox-api-leaderboard.withhive.com/leaderboards/{leaderboardId}/score
HTTP 方法 POST
内容类型 application/json

路径参数

字段名称 描述 类型 必需
leaderboardId 排行榜 ID 字符串

头部参数

字段名称 描述 类型 必需
授权 调用 API 的身份验证令牌(Bearer) 字符串

请求体

字段名称 描述 类型 必填
playerId 账户标识符 long Y
score 这是要在排名中注册的分数。最多可以输入15位数字(999,999,999,999,999)。 integer Y
achievementTimeUtc 记录分数的时间(基于UTC+0)。格式为yyyy-MM-dd'T'HH:mm:ss.SSS string Y
extraData 这是playerid账户的附加信息(昵称、等级、国家等)。最多可以输入256个字符。 string N

响应

如果是 200 OK,响应体是空的。

请求示例

curl --location 'https://sandbox-api-leaderboard.withhive.com/leaderboards/1/score'
 --header 'Content-Type: application/json'
 --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'
 --data '{
"playerId": 1000,
"score": 87,
"achievementTimeUtc": "2023-12-19T15:01:01.004",
"extraData": "Lv.14|User1|KR"
}'

删除分数(删除用户信息)

删除在排行榜上注册的用户信息。

请求 URL

直播 URL https://api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/{playerId}
沙盒 URL https://sandbox-api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/{playerId}
HTTP 方法 DELETE
内容类型 application/json

路径参数

字段名称 描述 类型 必需
leaderboardId 排行榜 ID 字符串
playerId 账户标识符 字符串

头部参数

字段名称 描述 类型 必需
Authorization 调用API的身份验证令牌(Bearer) 字符串

响应

如果是200 OK,响应体是空的。

请求示例

curl --location
--request DELETE 'https://sandbox-api-leaderboard.withhive.com/leaderboards/1/players/1004'
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'
--data ''

查询坦克:逐页查询

从顶部逐页查询排名。

请求 URL

实时 URL https://api-leaderboard.withhive.com/leaderboards/{leaderboardId}/ranks
沙盒 URL https://sandbox-api-leaderboard.withhive.com/leaderboards/{leaderboardId}/ranks
HTTP 方法 GET
内容类型 application/json

路径参数

字段名称 描述 类型 必需
leaderboardId 排行榜 ID 字符串

头部参数

字段名称 描述 类型 必需
授权 API 调用所需的身份验证令牌(Bearer) 字符串

查询参数

字段名称 描述 类型 必需
page 请求的页码。从1开始,默认是1。如果值为5,则仅查询第5页的内容。 整数
rowcount 每页显示的排名信息数量。最大100,默认是100。 整数
requesttimeutc 查询的基准时间(基于UTC+0)。默认是当前时间。格式为yyyy-MM-dd'T'HH:mm:ss.SSS 字符串
playerid 如果存在playerid账户的排名信息,则查询该玩家的排名信息。 长整型

响应

字段名称 描述 类型
rankingList 排名数据列表 json 数组
rankingList[].rank 排名 整数
rankingList[].playerId 账户标识符 长整型
rankingList[].score 分数 长整型
rankingList[].achievementTimeUtc 分数注册时间(基于 UTC+0)。格式: yyyy-MM-dd'T'HH:mm:ss.SSS 字符串
rankingList[].extraData 账户的附加信息(昵称、等级、国家等) 字符串
playerRank 提供的 playerid 在查询参数中的用户排名信息(仅在查询参数中存在 playerid 信息时返回) json
playerRank.rank 排名 整数
playerRank.playerId 账户标识符 长整型
playerRank.score 分数 长整型
playerRank.achievementTimeUtc 分数注册时间(基于 UTC+0),格式: yyyy-MM-dd'T'HH:mm:ss.SSS 字符串
playerRank.extraData 账户的附加信息(昵称、等级、国家等) 字符串

请求示例

curl --location 'https://sandbox-api-leaderboard.withhive.com/leaderboards/1/ranks?page=1&rowcount=100&playerid=1000&requesttimeutc=2023-12-19T15%3A01%3A01.004'
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

响应示例

{
    "rankingList": [
        {
            "rank": 1,
            "playerId": 1001,
            "score": 89,
            "achievementTimeUtc": "2023-12-19T15:02:02.004",
            "extraData": "Lv.50|User1|KR"
        }, {
            "rank": 2,
            "playerId": 1000,
            "score": 87,
            "achievementTimeUtc": "2023-12-19T15:01:01.004",
            "extraData": "Lv.50|User14|KR"
        }
    ],
    "playerRank": {
        "rank": 2,
        "playerId": 1000,
        "score": 87,
        "achievementTimeUtc": "2023-12-19T15:01:01.004",
        "extraData": "Lv.50|User14|KR"
    }
}

如果在查询参数中未提供 playerid,则结果将不包括 playerRank。如果提供了,但该账户没有排名信息,则 playerRank 将以以下格式返回:

"playerRank": null

查询排名:查询特定用户排名信息

查询特定用户的排名信息。

请求 URL

实时 URL https://api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/{playerId}/ranks
沙盒 URL https://sandbox-api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/{playerId}/ranks
HTTP 方法 GET
内容类型 application/json

路径参数

字段名称 描述 类型 必需
leaderboardId 排行榜 ID 字符串
playerId 账户标识符 字符串

头部参数

字段名称 描述 类型 必需
授权 API 调用所需的身份验证令牌(Bearer) 字符串 Y

查询参数

字段名称 描述 类型 必需
requesttimeutc 查询的基准时间(基于 UTC+0),格式:yyyy-MM-dd'T'HH:mm:ss.SSS 字符串

响应

字段名称 描述 类型
playerRank.rank 排名 整数
playerRank.playerId 账户标识符 长整型
playerRank.score 分数 长整型
playerRank.achievementTimeUtc 分数注册时间(基于 UTC+0),格式:yyyy-MM-dd'T'HH:mm:ss.SSS 字符串
playerRank.extraData 账户的额外信息(昵称、等级、国家等) 字符串

请求示例

curl --location 'https://sandbox-api-leaderboard.withhive.com/leaderboards/1/players/1000/ranks?requesttimeutc=2023-12-19T15%3A01%3A01.004'
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

响应示例

{
    "playerRank": {
        "rank": 2,
        "playerId": 1000,
        "score": 87,
        "achievementTimeUtc": "2023-12-19T15:01:01.004",
        "extraData": "Lv.50|User14|KR"
    }
}

查询排名:特定用户的排名信息

查询特定用户的排名信息。您可以获得特定用户周围前50名或后50名用户的排名信息。

请求 URL

实时 URL https://api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/{playerId}/ranks
沙盒 URL https://sandbox-api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/{playerId}/ranks
HTTP 方法 GET
内容类型 application/json

路径参数

字段名称 描述 类型 必需
leaderboardId 排行榜 ID 字符串
playerId 账户标识符 字符串

头部参数

字段名称 描述 类型 必需
Authorization 进行 API 调用所需的身份验证令牌 (Bearer) 字符串 Y

查询参数

字段名称 描述 类型 必需
nearby playerId 周围的排名数量。最多 100 个。 整数 Y
requesttimeutc 查询的基准时间 (UTC+0),格式:yyyy-MM-dd'T'HH:mm:ss.SSS 字符串 N

回复

字段名称 描述 类型
rankingList 排名数据列表 json 数组
rankingList[].rank 排名 整数
rankingList[].playerId 账户标识符 长整型
rankingList[].score 分数 长整型
rankingList[].achievementTimeUtc 分数注册时间(UTC+0),格式:yyyy-MM-dd'T'HH:mm:ss.SSS 字符串
rankingList[].extraData 账户的附加信息(昵称、等级、国家等) 字符串
playerRank 在路径参数中输入的 playerid 的用户排名信息 json
playerRank.rank 排名 整数
playerRank.playerId 账户标识符 长整型
playerRank.score 分数 长整型
playerRank.achievementTimeUtc 记录分数的时间(UTC+0),格式为 yyyy-MM-dd'T'HH:mm:ss.SSS 字符串
playerRank.extraData 账户的附加信息(昵称、等级、国家等) 字符串

请求示例

curl --location 'https://sandbox-api-leaderboard.withhive.com/leaderboards/1/players/1000/ranks?nearby=100&requesttimeutc=2023-12-19T15%3A01%3A01.004'
 --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

响应示例

{
    "rankingList": [
        {
            "rank": 1,
            "playerId": 1001,
            "score": 89,
            "achievementTimeUtc": "2023-12-19T15:02:02.004",
            "extraData": "Lv.50|User1|KR"
        }, {
            "rank": 2,
            "playerId": 1000,
            "score": 87,
            "achievementTimeUtc": "2023-12-19T15:01:01.004",
            "extraData": "Lv.50|User2|KR"
        }, {
            "rank": 3,
            "playerId": 1002,
            "score": 70,
            "achievementTimeUtc": "2023-12-19T15:02:02.004",
            "extraData": "Lv.50|User3|KR"
        }
    ],
        "playerRank": {
            "rank": 2,
            "playerId": 1000,
            "score": 87,
            "achievementTimeUtc": "2023-12-19T15:01:01.004",
            "extraData": "Lv.50|User2|KR"
        }    
}

查询排行榜用户数量

查询在排行榜上注册的用户总数。

请求 URL

直播网址 https://api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/count
沙盒网址 https://sandbox-api-leaderboard.withhive.com/leaderboards/{leaderboardId}/players/count
HTTP 方法 GET
内容类型 application/json

路径参数

字段名称 描述 类型 必需
leaderboardId 排行榜ID 字符串

头部参数

字段名称 描述 类型 必需
授权 进行 API 调用所需的身份验证令牌 (Bearer) 字符串 Y

查询参数

字段名称 描述 类型 必填
requesttimeutc 查询的基准时间(UTC+0),如果未输入,则以当前时间为基础,格式:yyyy-MM-dd'T'HH:mm:ss.SSS 字符串

响应

字段名称 描述 类型
count 注册用户数量 整数

请求示例

curl --location 'https://sandbox-api-leaderboard.withhive.com/leaderboards/1/players/count?requesttimeutc=2023-12-19T15%3A01%3A01.004'
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

响应示例

{
    "count": 3;
}