全部版块 我的主页
论坛 新商科论坛 四区(原工商管理论坛) 商学院 创新与战略管理
37 0
2025-12-09

默认模块信息

基础接口地址(Base URLs): wechatapi.net

认证与登录流程说明

本系统通过分步式接口实现API登录,需依次完成二维码获取与登录状态检测。

第一步:获取微信登录二维码

请求方式: POST
接口路径: /login/getLoginQrCode

参数说明:

  • appId:设备唯一标识。首次登录请留空,系统将自动创建新设备并返回appId;后续登录必须携带此前获取的appId。注意避免为同一账号重复创建设备,以防触发平台风控机制。
  • proxyIp:可选代理配置,格式为 socks5://username:password@ip:port。若需使用全局代理,可在所有接口中添加 "useProxy": true 字段(默认为 false)。
  • regionId:地区编码,必填项。建议选择用户所在省份的ID进行登录操作。若无对应区域ID,请使用本地或本市代理IP支持。
  • type:设备类型,支持 ipad 和 mac,默认为 ipad。当使用 iPad 类型扫码提示“在新设备完成验证”时,应切换至 mac 类型尝试登录(推荐顺序:ipad → mac)。mac 类型支持滑块验证流程。
  • ttuid:本地网络标识符,需配合 regionId 或 proxyIp 使用,不可单独传入。借用真实用户本地网络环境取码,约有50%概率跳过iPad端验证环节。

注意事项:

  • 每次取码所使用的 appId 必须与上次扫码登录的微信实例一致,否则将导致登录失败。
  • 如需全局走代理,请在请求体中加入 "useProxy": true 参数,但可能影响接口响应速度。
  • ttuid 工具包可点击下载(代理TTUID)。

支持的地区ID列表(格式:ID*地区名称)

110000*北京市|120000*天津市|130000*河北省|140000*山西省|150000*内蒙古
210000*辽宁省|220000*吉林省|230000*黑龙江
310000*上海市|320000*江苏省|330000*浙江省|340000*安徽省|350000*福建省|360000*江西省|370000*山东省
410000*河南省|420000*湖北省|430000*湖南省|440000*广东省|450000*广西省|460000*海南省
500000*重庆市|510000*四川省|520000*贵州省|530000*云南省|540000*西藏自治区
610000*陕西省|620000*甘肃省|630000*青海省|640000*宁夏自治区|650000*新疆自治区
    

若当前列表未包含您的所在地区,可通过购买 SOCKS5 协议代理 IP,并填写至 proxyIp 参数中以实现访问。

请求示例 Body

{
  "appId": "",
  "proxyIp": "",
  "regionId": "320000",
  "type": "ipad",
  "ttuid": "配合regionId/proxyIp使用,传ttuid程序生成的id"
}

请求头(Headers)

名称 位置 类型 是否必选 说明
VideosApi-token header string 前往API后台 → 访问控制 → 生成Token

Body 参数详情

参数名 类型 是否必选 说明
appId string 设备ID,首次为空,后续使用返回值
proxyIp string 代理IP,格式:socks5://user:pass@123.2.2.2
regionId string 地区编码
type string 设备类型:ipad、mac(默认ipad)
ttuid string 本地网络ID,需结合regionId/proxyIp使用

成功响应示例(200 OK)

{
  "ret": 0,
  "msg": "string",
  "data": {
    "qrData": "string",
    "qrUrl": "string",
    "appId": "string",
    "qrImgBase64": "string",
    "uuid": "string"
  }
}

返回字段说明

字段名 类型 是否必选 中文说明 描述
ret integer true 返回码 0表示成功
msg string true 消息提示 状态描述信息
data object true 响应数据 包含二维码相关信息
qrData string true 二维码内容 用于生成二维码的数据
qrUrl string true 二维码跳转链接 扫码后直接打开的URL
appId string true 设备ID 本次生成的设备标识
qrImgBase64 string true 二维码图像Base64 前端可直接展示该图片供用户扫码
uuid string true 二维码唯一标识 用于轮询检查登录状态

第二步:检查登录状态(执行登录)

请求方式: POST
接口路径: /login/checkLogin

此步骤用于轮询检测用户是否已完成扫码及授权操作。系统现已支持:

  • iPad 设备的人脸识别验证
  • Mac 设备的滑块验证机制

特别提醒: iPad 类型仅支持 iOS 平台 App 扫码,请确保客户端兼容性。

支持多种验证方式,包括APP扫码验证与系统自动验证。开发者可根据需要在集成平台中自行接入APP滑块验证功能。具体操作流程可参考iPad或Mac登录相关说明。

调用接口以获取登录二维码后,需每隔5秒轮询一次该接口,用于判断用户是否已完成扫码及登录操作。二维码的有效时长为120秒,超时后需重新获取。

当返回数据中的logininfo字段包含信息时,表示登录成功;若无数据,则需持续轮询直至登录成功或确认失败为止。

对于新设备首次登录的情况,平台将在次日凌晨主动断开连接一次。用户需重新触发登录流程,并在调用接口时传入appId以重新获取二维码。成功登录后即可保持长期在线状态。

建议在登录成功后妥善保存appId与wxid之间的对应关系,后续接口调用将依赖此映射信息。

iPad首次登录场景处理

若出现“新设备验证”且未提供数字验证码:

  • 接口将返回一个二维码链接。
  • 开发者需使用iOS设备下载安盾APP,并通过其扫描二维码进行人脸识别验证。
  • 验证通过后,在手机端点击确认,再次调用本接口即可获取登录结果。
  • 如未完成人脸认证,建议切换至Mac登录流程继续操作。

若出现“新设备验证”并附带数字验证码:

  • 直接在请求参数的captchCode字段中填入收到的验证码即可继续登录流程。

Mac首次登录场景处理

若触发新设备验证:

  • 可选择开启自动验证模式(autoSliding=true),无需额外下载APP即可完成验证。
  • 若关闭自动验证(autoSliding=false),接口将返回一个验证URL。
  • 开发者需将该URL生成二维码,并使用安卓设备下载指定APP进行扫码图形验证。
  • 验证完成后,继续调用本接口即可通过新设备校验。

对于已有自有平台App的开发者,支持代码级接入验证逻辑,无需引导用户下载第三方应用。

<Frame caption="Mac登录流程图,不清楚流程必看">

请求参数(Body)

{
  "appId": "",
  "proxyIp": "",
  "uuid": "",
  "autoSliding": "true"
}
    
名称 位置 类型 必选 说明
VideosApi-token header string 认证令牌
body body object 请求体对象
appId body string 设备唯一标识ID
proxyIp body string 代理IP地址,格式示例:socks5://username:password@123.2.2.2
uuid body string 从获取二维码接口返回的uuid值
captchCode body string 扫码后手机提示输入的数字验证码;若无提示可不传
autoSliding body boolean 是否启用自动验证:true/false。仅Mac有效。iPad登录时必须设为false

成功响应示例(HTTP 200)

{
  "ret": 0,
  "msg": "string",
  "data": {
    "uuid": "string",
    "headImgUrl": "string",
    "nickName": "string",
    "expiredTime": 0,
    "status": 0,
    "loginInfo": {
      "uin": 0,
      "wxid": "string",
      "nickName": "string",
      "mobile": "string",
      "alias": "string"
    }
  }
}
    

返回结果说明

状态码 含义 说明 数据模型
200 OK 请求成功 Inline

响应数据结构(状态码 200)

字段名 类型 必选 约束 中文名 说明
ret integer true none 返回码 状态标识,0表示成功
msg string true none 消息提示 返回描述信息
data object true none 响应数据 包含登录相关信息的对象
uuid string true none 二维码UUID 用于标识当前二维码会话
headImgUrl string true none 头像地址 用户头像链接
nickName string true none 昵称 用户显示名称
expiredTime integer true none 过期时间 二维码失效时间戳
status integer true none 登录状态 0:未扫码;1:已扫码未登录;2:登录成功;4:已扫码但取消登录
loginInfo object true none 登录信息 登录成功后返回的具体数据
uin integer true none 用户编号 系统内部用户标识
wxid string true none 微信ID 存在此值代表登录成功
nickName string true none 昵称 用户昵称
mobile string true none 手机号 绑定的手机号码
alias string true none 微信号 用户的微信账号别名

弹窗登录接口

POST /login/dialogLogin

调用此接口后,用户的手机端将弹出确认登录页面。用户点击“确认”后,需立即调用执行登录接口,并持续检测登录状态是否成功。

地区编码格式说明:地区ID在前,地区名称在后,以星号分隔,多项之间使用竖线分隔。例如:

110000*北京市|120000*天津市|130000*河北省|140000*山西省|150000*内蒙古

地区代码对照表如下:

  • 210000*辽宁省 | 220000*吉林省 | 230000*黑龙江省
  • 310000*上海市 | 320000*江苏省 | 330000*浙江省 | 340000*安徽省 | 350000*福建省 | 360000*江西省 | 370000*山东省
  • 410000*河南省 | 420000*湖北省 | 430000*湖南省 | 440000*广东省 | 450000*广西省 | 460000*海南省
  • 500000*重庆市 | 510000*四川省 | 520000*贵州省 | 530000*云南省 | 540000*西藏自治区
  • 610000*陕西省 | 620000*甘肃省 | 630000*青海省 | 640000*宁夏自治区 | 650000*新疆自治区

若当前支持的 regionId 中未包含您所在的地区,可自行采购 socks5 协议代理 IP,并填写至 proxyIp 参数中。

使用本接口登录并非保证 100% 成功。当接口返回失败时,可通过扫码方式进行登录作为替代方案。

以下情况将导致无法通过该接口完成登录:

  1. 在手机端主动点击退出登录
  2. 在新设备上登录后的次日
  3. 因官方风控机制导致账号被强制下线

POST 登录

请求地址:/login

Body 请求参数示例:

{
  "appId": "wx_wR_U4zPj2M_OTS3BCyoE4",
  "proxyIp": "",
  "regionId": "320000"
}

请求参数说明:

名称 位置 类型 必选 说明
VideosApi-token header string 认证令牌
body body object 请求体对象
? appId body string 设备ID
? proxyIp body string 代理IP,格式为:socks5://username:password@123.2.2.2
? regionId body string 地区代码

成功响应示例(200 Response):

{
  "ret": 0,
  "msg": "string",
  "data": {
    "appId": "string",
    "uuid": "string"
  }
}

返回结果说明:

状态码 状态码含义 说明 数据模型
200 OK 请求成功 Inline

返回数据结构(状态码 200):

名称 类型 必选 约束 中文名 说明
? ret integer true none 返回码 操作状态码
? msg string true none 提示信息 返回消息描述
? data object true none 响应数据 包含具体响应内容
  ?? appId string true none 设备ID 设备唯一标识
  ?? uuid string true none 二维码uuid 用于执行登录流程中的二维码识别

POST 退出登录

请求地址:/login/logout

说明:可仅填写 appId,或按照完整示例传参。

Body 请求参数示例:

{
  "appId": "",
  "proxyIp": "",
  "regionId": "88"
}

请求参数说明:

名称 位置 类型 必选 说明
VideosApi-token header string 认证令牌
body body object 请求体对象
? appId body string 设备ID

成功响应示例(200 Response):

{
  "ret": 200,
  "msg": "操作成功"
}

返回结果说明:

状态码 状态码含义 说明 数据模型
200 OK 请求成功 Inline

返回数据结构(状态码 200):

名称 类型 必选 约束 中文名 说明
? ret integer true none 返回码 操作状态码
? msg string true none 提示信息 返回的消息描述

POST 检查是否在线

请求地址:/login/checkOnline

说明:响应中的 data 字段为 true 表示账号在线,false 则表示离线。

Body 请求参数示例:

{
  "appId": "{{appid}}"
}

请求参数说明:

名称 位置 类型 必选 说明
VideosApi-token header string 认证令牌
body body object 请求体对象
? appId body string 设备ID

成功响应示例(200 Response):

{
  "ret": 200,
  "msg": "操作成功",
  "data": true
}

返回结果说明:

状态码 状态码含义 说明 数据模型
200 OK 请求成功 Inline

返回数据结构(状态码 200):

名称 类型 必选 约束 中文名 说明
? ret integer true none 返回码 操作状态码
? msg string true none 提示信息 返回的消息描述
? data boolean true none 在线状态 布尔值,true为在线,false为离线

POST 异常断线重连

请求地址:/login/reconnection

适用场景:账号显示在线,但无法接收到回调通知时,可调用此接口尝试恢复连接。

Body 请求参数示例:

{
  "appId": ""
}

请求参数说明:

名称 位置 类型 必选 说明
VideosApi-token header string 认证令牌
body body object 请求体对象
? appId body string 设备ID

成功响应示例(200 Response):

{
  "ret": 200,
  "msg": "操作成功",
  "data": true
}

返回结果说明:

状态码 状态码含义 说明 数据模型
200 OK 请求成功 Inline

返回数据结构(状态码 200):

名称 类型 必选 约束 中文名 说明
? ret integer true none 返回码 操作状态码
? msg string true none 提示信息 返回的消息描述
? data boolean true none 重连结果 布尔值,true表示重连成功

无感切换代理IP功能说明

通过 POST 请求可实现账号在不中断服务的情况下更换代理IP,达到在线无缝切换的效果。此外,也可选择退出后重新登录并传入新的代理IP信息以完成更新。

请求地址:
POST /login/setProxy

请求参数详情

Body 参数结构:

{
  "appId": "{{appid}}",
  "proxyIp": "socks5://x:x@111.153.185.21:11332"
}

参数说明:

参数名称 位置 类型 是否必选 说明
VideosApi-token header string 认证令牌
body body object 请求体对象
appId body string 设备唯一标识ID
proxyIp body string 代理IP地址,格式支持如 socks5://用户名:密码@IP:端口

返回结果示例(状态码 200)

{
  "ret": 0,
  "msg": "string"
}

响应状态码说明

状态码 含义 说明 数据模型
200 OK 请求成功 Inline

返回数据结构(状态码 200)

字段名 类型 必选 约束 中文名 说明
ret integer true none 返回码 操作结果标识,0 表示成功
msg string true none 消息提示 返回的描述信息
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群