注:以前充电是电池的概念,1B币折合10电池,一般地充电10电池可获得1经验
目前(2020/12/02后)则是贝壳的概念,1B币折合1贝壳、1经验(如果存在小数点,则经验值向下取整,即2.5B币获得2经验)
http://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick
请求方式:POST
认证方式:Cookie(SESSDATA)
正文参数( 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:账号未登录 -111:csrf校验失败 -400:请求错误 |
message | str | 错误信息 | 默认为0 |
ttl | num | 1 | |
data | obj | 信息本体 |
data
对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
mid | num | 本用户mid | |
up_mid | num | 目标用户mid | |
order_no | str | 留言token | 用于添加充电留言 |
bp_num | num | 充电贝壳数 | |
exp | num | 获得经验数 | |
status | num | 返回结果 | 4:成功 -2:低于20电池下限 -4:B币不足 |
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 币余额不足"
}
}
老版本目前已过期,调用接口成功后(code返回0),data.status会返回0,且B币不会消耗,贝壳也不会增加。以下是历史信息:
查看折叠内容
请求方式:POST
认证方式:Cookie(SESSDATA)
正文参数( 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:账号未登录 -111:csrf校验失败 -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电池下限 -4:B币不足 |
msg | str | 错误信息 | 默认为空 |
示例:
以空间的方式向用户mid=293793435
充了20电池,得到2经验,留言token为BPRG5CEC3VUPOOANA540
此时data
.status
=4
再次自己冲自己QAQ
curl 'http://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 'http://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 'http://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 币余额不足"
}
}