Bbili-open-mcpMCP
★

通用奖励接口

guide#57第三方平台需实现以下接口

**请注意:本页面接口为第三方实现接口后接入B站。

请注意:本页面接口为第三方实现接口后接入B站。 第三方实现接口需要按照统一签名规范进行实现。 文档参考:三方接口实现标准

  • 第三方实现签名,签名版本使用1.0

绑定角色信息查询#

接口说明:通过调用该接口可以查询b站用户与第三方平台绑定的信息

demo_path(仅供参考):https://your_service_domain/user_bind_info

请求方式 :POST

JsonBody参数:

名称类型是否必填示例描述
open_idstring是bilibiliuser厂商的用户在B站的唯一标识
uidint64否123456用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段
biz_codestring是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_idstring是bilibiliuser游戏厂商的用户在B站的唯一标识
uidint64否123456用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段
transaction_idstring是bilibilitransactionid123456交易号
award_idstring是login_award_1奖励ID
numint是1奖励数量
biz_codestring是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_idstring否bilibiliuser游戏厂商的用户在B站的唯一标识
uidint64否123456用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段
transaction_idstring是bilibilitransactionid123456交易号
biz_codestring是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_idstring是bilibiliuser游戏厂商的用户在B站的唯一标识
uidint64否123456用于游戏\应用本身就接入的B站账号体系SDK,已有用户UID的情况下进行才会传输该字段
biz_codestring是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_idstring最大64位,b站的唯一订单号用于幂等,方便双方排查使用。
open_idstring最大32位,游戏厂商的用户在B站的唯一标识。
award_idstring最大64位,奖励包裹的唯一标识。
task_idstring任务ID
task_ids[]string[]最大长度10的字符串数组,多个任务。
target_valueint64任务目标值
receive_statusint64任务完成状态:0=已完成;1=未完成;-1=状态异常。
current_valueint64用户的当前任务进度

原始文档:057_通用奖励接口.md(8597 字节)。用 bili_docs_get { "ref": "57" } 读全文,用 bili_docs_search { "query": "…" } 检索。