bilibili-API-collect/electric/Bcoin.md
2020-03-23 16:46:13 +08:00

4.0 KiB
Raw Blame History

B币方式充电

1B币折合10电池一般地充电10电池可获得1经验

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

方式POST

需要登录(SESSDATA)

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

参数名 内容 必要性 备注
elec_num 充电电池数量 必要 必须在20-99990之间
up_mid 充电对象用户UID 必要
otype 充电来源 必要 up空间充电
archive视频充电
oid 充电来源代码 必要 空间充电充电对象用户UID
视频充电视频avID
csrf cookies中的bili_jct 必要

json回复

字段 类型 内容 备注
code num 返回值 0成功并不代表充电成功
-400请求错误
-111csrf校验失败
-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成功
-2低于20电池下限
-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"

{
    "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"

{
    "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"

{
    "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 币余额不足"
    }
}