增加了充电相关的两个api

This commit is contained in:
SocialSisterYi 2020-03-22 15:21:09 +08:00
parent 08b0207c60
commit 30a6f2c275
7 changed files with 166 additions and 3 deletions

1
.gitignore vendored
View File

@ -6,3 +6,4 @@ login/msg.md
live/info_flow.md live/info_flow.md
bangumi/info.md bangumi/info.md
bangumi/ststus_number.md bangumi/ststus_number.md
electric/WeChat&Alipay.md

View File

@ -62,6 +62,10 @@
- 发表评论 - 发表评论
- 评论操作 - 评论操作
- 创作中心 - 创作中心
- 充电
- [B币方式](electric/Bcoin.md)√
- 微信&支付宝方式
- [充电留言](electric/charge_msg.md)√
- 动态 - 动态
- 发送动态 - 发送动态
- 动态列表 - 动态列表

119
electric/Bcoin.md Normal file
View File

@ -0,0 +1,119 @@
# B币方式充电
<img src="/imgs/battery-100.png" width="100" height="100"/>
**注1B币折合10电池一般地充电10电池可获得1经验**
http://api.bilibili.com/x/ugcpay/trade/elec/pay/quick
*方式POST*
需要登录(SESSDATA)
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| -------- | ------------------- | ------ | ------------------------------------------------- |
| elec_num | 充电电池数量 | 必要 | 必须在20-99990之间 |
| up_mid | 充电对象用户UID | 必要 | |
| otype | 充电来源 | 必要 | up空间充电<br />archive视频充电 |
| oid | 充电来源代码 | 必要 | 空间充电充电对象用户UID<br />视频充电视频avID |
| csrf | cookies中的bili_jct | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功并不代表充电成功 <br />-400请求错误<br />-111csrf校验失败<br />-101账号未登录 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
| data | obj | 信息本体 | |
`data`对象:
| 字段 | 类型 | 内容 | 备注 |
| -------- | ---- | ----------- | ------------------------------------------------ |
| mid | num | 本用户UID | |
| up_mid | num | 目标用户UID | |
| order_no | str | 交易编号 | 用于添加充电备注 |
| elec_num | num | 充电电池数 | |
| exp | num | 获得经验数 | |
| status | num | 返回结果 | 4成功<br />-2低于20电池下限<br />-4B币不足 |
| msg | str | 错误信息 | 默认为空 |
示例:
以空间的方式向用户293793435充了20电池得到2经验交易编号为`BPRG5CEC3VUPOOANA540`
此时`data`.`status`=`4`
~~自己冲自己QAQ~~
curl -b SESSDATA=xxx -d "elec_num=20&u
p_mid=293793435&otype=up&oid=293793435&csrf=xxx" "http://api.bilibili.com/x/ugcpay/trade/elec/pay/quick"
```json
{
"code":0,
"message":"0",
"ttl":1,
"data":{
"mid":293793435,
"up_mid":293793435,
"order_no":"BPRG5CEC3VUPOOANA540",
"elec_num":20,
"exp":2,
"status":4,
"msg":""
}
}
```
当所充电池数小于20时充电不会成功
此时`data`.`status`=`-2`
curl -b SESSDATA=xxx -d "elec_num=1&u
p_mid=293793435&otype=up&oid=293793435&csrf=xxx" "http://api.bilibili.com/x/ugcpay/trade/elec/pay/quick"
```json
{
"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 -b SESSDATA=xxx -d "elec_num=999&u
p_mid=293793435&otype=up&oid=293793435&csrf=xxx" "http://api.bilibili.com/x/ugcpay/trade/elec/pay/quick"
```json
{
"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 币余额不足"
}
}
```

39
electric/charge_msg.md Normal file
View File

@ -0,0 +1,39 @@
# 充电留言
http://api.bilibili.com/x/ugcpay/trade/elec/message
*方式POST*
需要登录(SESSDATA)
参数:
| 参数名 | 内容 | 必要性 | 备注 |
| -------- | ------------------- | ------ | ---- |
| order_id | 交易编号 | 必要 | |
| message | 留言内容 | 必要 | |
| csrf | cookies中的bili_jct | 必要 | |
**json回复**
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ------------------------------------------------------------ |
| code | num | 返回值 | 0成功 <br />-400请求错误<br />-111csrf校验失败<br />-101账号未登录<br />88203不能重复留言 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | 作用尚不明确 |
示例:
成功为交易编号为`BPRG5CEC3VUPOOANA540`的充电操作,添加了内容为`支持一下大佬`的留言
curl -b SESSDATA=xxx -d "csrf=xxx&order_id=BPRG
5CEC3VUPOOANA540&message=%e6%94%af%e6%8c%81%e4%b8%80%e4%b8%8b%e5%a4%a7%e4%bd%ac" "http://api.bilibili.com/x/ugcpay/trade/elec/message"
```json
{
"code":0,
"message":"0",
"ttl":1
}
```

BIN
imgs/battery-100.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -58,10 +58,10 @@ http://passport.bilibili.com/qrcode/getLoginUrl
## 验证二维码登录 ## 验证二维码登录
*方式POST*
http://passport.bilibili.com/qrcode/getLoginInfo http://passport.bilibili.com/qrcode/getLoginInfo
*方式POST*
秘钥超时为180秒 秘钥超时为180秒
验证正确时会进行设置以下cookie项 验证正确时会进行设置以下cookie项

View File

@ -34,7 +34,7 @@ http://api.bilibili.com/x/web-interface/archive/related
`data`数组中的对象: `data`数组中的对象:
同「[视频详细信息](info.md#视频详细信息)」中的data对象 基本同「[视频详细信息](info.md#视频详细信息)」中的data对象
示例: 示例: