# clawbot相关接口
# 微信二维码登录接口
# POST /api/v1/wechat/qrcode
功能: 获取微信登录二维码
请求参数: 无
响应示例:
{
"success": true,
"data": {
"qrcode_url": "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=https://ilinkai.weixin.qq.com/ilink/bot/get_qrcode_status?qrcode=xxx",
"qrcode": "qrcode_token_xxx"
}
}
响应格式说明:
| 字段名 | 类型 | 说明 |
|---|---|---|
| success | boolean | 请求是否成功 |
| data | object | 二维码信息 |
| data.qrcode_url | string | 二维码图片URL,可直接用于前端显示 |
| data.qrcode | string | 二维码token,用于后续状态轮询 |
# POST /api/v1/wechat/qrcode/status
功能: 轮询微信二维码扫描状态(长轮询接口)
请求参数:
{
"qrcode": "qrcode_token_xxx"
}
参数说明:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| qrcode | string | 是 | 从获取二维码接口返回的二维码token |
响应示例:
{
"success": true,
"data": {
"status": "wait",
"credentials": {
"bot_token": "bearer_token_xxx",
"ilink_bot_id": "bot_id_xxx",
"ilink_user_id": "user_id_xxx"
},
"baseurl": "https://ilinkai.weixin.qq.com"
}
}
响应格式说明:
| 字段名 | 类型 | 说明 |
|---|---|---|
| success | boolean | 请求是否成功 |
| data | object | 状态信息 |
| data.status | string | 二维码状态:"wait"(等待扫描)、"scaned"(已扫描)、"confirmed"(已确认)、"expired"(已过期) |
| data.credentials | object/null | 认证凭据,仅在status为"confirmed"时返回 |
| data.credentials.bot_token | string | Bearer token,用于后续API调用 |
| data.credentials.ilink_bot_id | string | Bot标识符 |
| data.credentials.ilink_user_id | string | 用户标识符 |
| data.baseurl | string | API基础URL,可能覆盖默认值 |
使用流程:
- 调用
/api/v1/wechat/qrcode获取二维码URL和token - 在前端显示二维码图片(使用qrcode_url)
- 使用token调用
/api/v1/wechat/qrcode/status轮询扫描状态 - 当状态变为"confirmed"时,获取认证凭据用于后续IM通道通信
# POST /api/v1/wechat/channel_reset
功能: 重置微信IM通道,删除数据库中用户的imchannel并且停止channel对应的longpoll轮询
请求参数:
{
"channel_id": "channel_token_xxx"
}
参数说明:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| channel_id | string | 是 | 需要重置的通道ID |
响应示例:
{
"data": {
"message": "IM通道重置任务已提交",
"channel_id": "channel_token_xxx"
}
}
响应格式说明:
| 字段名 | 类型 | 说明 |
|---|---|---|
| data | object | 重置结果信息 |
| data.message | string | 重置操作的结果消息 |
| data.channel_id | string | 被重置的通道ID |
注意事项:
- 此操作会删除数据库中的IM通道记录
- 会停止对应通道的长轮询任务
- 需要有效的临时令牌认证