bilibili-API-collect/docs/electric/Bcoin.md
Northern_Lights da24448000
Some checks failed
deploy and publish / build-and-deploy (push) Has been cancelled
revert 7809924e2d
revert delete all
2026-01-29 09:03:04 +00:00

10 KiB
Raw Blame History

B币方式充电

以前充电是电池的概念1B币折合10电池一般地充电10电池可获得1经验

目前2020/12/02后则是贝壳的概念1B币折合1贝壳、1经验如果存在小数点则经验值向下取整即2.5B币获得2经验

新版本B币充电

https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick

请求方式POST

认证方式CookieSESSDATA

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
bp_num num 贝壳数量 必要 必须在2-9999之间
is_bp_remains_prior bool 是否优先扣除B币余额 必要 [true,false]B币充电请选择true
up_mid num 充电对象用户mid 必要
otype str 充电来源 必要 up空间充电
archive视频充电
oid num 充电来源代码 必要 空间充电充电对象用户mid
视频充电稿件avid
csrf str CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功并不代表充电成功
-101账号未登录
-111csrf校验失败
-400请求错误
-500服务器错误
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data对象:

字段 类型 内容 备注
mid num 本用户mid
up_mid num 目标用户mid
order_no str 留言token 用于添加充电留言
bp_num str 充电贝壳数
exp num 获得经验数
status num 返回结果 4成功
-2低于20电池下限
-4B币不足
msg str 错误信息 默认为空

示例:

以空间的方式向用户mid=293793435充了2贝壳得到2经验留言token为BPRG5CEC3VUPOOANA540

此时data.status=4

自己给自己冲QAQ

curl 'https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick' \
--data-urlencode 'bp_num=2' \
--data-urlencode 'is_bp_remains_prior=true' \
--data-urlencode 'up_mid=293793435' \
--data-urlencode 'otype=up' \
--data-urlencode 'oid=293793435' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "mid": 293793435,
        "up_mid": 293793435,
        "order_no": "BPRG5CEC3VUPOOANA540",
        "bp_num": 2,
        "exp": "2",
        "status": 4,
        "msg": ""
    }
}

当所充电贝壳数小于2时充电不会成功

此时data.status=-2

curl 'https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick' \
--data-urlencode 'bp_num=1' \
--data-urlencode 'is_bp_remains_prior=true' \
--data-urlencode 'otype=up' \
--data-urlencode 'oid=293793435' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "mid": 0,
        "up_mid": 0,
        "order_no": "",
        "bp_num": "0",
        "exp": 0,
        "status": -2,
        "msg": "elec raw order create failed: 88201"
    }
}

当所充贝壳数折合的B币数不足时充电也不会成功

此时data.status=-4

curl 'https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick' \
--data-urlencode 'bp_num=99' \
--data-urlencode 'is_bp_remains_prior=true' \
--data-urlencode 'up_mid=293793435' \
--data-urlencode 'otype=up' \
--data-urlencode 'oid=293793435' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "mid": 0,
        "up_mid": 0,
        "order_no": "",
        "bp_num": "0",
        "exp": 0,
        "status": -4,
        "msg": "bp.to.battery http failed, invalid args, errNo=800409904: B 币余额不足"
    }
}

老版本B币充电

老版本目前已过期调用接口成功后code返回0data.status会返回0且B币不会消耗贝壳也不会增加。以下是历史信息

查看折叠内容

https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick

请求方式POST

认证方式CookieSESSDATA

正文参数( application/x-www-form-urlencoded

参数名 类型 内容 必要性 备注
elec_num num 充电电池数量 必要 必须在2-9999之间
up_mid num 充电对象用户mid 必要
otype str 充电来源 必要 up空间充电
archive视频充电
oid num 充电来源代码 必要 空间充电充电对象用户mid
视频充电稿件avid
csrf str CSRF Token位于cookie 必要

json回复

根对象:

字段 类型 内容 备注
code num 返回值 0成功并不代表充电成功
-101账号未登录
-111csrf校验失败
-400请求错误
message str 错误信息 默认为0
ttl num 1
data obj 信息本体

data对象:

字段 类型 内容 备注
mid num 本用户mid
up_mid num 目标用户mid
order_no str 留言token 用于添加充电留言
elec_num num 充电电池数
exp num 获得经验数
status num 返回结果 4成功
-2低于20电池下限
-4B币不足
msg str 错误信息 默认为空

示例:

以空间的方式向用户mid=293793435充了20电池得到2经验留言token为BPRG5CEC3VUPOOANA540

此时data.status=4

再次自己冲自己QAQ

curl 'https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick' \
--data-urlencode 'elec_num=20' \
--data-urlencode 'up_mid=293793435' \
--data-urlencode 'otype=up' \
--data-urlencode 'oid=293793435' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "mid": 293793435,
        "up_mid": 293793435,
        "order_no": "BPRG5CEC3VUPOOANA540",
        "elec_num": 20,
        "exp": 2,
        "status": 4,
        "msg": ""
    }
}

当所充电池数小于2时充电不会成功

此时data.status=-2

curl 'https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick' \
--data-urlencode 'elec_num=1' \
--data-urlencode 'up_mid=293793435' \
--data-urlencode 'otype=up' \
--data-urlencode 'oid=293793435' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "mid": 0,
        "up_mid": 0,
        "order_no": "",
        "elec_num": 0,
        "exp": 0,
        "status": -2,
        "msg": "elec raw order create failed: 88201"
    }
}

当所充电池数折合的B币数不足时充电也不会成功

此时data.status=-4

curl 'https://api.bilibili.com/x/ugcpay/trade/elec/pay/quick' \
--data-urlencode 'elec_num=999' \
--data-urlencode 'up_mid=293793435' \
--data-urlencode 'otype=up' \
--data-urlencode 'oid=293793435' \
--data-urlencode 'csrf=xxx' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0,
    "message": "0",
    "ttl": 1,
    "data": {
        "mid": 0,
        "up_mid": 0,
        "order_no": "",
        "elec_num": 0,
        "exp": 0,
        "status": -4,
        "msg": "bp.to.battery http failed, invalid args, errNo=800409904: B 币余额不足"
    }
}