本篇文章主要讨论微信机器人的开发经验。微信机器人的功能需求很简单,业务代码贼好撸,但是如何和微信交互呢,如何取到微信数据调用相关聊天接口呢,具体分为以下几种技术类型:

1.微信Web接口

17年后微信都不支持了,不过还是有一些牛×的star 都是过W star的项目,可惜荒废了。

2.手机Xposed和电脑 PC

都是HOOK技术,是需要懂汇编,懂c或c++才可以开发自定义,重点是还需要公司去买采购刷机的手机和windows服务器,一个号成本几千块,条件不允许啊!!

3.E云管家方案

这个方案目前可使用的内容上来说,是功能最全的,而且安全性相比其他方案更好,安全性、稳定性比较优秀。难点是,目前并没有被公开,自己分析代价很大,需要企业合作。

关于个人微信机器人的开发_微信

请求URL:

  • http://域名地址/getIPadLoginInfo

请求方式:

  • POST

请求头Headers:(别忘了传)

  • Content-Type:application/json
  • Authorization:login接口返回

参数:

参数名

必选

类型

说明

wId

string

登录实例标识

verifyCode

string

验证码

默认不传,若扫码结束后,本接口返回提示"请在ipad上输入验证码"

,则再调用1次本接口且传验证码即可(PS:极少情况下会出现此情况,可忽略此字段)

小提示:

  • 此接口为检测耗时接口,最长250S返回请求,用户VX扫码了会返回结果,且扫码成功后手机上会显示ipad登录成功,才可以收发消息及调用其它接口!
  • 首次登录平台,24小时内会掉线1次,且72小时内不能发送朋友圈,掉线后必须传wcid调用获取二维码接口再次扫码登录即可实现3月内不掉线哦, 详细规范点击这里(第1大类1小节) PS:若出现登录60S内无故掉线也看这里哦!

返回数据:

参数名

类型

说明

code

string

1000成功,1001失败

msg

string

反馈信息

data

wcId

string

微信id

(唯一值)

nickName

string

昵称

deviceType

string

扫码的设备类型

uin

int

识别码

headUrl

string

头像url

wAccount

string

手机上显示的微信号

(用户若手机改变微信号,本值会变)

sex

int

性别

mobilePhone

string

绑定手机

status

string

保留字段

请求参数示例

{
    "wId": "0000016e-63eb-f319-0001-ed01076abf1f"
}

成功返回示例

{
    "code": "1000",
    "message": "处理成功",
    "data": {
        "country": "CN",
        "wAccount": "hi1212",
        "deviceType": "android",
        "city": "",
        "signature": "我的签名如风一样难以琢磨",
        "nickName": "贝塔同学",
        "sex": 2,
        "headUrl": "http://wx.qlogo.cn/mmhead/ver_1/EImpg1FWcIdhPg3zRAnkVdVdV2hic1Mib7zZ9mLTwhv5QzhNrdTCL0nKAsOgiaRrJmQwrXnBY7c1QNDo4aNc8niaicYuQpLPbJqyaJ6sKjlm5mKY/0",
        "type": 2,
        "smallHeadImgUrl": "http://wx.qlogo.cn/mmhead/ver_1/EImpg1FWcIdhPg3zRAnkVdVdV2hic1Mib7zZ9mLTwhv5QzhNrdTCL0nKAsOgiaRrJmQwrXnBY7c1QNDo4aNc8niaicYuQpLPbJqyaJ6sKjlm5mKY/132",
        "wcId": "wxid_ylxtxxg0p8bx22",
        "wId": "25d50610-1a82-4531-b9db-dd80c5a3c14a",
        "mobilePhone": "19822121231",
        "uin": 124723525,
        "status": 3,
        "username": "18013350963"
    }
}

错误返回示例

{
    "message": "失败",
    "code": "1001",
    "data": null
}