请注意:本页面接口为第三方实现接口后接入B站。 第三方实现接口需要按照统一签名规范进行实现。 文档参考:三方接口实现标准
- 第三方实现签名,签名版本使用1.0
绑定角色信息查询#
接口说明:通过调用该接口可以查询b站用户与第三方平台绑定的信息
demo_path(仅供参考):https://your_service_domain/user_bind_info
请求方式 :POST
JsonBody参数:
| 名称 | 类型 | 是否必填 | 示例 | 描述 |
|---|---|---|---|---|
| open_id | string | 是 | bilibiliuser | 厂商的用户在B站的唯一标识 |
| uid | int64 | 否 | 123456 | 用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段 |
| biz_code | string | 是 | bili_fgo | 业务标识 |
已绑定用户响应参数:
json
{
"code": 0,
"message": "success",
"request_id": "xxxxxx",
"data": {
"is_bind":true,
"role_id":"角色id",
"role_name":"角色名",
"area_name":"分区名",
"platform_name":"ios"
}
}奖励发放接口#
接口说明:可以让B站开放平台调用该接口通知第三方平台发放相关奖励
demo_path(仅供参考):https://your_service_domain/send_reward
请求方式 :POST
JsonBody参数:
| 名称 | 类型 | 是否必填 | 示例 | 描述 |
|---|---|---|---|---|
| open_id | string | 是 | bilibiliuser | 游戏厂商的用户在B站的唯一标识 |
| uid | int64 | 否 | 123456 | 用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段 |
| transaction_id | string | 是 | bilibilitransactionid123456 | 交易号 |
| award_id | string | 是 | login_award_1 | 奖励ID |
| num | int | 是 | 1 | 奖励数量 |
| biz_code | string | 是 | bili_fgo | 业务标识 |
响应参数:
json
{
"code": 0,
"message": "success",
"request_id": "xxxxxx",
"data": {
}
}奖励状态查询接口#
接口说明:通过调用该接口可以根据transaction_id查询B站用户的奖励发放情况
demo_path(仅供参考):https://your_service_domain/get_reward_status
请求方式 :POST
JsonBody参数:
| 名称 | 类型 | 是否必填 | 示例 | 描述 |
|---|---|---|---|---|
| open_id | string | 否 | bilibiliuser | 游戏厂商的用户在B站的唯一标识 |
| uid | int64 | 否 | 123456 | 用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段 |
| transaction_id | string | 是 | bilibilitransactionid123456 | 交易号 |
| biz_code | string | 是 | bili_fgo | 业务标识 |
响应参数:
json
{
"code": 0,
"message": "success",
"request_id": "xxxxxx",
"data": {
}
}任务列表查询接口#
接口说明:通过调用该接口可以查询B站用户在第三方平台的任务完成情况
**注:如果为B站内任务(如观看直播、签到等任务)不需要实现该接口,如果是厂商游戏内的任务则需要实现该接口**demo_path(仅供参考):https://your_service_domain/get_task_list
请求方式 :POST
JsonBody参数:
| 名称 | 类型 | 是否必填 | 示例 | 描述 |
|---|---|---|---|---|
| task_ids | []string | 是 | ["task1", "task2"] | 多个任务ID(参考code:-1202) |
| open_id | string | 是 | bilibiliuser | 游戏厂商的用户在B站的唯一标识 |
| uid | int64 | 否 | 123456 | 用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段 |
| biz_code | string | 是 | bili_fgo | 业务标识 |
响应参数:
json
{
"code": 0,
"message": "success",
"request_id": "xxxxxx",
"data": {
"list": [
{
// 任务ID
"task_id": "123456",
// 当前值
"current_value": 0,
// 目标值
"target_value": 0,
// 任务完成状态:0=已完成;1=未完成;-1=状态异常(用来标识未约定的其他异常)
"receive_status": 0
}
]
}
}
成功示例返回:
text
{
"code":0,
"message":"success",
"request_id": "xxxxxx",
"data":{
"list":[
{
"task_id":"1234567",
"current_value":0,
"target_value":0,
"receive_status":0
}
]
}
}异常任务示例返回:
场景:用户存在任务task_1、task_2,入参task_ids=["task_1","task_3"]的时候,接口返回:
text
{
"code":-1202,
"message":"任务不存在",
"request_id": "xxxxxx",
"data":{
"list":[
{
"task_id":"task_1",
"current_value":0,
"target_value":0,
"receive_status":0
}
]
}
}第三方侧实现的接口业务错误码约定#
| 错误码 | 含义 | B站侧处理逻辑 |
|---|---|---|
| 0 | 成功 | |
| -1000 | 发奖失败,但是可重试 | 会进行重试,最大5次。 |
| -1001 | 标识奖励总库存到达上限 | 提示用户库存不足 |
| -1002 | 标识达到用户级别库存上限 | 提示用户库存不足 |
| -1003 | 标识用户已经领取过 | 直接更新为领取状态 |
| -1004 | 奖励超过可领取时间 | 直接提示用户 |
| -1005 | 奖励订单未找到 | 重试发奖,单次重试间隔调为100ms,单次重试最多3次。 |
| -1006 | 奖励ID不存在 | 直接报错,提示到运营侧 |
| -1007 | (一般发生在道具售卖场景) 标识用户未成年 | 提示用户,进行退款。购买消耗的电池,原路返回。 |
| -1100 | 用户授权状态失效 | 提示用户授权,或更新授权 |
| -1101 | 用户黑名单,风控等 | 提示用户游戏账号异常 |
| -1202 | 任务不存在 | 入参传入的任务ID,任一不存在都返回该code,并且不存在的任务信息,不在list中返回,可参考接口返回示例)。 |
| -1301 | 操作太快了 | 提示用户重试 |
参数说明#
| 入参 | 类型 | 说明 |
|---|---|---|
| transaction_id | string | 最大64位,b站的唯一订单号用于幂等,方便双方排查使用。 |
| open_id | string | 最大32位,游戏厂商的用户在B站的唯一标识。 |
| award_id | string | 最大64位,奖励包裹的唯一标识。 |
| task_id | string | 任务ID |
| task_ids | []string | []最大长度10的字符串数组,多个任务。 |
| target_value | int64 | 任务目标值 |
| receive_status | int64 | 任务完成状态:0=已完成;1=未完成;-1=状态异常。 |
| current_value | int64 | 用户的当前任务进度 |