diff --git a/electric/Bcoin.md b/electric/Bcoin.md index c035fee..dc6434b 100644 --- a/electric/Bcoin.md +++ b/electric/Bcoin.md @@ -2,15 +2,180 @@ -**注:1B币折合10电池,一般地充电10电池可获得1经验** +**注:以前充电是电池的概念,1B币折合10电池,一般地充电10电池可获得1经验** + +**目前(2020/12/02后)则是贝壳的概念,1B币折合1贝壳、1经验(如果存在小数点,则经验值向下取整,即2.5B币获得2经验)** --- -- [B币方式充电](#B币方式充电) +- [新版本接口](#新版本B币充电) +- [老版本接口](#老版本B币充电) --- -## B币方式充电 +## 新版本B币充电 + +> https://api.bilibili.com/x/ugcpay/web/v2/trade/elec/pay/quick + +*请求方式:POST* + +认证方式:Cookie(SESSDATA) + +**正文参数( application/x-www-form-urlencoded ):** + +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| -------- | ---- | ------------------------ | ------ | ------------------------------------------------- | +| bp_num | num | 贝壳数量 | 必要 | 必须在20-99990之间 | +| is_bp_remains_prior | bool | 是否优先扣除B币余额 | 必要 | [true,false],B币充电请选择true | +| up_mid | num | 充电对象用户UID | 必要 | | +| otype | str | 充电来源 | 必要 | up:空间充电
archive:视频充电 | +| oid | num | 充电来源代码 | 必要 | 空间充电:充电对象用户UID
视频充电:稿件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 | 本用户UID | | +| up_mid | num | 目标用户UID | | +| order_no | str | 留言token | 用于添加充电留言 | +| bp_num | num | 充电贝壳数 | | +| exp | num | 获得经验数 | | +| status | num | 返回结果 | 4:成功
-2:低于20电池下限
-4:B币不足 | +| msg | str | 错误信息 | 默认为空 | + +**示例:** + +以空间的方式向用户`UID=293793435`充了2贝壳,得到2经验,留言token为`BPRG5CEC3VUPOOANA540` + +此时`data`.`status`=`4` + +~~自己给自己冲QAQ~~ + +```shell +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' +``` + +
+查看响应示例: + +```json +{ + "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` + +```shell +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' +``` + +
+查看响应示例: + +```json +{ + "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` + +```shell +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' +``` + +
+查看响应示例: + +```json +{ + "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返回0),data.status会返回0,且B币不会消耗,贝壳也不会增加。以下是历史信息: + +
+查看折叠内容 > http://api.bilibili.com/x/ugcpay/trade/elec/pay/quick @@ -57,7 +222,7 @@ 此时`data`.`status`=`4` -~~自己冲自己QAQ~~ +~~再次自己冲自己QAQ~~ ```shell curl 'http://api.bilibili.com/x/ugcpay/trade/elec/pay/quick' \ @@ -162,3 +327,4 @@ curl 'http://api.bilibili.com/x/ugcpay/trade/elec/pay/quick' \ ```
+ \ No newline at end of file