Version | Update Time | Status | Author | Description |
---|---|---|---|---|
1.0 | 2020-8-22 | update | - | - |
1. 数据API
1.1. 获取登录二维码
Type: GET
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Description: 使用前请先调用“启动微信客户端接口”
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
machineCode | string | 机器码 | true | - |
Request-example:
curl -X GET -i http://127.0.0.1/api/login/qrcode?machineCode=303b4699-191a-422f-9bbe-399e8124fb70
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─qrCode | string | 二维码数据 | - |
└─clientId | string | 微信客户端ID | - |
└─createTime | string | 生成时间 | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ "qrCode":"http://weixin.qq.com/x/Q7esxVuGloULTn7uPg_W", "clientId":"11932", "createTime":2020-8-30 12:12:12 } }
1.2. 获取客户端登录微信列表
Type: GET
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Description: 获取客户端登录微信列表
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
machineCode | string | 机器码 | true | - |
Request-example:
curl -X GET -i http://127.0.0.1/api/account/list?machineCode=303b4699-191a-422f-9bbe-399e8124fb70
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─wxid | string | 微信id | - |
└─name | string | 微信昵称 | - |
└─headImg | string | 头像链接 | - |
└─state | int32 | 状态(0:已删除,1:已登录,2:已下线) | - |
└─lastLogin | string | 最后在线时间 | - |
└─clientId | string | 微信客户端ID | - |
└─createTime | string | 创建时间 | - |
Response-example:
{ "code":200, "msg":"sucess", "data":[ { "wxid":"wxid_95zo7g057d6z22", "name":"小新", "headImg":"http://wx.qlogo.cn/mmhead/ver_1/DBSEib7uUcGmNgY02eOyJeYLybKhgzujr2AzrE3FfibpSaoicM6FsRaSia0uyvRPopJARfiaOZNftHIx0MbSjBjNdcBMvfUWia2uqBWB28ibGXiaGuM/0", "state":1, "lastLogin":2020-08-22 19:27:59, "clientId":"1304", "createTime":2020-08-20 22:44:04 } ] }
1.3. 获取登录微信用户列表
Type: GET
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Description: 获取登录微信用户列表
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
pageNum | int32 | 当前页 | false | - |
pageSize | int32 | 页面大小 | false | - |
machineCode | string | 机器码 | true | - |
accountWxid | string | 所属微信wxid | true | - |
type | int32 | 用户类型(1:普通用户,2:微信群,3:公众号,4:其他) | false | - |
Request-example:
curl -X GET -i http://127.0.0.1/api/user/list?machineCode=303b4699-191a-422f-9bbe-399e8124fb70&type=1&pageSize=10&accountWxid=wxid_95zo7g057d6z22&pageNum=923
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─total | int64 | 结果总数 | - |
└─pages | int32 | 总页数 | - |
└─pageNum | int32 | 当前页码 | - |
└─pageSize | int32 | 页面大小 | - |
└─list | array | 数据列表 | - |
└─type | int32 | 用户类型(1:普通用户,2:微信群,3:公众号,4:其他) | - |
└─wxAccountId | int32 | 所属登录微信 | - |
└─wxid | string | 微信id | - |
└─name | string | 微信昵称 | - |
└─mark | string | 备注 | - |
└─groupAdmin | string | 群主wxid | - |
└─userCount | int32 | 群用户数量 | - |
└─headImg | string | 头像链接 | - |
└─signStr | string | 签名 | - |
└─country | string | 国家 | - |
└─province | string | 省 | - |
└─city | string | 城市 | - |
└─sex | int32 | 性别(1:男,2:女) | - |
└─createTime | string | 创建时间 | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ "total":9999, "pages":50, "pageNum":1, "pageSize":20, "list":[ { "type":1, "wxAccountId":2, "wxid":"wxid_95zo7g057d6z22", "name":"小新", "mark":"朋友", "groupAdmin":"wxid_95zo7g057d6z22", "userCount":99, "headImg":"http://wx.qlogo.cn/mmhead/ver_1/DBSEib7uUcGmNgY02eOyJeYLybKhgzujr2AzrE3FfibpSaoicM6FsRaSia0uyvRPopJARfiaOZNftHIx0MbSjBjNdcBMvfUWia2uqBWB28ibGXiaGuM/0", "signStr":"哈哈哈", "country":"CN", "province":"Guangdong", "city":"Shenzhen", "sex":1, "createTime":2020-08-02 16:02:49 } ] } }
1.4. 获取微信群成员列表
Type: GET
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Description: 获取微信群成员列表
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
pageNum | int32 | 当前页 | false | - |
pageSize | int32 | 页面大小 | false | - |
machineCode | string | 机器码 | true | - |
accountWxid | string | 所属微信wxid | true | - |
groupWxid | string | 要获取的群wxid | true | - |
Request-example:
curl -X GET -i http://127.0.0.1/api/group/user/list?machineCode=303b4699-191a-422f-9bbe-399e8124fb70&pageNum=577&pageSize=10&groupWxid=22566385278@chatroom&accountWxid=wxid_95zo7g057d6z22
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─total | int64 | 结果总数 | - |
└─pages | int32 | 总页数 | - |
└─pageNum | int32 | 当前页码 | - |
└─pageSize | int32 | 页面大小 | - |
└─list | array | 数据列表 | - |
└─wxid | string | 用户ID | - |
└─name | string | 用户昵称 | - |
└─groupName | string | 群昵称 | - |
└─headImg | string | 头像 | - |
└─state | int32 | 状态(0:已删除,1:已登录,2:已下线) | - |
└─createTime | string | 创建时间 | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ "total":9999, "pages":50, "pageNum":1, "pageSize":20, "list":[ { "wxid":"微信id", "name":"小新", "groupName":"。。。", "headImg":"http://wx.qlogo.cn/mmhead/ver_1/DffgKiaKNTJy4pGibIRInA2FF8u2QGuV5J6jGeLoU6oo0G4nbkhiaOOxj40FjF3vaicKRzKIsLuoYxbic5Zk80Il44Z94KRUFCR2NY6wib6I81tRQ/0", "state":1, "createTime":2020-08-02 16:03:52 } ] } }
1.5. 获取用户聊天信息历史记录
Type: GET
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Description: 获取实时消息请使用消息推送(需配置回调地址)
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
pageNum | int32 | 当前页 | false | - |
pageSize | int32 | 页面大小 | false | - |
machineCode | string | 机器码 | true | - |
accountWxid | string | 所属微信wxid | true | - |
groupWxid | string | 要获取的群wxid | false | - |
targetUserWxid | string | 聊天用户微信id | false | - |
msgFrom | int32 | 消息来源(0:对方->我,1:我->对方) | false | - |
Request-example:
curl -X GET -i http://127.0.0.1/api/msg/list?groupWxid=22566385278@chatroom&msgFrom=0&pageSize=10&targetUserWxid=wxid_95zo7g057d6z22&accountWxid=wxid_95zo7g057d6z22&pageNum=457&machineCode=303b4699-191a-422f-9bbe-399e8124fb70
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─total | int64 | 结果总数 | - |
└─pages | int32 | 总页数 | - |
└─pageNum | int32 | 当前页码 | - |
└─pageSize | int32 | 页面大小 | - |
└─list | array | 数据列表 | - |
└─machineCode | string | 机器码 | - |
└─clientId | string | 微信客户端ID | - |
└─accountWxid | string | 消息所属微信号wxid | - |
└─isGroupMsg | boolean | 是否为群发消息 | - |
└─groupWxid | string | 所属群wxid | - |
└─targetUserWxid | string | 聊天用户wxid | - |
└─msgType | string | 消息类型 16进制(具体含义可以百度) | - |
└─atUserListWxids | string | At的用户wxid列表“,”号间隔 | - |
└─msgBody | string | 原始消息体base64编码 | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ "total":9999, "pages":50, "pageNum":1, "pageSize":20, "list":[ { "machineCode":"303b4699-191a-422f-9bbe-399e8124fb70", "clientId":"1019", "accountWxid":"wxid_95zo7g057d6z22", "isGroupMsg":false, "groupWxid":"21861977728@chatroom", "targetUserWxid":"wxid_95zo7g057d6z22", "msgType":"2F", "atUserListWxids":"wxid_9b9f4jowb10722, wxid_9b9f4jowb10721", "msgBody":"7ru7dn" } ] } }
2. 命令API
2.1. 启动一个微信客户端
Type: POST
Content-Type: application/json; charset=utf-8
Description: 等待扫码的微信客户端只会存在一个,不存在则打开,存在直接返回。
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
machineCode | string | 机器码 | true | - |
Request-example:
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i http://127.0.0.1/api/startClient --data '{ "machineCode":"303b4699-191a-422f-9bbe-399e8124fb70" }'
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─any object | object | any object. | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ } }
2.2. 关闭一个微信客户端
Type: POST
Content-Type: application/json; charset=utf-8
Description: 关闭一个微信客户端
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
machineCode | string | 机器码 | true | - |
clientId | string | 微信客户端ID | true | - |
Request-example:
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i http://127.0.0.1/api/closeClient --data '{ "machineCode":"303b4699-191a-422f-9bbe-399e8124fb70", "clientId":"11932" }'
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─any object | object | any object. | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ } }
2.3. 发送文本消息接口
Type: POST
Content-Type: application/json; charset=utf-8
Description: 发送文本消息接口
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
machineCode | string | 机器码 | true | - |
accountWxid | string | 所属微信wxid | true | - |
toUserWxid | string | 收信人wxid | true | - |
msg | string | 文本消息 | true | - |
atWxid | string | At用户wxid | false | - |
Request-example:
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i http://127.0.0.1/api/sendTextMsg --data '{ "machineCode":"303b4699-191a-422f-9bbe-399e8124fb70", "accountWxid":"wxid_95zo7g057d6z22", "toUserWxid":"wxid_95zo7g057d6z22", "msg":"hello", "atWxid":"wxid_95zo7g057d6z22" }'
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─any object | object | any object. | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ } }
2.4. 发送图片消息接口
Type: POST
Content-Type: application/json; charset=utf-8
Description: 发送图片消息接口
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
machineCode | string | 机器码 | true | - |
accountWxid | string | 所属微信wxid | true | - |
toUserWxid | string | 收信人wxid | true | - |
imgData | string | 图片数据base64编码格式 | true | - |
Request-example:
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i http://127.0.0.1/api/sendImgMsg --data '{ "machineCode":"303b4699-191a-422f-9bbe-399e8124fb70", "accountWxid":"wxid_95zo7g057d6z22", "toUserWxid":"wxid_95zo7g057d6z22", "imgData":"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" }'
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─any object | object | any object. | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ } }
2.5. 发送小程序消息接口
Type: POST
Content-Type: application/json; charset=utf-8
Description: 发送小程序消息接口
Request-parameters:
Parameter | Type | Description | Required | Since |
---|---|---|---|---|
machineCode | string | 机器码 | true | - |
accountWxid | string | 所属微信wxid | true | - |
toUserWxid | string | 收信人wxid | true | - |
appMsgXml | string | 小程序消息原始xml(可复制接收到的小程序消息) | true | - |
Request-example:
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i http://127.0.0.1/api/sendAppMsg --data '{ "machineCode":"303b4699-191a-422f-9bbe-399e8124fb70", "accountWxid":"wxid_95zo7g057d6z22", "toUserWxid":"wxid_95zo7g057d6z22", "appMsgXml":"... " }'
Response-fields:
Field | Type | Description | Since |
---|---|---|---|
code | int32 | 状态码 | - |
msg | string | 提示消息 | - |
data | object | 消息结构体 | - |
└─any object | object | any object. | - |
Response-example:
{ "code":200, "msg":"sucess", "data":{ } }