客服消息

心跳

https://customerservice.bilibili.com/x/custom/session_svr/v1/heart_beat

请求方式: GET

认证方式: Cookie (SESSDATA)

URL参数:

参数名类型内容必要性备注
shop_idnum0非必要
shop_father_idnum0非必要
buildnum客户端版本非必要web: 0
mobi_appstr客户端类型非必要web

JSON回复:

字段类型内容备注
codenum返回值0: 成功
msgstrok失败时不存在
messagestr错误信息成功时为 ok
ttlnum1

示例:

curl -G "https://customerservice.bilibili.com/x/custom/session_svr/v1/heart_beat" \
-b "SESSDATA=xxx"
查看响应示例:
{
  "code": 0,
  "msg": "ok",
  "message": "ok",
  "ttl": 1
}

上传文件

https://customerservice.bilibili.com/x/custom/msg_svr/v1/upload

请求方式: POST

认证方式: Cookie (SESSDATA)

注: 上传的文件 15 分钟内有效, 过期后下载会返回 HTTP 403

正文参数 (multipart/form-data):

参数名类型内容必要性备注
filefile文件内容必要
filenamestr文件名必要
midnum用户 mid必要
csrfstrCSRF Token (位于 Cookie 中 bili_jct)必要

JSON回复:

根对象:

字段类型内容备注
codenum返回值0: 成功
1000011: 仅支持上传300M内的文件
1200201: 获取用户信息失败
messagestr错误信息成功时为 ok
ttlnum1
dataobj上传结果

data 对象:

字段类型内容备注
keystr文件名
urlstr文件 URL注意转义

示例:

上传文件 ./headers/xx-out.xcf, 文件名 ihavenoname

curl -X POST "https://customerservice.bilibili.com/x/custom/msg_svr/v1/upload" \
-F 'file=@./headers/xx-out.xcf' \
-F 'filename=ihavenoname' \
-F 'mid=1070915568' \
-F 'csrf=xxx' \
-b 'SESSDATA=xxx; bili_jct=xxx'
查看响应示例:
{
  "code": 0,
  "message": "ok",
  "ttl": 1,
  "data": {
    "key": "1a0c88d240852155a111e4cc6893be39.xcf",
    "url": "https://jssz-boss.hdslb.com/customer-video-upload/1a0c88d240852155a111e4cc6893be39.xcf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=f9TxwsagojnE1DWM%2F20240803%2Fjssz%2Fs3%2Faws4_request&X-Amz-Date=20240803T115447Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=cef962c8e503c6ff564fd485bdef1079df1b4a7e38f4fbd9c21a5667207f406e"
  }
}