# 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,可能覆盖默认值

使用流程:

  1. 调用 /api/v1/wechat/qrcode 获取二维码URL和token
  2. 在前端显示二维码图片(使用qrcode_url)
  3. 使用token调用 /api/v1/wechat/qrcode/status 轮询扫描状态
  4. 当状态变为"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通道记录
  • 会停止对应通道的长轮询任务
  • 需要有效的临时令牌认证