返回提交历史
Modified
README.md
+4
-1
Added
manga/ClockIn.md
+66
-0
Added
manga/point_shop.md
+451
-0
XFEstudio/bilibili-API-collect
添加漫画签到接口、积分商城相关接口 (#335)
* 添加漫画签到接口 * 添加积分商城相关接口 * 添加基本兑换状态码 * fix format Co-authored-by: 社会易姐QwQ <45892418+SocialSisterYi@users.noreply.github.com>
af340e3
代码差异
3 个文件
+521
-1
@@ -191,7 +191,10 @@ PS:所有 rest api 均可使用 https,文档中为了统一写作`http`,
191
191
- [ ] 基本信息
192
192
- [ ] B币充值
193
193
- [ ] 贝壳相关
194
- [ ] 哔哩哔哩漫画
194
- [ ] [哔哩哔哩漫画](manga)
195
- [x] [签到](manga/clockin.md)
196
- [x] [积分商城](manga/point_shop.md)
197
195
198
- [ ] 哔哩哔哩游戏
196
199
- [ ] 轻视频
197
200
- [ ] [终端网络查询](clientinfo)
@@ -0,0 +1,66 @@
1
# 签到
2
3
> http://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn
4
5
*请求方式:POST*
6
7
认证方式:Cookie(SESSDATA)/ APP
8
9
**正文参数( application/x-www-form-urlencoded ):**
10
11
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
12
| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
13
| platform | str | 平台 | 必要 | android |
14
15
**json回复:**
16
17
根对象:
18
19
| 字段 | 类型 | 内容 | 备注 |
20
| ------- | ---- | -------- | ------------------------------------------------------------ |
21
| code | num / str | 返回值 | 0:成功<br />invalid_argument:今日已签到 |
22
| msg | str | 错误信息 | 成功:空<br />已签到:clockin clockin is duplicate |
23
| meta | obj | 错误信息 | 今日已签到时存在 |
24
25
根对象:
26
27
| 字段 | 类型 | 内容 | 备注 |
28
| ---- | ---- | -------- | ---- |
29
| data | str | 错误信息 | |
30
31
**示例:**
32
33
```bash
34
curl 'http://manga.bilibili.com/twirp/activity.v1.Activity/ClockIn' \
35
-b 'SESSDATA=xxx'
36
```
37
38
<details>
39
<summary>签到成功:</summary>
40
41
42
```json
43
{
44
"code": 0,
45
"msg": "",
46
"data": {}
47
}
48
```
49
50
</details>
51
52
<details>
53
<summary>今日已签到:</summary>
54
55
56
```json
57
{
58
"code": "invalid_argument",
59
"msg": "clockin clockin is duplicate",
60
"meta": {
61
"argument": "clockin"
62
}
63
}
64
```
65
66
</details>
@@ -0,0 +1,451 @@
1
# 积分商城
2
3
- [获取当前持有点数](#获取当前持有点数)
4
- [获取兑换奖品列表](#获取兑换奖品列表)
5
- [兑换物品](#兑换物品)
6
- [获取兑换历史记录](#获取兑换历史记录)
7
- [获取玩法说明](#获取玩法说明)
8
9
*积分商城由web页面提供功能,地址为:*
10
11
> https://manga.bilibili.com/eden/credits-exchange.html
12
13
## 获取当前持有点数
14
15
> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetUserPoint
16
17
*请求方式:POST*
18
19
认证方式:Cookie(SESSDATA)/ APP
20
21
**json回复:**
22
23
根对象:
24
25
| 字段 | 类型 | 内容 | 备注 |
26
| ------- | ---- | -------- | ------------------------------------------------------------ |
27
| code | num | 返回值 | |
28
| msg | str | 错误信息 | |
29
| data | obj | 信息本体 | |
30
31
`data`对象:
32
33
| 字段 | 类型 | 内容 | 备注 |
34
| -------- | ---- | -------- | ------------ |
35
| point | str | 点数 | 不登录时为0 |
36
37
**示例:**
38
39
```bash
40
curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetUserPoint' \
41
-b 'SESSDATA=xxx'
42
```
43
44
<details>
45
<summary>查看响应示例:</summary>
46
47
48
```json
49
{
50
"code": 0,
51
"msg": "",
52
"data": {
53
"point": "66666"
54
}
55
}
56
```
57
58
</details>
59
60
## 获取兑换奖品列表
61
62
> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/ListProduct
63
64
*请求方式:POST*
65
66
**json回复:**
67
68
根对象:
69
70
| 字段 | 类型 | 内容 | 备注 |
71
| ------- | ---- | -------- | ------------------------------------------------------------ |
72
| code | num | 返回值 | |
73
| msg | str | 错误信息 | |
74
| data | array | 奖品列表 | |
75
76
`data`数组:
77
78
| 项 | 类型 | 内容 | 备注 |
79
| ---- | ---- | --------- | ---- |
80
| 0 | obj | 奖品1 | |
81
| n | obj | 奖品(n+1) | |
82
| …… | obj | …… | …… |
83
84
`data`数组中的对象:
85
86
| 字段 | 类型 | 内容 | 备注 |
87
| -------- | ---- | -------- | ------------ |
88
| id | num | 物品id | |
89
| type | num | 物品类型 | 0:商城相关<br />3:限免券<br />7:福利券 |
90
| title | str | 物品名 | |
91
| image | str | 显示的图像 | 福利券为空 |
92
| amount | num | 库存总量 | |
93
| cost | num | 兑换所需点数(原价) | |
94
| real_cost | num | 兑换所需点数(现价) | |
95
| remain_amount | num | 库存剩余数 | |
96
| comic_id | num | 相关漫画id | |
97
| limits | array | 限定使用范围(漫画) | 限免券所适用的漫画 |
98
| discount | num | (?) | 目前恒为0 |
99
| product_type | num | 物品类型 | 1:限免券、福利券<br />4:商城满99立减10元券、商城5元无门槛券<br />5:商城5魔晶 |
100
| pendant_url | str | (?) | |
101
| pendant_expire | num | (?) | 0:限免券、福利券<br />7:商城满99立减10元券、商城5元无门槛券、商城5魔晶 |
102
| exchange_limit | num | 兑换次数限制 | |
103
| address_deadline | str | (?) | |
104
| act_type | num | (?) | 目前恒为0 |
105
| has_exchanged | bool | 是否兑换过该物品 | |
106
| main_coupon_deadline | str | 兑换后使用截止时间 | |
107
| deadline | str | 兑换后使用截止时间 | |
108
| point | str | (?) | 目前恒为0 |
109
110
**示例:**
111
112
```bash
113
curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/ListProduct'
114
```
115
116
<details>
117
<summary>查看响应示例:</summary>
118
119
120
```json
121
{
122
"code": 0,
123
"msg": "",
124
"data": [
125
{
126
"id": 195,
127
"type": 7,
128
"title": "积分兑换",
129
"image": "",
130
"amount": 15999,
131
"cost": 200,
132
"real_cost": 100,
133
"remain_amount": 0,
134
"comic_id": 0,
135
"limits": [],
136
"discount": 0,
137
"product_type": 1,
138
"pendant_url": "",
139
"pendant_expire": 7,
140
"exchange_limit": 0,
141
"address_deadline": "0001-01-01T00:00:00Z",
142
"act_type": 0,
143
"has_exchanged": false,
144
"main_coupon_deadline": "0001-01-01T00:00:00Z",
145
"deadline": "",
146
"point": "0"
147
},
148
{
149
"id": 1009,
150
"type": 0,
151
"title": "商城5魔晶",
152
"image": "",
153
"amount": 500,
154
"cost": 260,
155
"real_cost": 30,
156
"remain_amount": 0,
157
"comic_id": 0,
158
"limits": [],
159
"discount": 0,
160
"product_type": 5,
161
"pendant_url": "",
162
"pendant_expire": 0,
163
"exchange_limit": 1,
164
"address_deadline": "0001-01-01T00:00:00Z",
165
"act_type": 0,
166
"has_exchanged": false,
167
"main_coupon_deadline": "2022-03-22T23:59:59+08:00",
168
"deadline": "2022-03-22T23:59:59+08:00",
169
"point": "0"
170
},
171
{
172
"id": 1008,
173
"type": 0,
174
"title": "商城满99立减10元券",
175
"image": "",
176
"amount": 400,
177
"cost": 2000,
178
"real_cost": 400,
179
"remain_amount": 390,
180
"comic_id": 0,
181
"limits": [],
182
"discount": 0,
183
"product_type": 4,
184
"pendant_url": "",
185
"pendant_expire": 0,
186
"exchange_limit": 1,
187
"address_deadline": "0001-01-01T00:00:00Z",
188
"act_type": 0,
189
"has_exchanged": false,
190
"main_coupon_deadline": "2022-03-22T23:59:59+08:00",
191
"deadline": "2022-03-22T23:59:59+08:00",
192
"point": "0"
193
},
194
{
195
"id": 1007,
196
"type": 0,
197
"title": "商城5元无门槛券",
198
"image": "",
199
"amount": 200,
200
"cost": 1000,
201
"real_cost": 200,
202
"remain_amount": 134,
203
"comic_id": 0,
204
"limits": [],
205
"discount": 0,
206
"product_type": 4,
207
"pendant_url": "",
208
"pendant_expire": 0,
209
"exchange_limit": 1,
210
"address_deadline": "0001-01-01T00:00:00Z",
211
"act_type": 0,
212
"has_exchanged": false,
213
"main_coupon_deadline": "2022-03-22T23:59:59+08:00",
214
"deadline": "2022-03-22T23:59:59+08:00",
215
"point": "0"
216
},
217
{
218
"id": 1536,
219
"type": 3,
220
"title": "白兔糖",
221
"image": "http://i0.hdslb.com/bfs/manga-static/c3369754789a77b5d0b15cc31c75538ac035b3aa.jpg",
222
"amount": 4000,
223
"cost": 100,
224
"real_cost": 75,
225
"remain_amount": 3991,
226
"comic_id": 27164,
227
"limits": [
228
{
229
"type": 1,
230
"id": 27164,
231
"title": "白兔糖"
232
}
233
],
234
"discount": 0,
235
"product_type": 1,
236
"pendant_url": "",
237
"pendant_expire": 7,
238
"exchange_limit": 0,
239
"address_deadline": "0001-01-01T00:00:00Z",
240
"act_type": 0,
241
"has_exchanged": false,
242
"main_coupon_deadline": "0001-01-01T00:00:00Z",
243
"deadline": "",
244
"point": "0"
245
}
246
]
247
}
248
```
249
250
</details>
251
252
253
## 兑换物品
254
255
> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/Exchange
256
257
*请求方式:POST*
258
259
认证方式:Cookie(SESSDATA)/ APP
260
261
**正文参数( application/x-www-form-urlencoded 或 application/json):**
262
263
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
264
| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
265
| product_id | str | 物品id | 必要 | |
266
| product_num | num | 兑换个数 | 必要 | |
267
| point | num | 物品所需点数 | 必要 | 现价(real_cost) |
268
269
**json回复:**
270
271
根对象:
272
273
| 字段 | 类型 | 内容 | 备注 |
274
| ------- | ---- | -------- | ------------------------------------------------------------ |
275
| code | num | 返回值 | 0:兑换成功<br />1:积分不足<br />2:库存不足<br />3:product point mismatch(point填写错误)<br />3:超过用户最大可兑换数量<br />4:现在抢票的人太多啦,再点一下有机会优先上车喔 ε=ε=(ノ≧∇≦)ノ |
276
| message | str | 错误信息 | |
277
278
**示例:**
279
280
```bash
281
curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/Exchange' \
282
--data-urlencode 'product_id=195' \
283
--data-urlencode 'product_num=1' \
284
--data-urlencode 'point=real_cost' \
285
-b 'SESSDATA=xxx'
286
```
287
288
<details>
289
<summary>查看响应示例:</summary>
290
291
```json
292
{
293
"code": 0,
294
"msg": ""
295
}
296
```
297
298
</details>
299
300
## 获取兑换历史记录
301
302
> http://manga.bilibili.com/twirp/activity.v1.Activity/GetPrizeList
303
304
*请求方式:POST*
305
306
认证方式:Cookie(SESSDATA)/ APP
307
308
**正文参数( application/x-www-form-urlencoded 或 application/json):**
309
310
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
311
| ---------- | ---- | ------------------------ | -------------- | ------------------------------------------------------------ |
312
| act_id | num | 固定值:90018 | 必要 | |
313
314
**json回复:**
315
316
根对象:
317
318
| 字段 | 类型 | 内容 | 备注 |
319
| ------- | ---- | -------- | ------------------------------------------------------------ |
320
| code | num | 返回值 | |
321
| msg | str | 错误信息 | | |
322
| data | obj | 信息本体 |
323
324
`data`对象:
325
326
| 字段 | 类型 | 内容 | 备注 |
327
| ------ | ---- | -------- | ---- |
328
| prizes | obj | 兑换记录 | |
329
| addr | obj | (?) | |
330
331
`data`中的`prizes`对象:
332
333
| 字段 | 类型 | 内容 | 备注 |
334
| -------- | ---- | -------- | ------------ |
335
| user_prize_id | str | 兑换id? | |
336
| prize_id | num | 兑换的物品id | |
337
| ctime | str | 兑换时间 | |
338
| addr | null | (?) | |
339
| deadline | str | 过期时间 | |
340
| type | num | 类型 | 1:限免券、福利券<br />8:商城5魔晶 |
341
| name | str | 物品名 | |
342
343
**示例:**
344
345
```bash
346
curl 'http://manga.bilibili.com/twirp/activity.v1.Activity/GetPrizeList' \
347
--data-urlencode 'act_id=90018' \
348
-b 'SESSDATA=xxx'
349
```
350
351
<details>
352
<summary>查看响应示例:</summary>
353
354
```json
355
{
356
"code": 0,
357
"msg": "",
358
"data": {
359
"prizes": [
360
{
361
"user_prize_id": "55117444",
362
"prize_id": 1009,
363
"ctime": "2022-03-21T12:22:53+08:00",
364
"addr": null,
365
"deadline": "0001-01-01T00:00:00Z",
366
"type": 8,
367
"name": "商城5魔晶"
368
},
369
{
370
"user_prize_id": "2594073385420523088",
371
"prize_id": 1536,
372
"ctime": "2022-03-21T12:07:24+08:00",
373
"addr": null,
374
"deadline": "0001-01-01T00:00:00Z",
375
"type": 1,
376
"name": "白兔糖限免卡"
377
},
378
{
379
"user_prize_id": "4899916394614914913",
380
"prize_id": 195,
381
"ctime": "2021-12-24T12:01:08+08:00",
382
"addr": null,
383
"deadline": "0001-01-01T00:00:00Z",
384
"type": 1,
385
"name": "积分兑换"
386
},
387
{
388
"user_prize_id": "1152921504636496551",
389
"prize_id": 195,
390
"ctime": "2021-12-13T12:05:13+08:00",
391
"addr": null,
392
"deadline": "0001-01-01T00:00:00Z",
393
"type": 1,
394
"name": "积分兑换"
395
}
396
],
397
"addr": {
398
"name": "",
399
"phone": "",
400
"address": "",
401
"id_card": ""
402
}
403
}
404
}
405
```
406
407
</details>
408
409
## 获取玩法说明
410
411
> http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetExchangeRule
412
413
*请求方式:POST*
414
415
**json回复:**
416
417
根对象:
418
419
| 字段 | 类型 | 内容 | 备注 |
420
| ---- | ---- | -------- | ---- |
421
| code | num | 返回值 | |
422
| msg | str | 错误信息 | |
423
| data | obj | 信息本体 | |
424
425
`data`对象:
426
427
| 字段 | 类型 | 内容 | 备注 |
428
| ---- | ---- | -------- | ---- |
429
| rule | str | 玩法说明 | |
430
431
**示例:**
432
433
```bash
434
curl 'http://manga.bilibili.com/twirp/pointshop.v1.Pointshop/GetExchangeRule'
435
```
436
437
<details>
438
<summary>查看响应示例:</summary>
439
440
441
```json
442
{
443
"code": 0,
444
"msg": "",
445
"data": {
446
"rule": "日常兑换说明:\n1、赛季积分达到一定数量可兑换积分商城内相应的商品;\n2、日常兑换奖品的刷新时间为每日中午12点,每天可兑换的奖品总数有限(具体可见商品页面展示),请尽快兑换。\n3、兑换的福利券&限免卡奖品有效期详见兑换框内显示或卡券包内详情说明哦,请及时在有效期内使用。\n4、赛季积分有效期为当前赛季时长(每期赛季时长详见福利中心页面倒计时显示),请及时在有效期内进行使用。\n5、赛季积分可在福利中心完成特定任务获取,具体详情可至福利中心查看(部分活动也可获取赛季积分,可随时关注活动信息哦)。"
447
}
448
}
449
```
450
451
</details>