基础接口
获取托管企业微信列表
GET https://ex-api.botorange.com/bot/list
参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 调用接口凭证, 获取方式 |
参数需要通过url传入,例如:
GET https://ex-api.botorange.com/bot/list?token={your-token}
返回数据为json格式,具体格式如下:
{
"code": 0,
"data": [
{
"id": "60541d4fd28931d5f9f617ff",
"wxid": "1688853462929494",
"weixin": "MiRenDeHaiYang",
"nickName": "迷人的海洋",
"avatar": "https://wework.qpic.cn/bizmail/wE1wZT8dKWr2jcpjCNC9fDXzjQKcq8CRew9cj4cog4nFDm9z6SibVFw/0",
"online": true
}
]
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|---|---|---|
code | number | 是 | 返回码 |
data | array | 是 | 托管企业微信数据 |
data.id | string | 是 | 托管企业微信的账号ID, 详见botId |
data.wxid | string | 是 | 托管企业微信的wxid,在企业微信内唯一, 详见imBotId |
data.weixin | string | 是 | 托管企业微信的userId,可与企业微信API的userId一一对应, 详见wxUserId |
data.nickName | string | 是 | 托管企业微信的昵称 |
data.avatar | string | 是 | 托管企业微信的头像 |
data.online | boolean | 是 | 托管企业微信是否在线 |
获取个人微信授权到期及首次扫码登录的时间
GET https://hub.juzibot.com/api/v1/bot/weChatExpiredInfo
参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 调用接口凭证, 获取方式 |
id | string | 是 | 账号ID, 详见botId |
参数需要通过url传入,例如:
GET https://hub.juzibot.com/api/v1/bot/weChatExpiredInfo?token={your-token}&id=**
返回数据为json格式,具体格式如下:
{
"code": 0,
"data": [
{
"id": "60541d4fd28931d5f9f617ff",
"wxid": "1688853462929494",
"weixin": "MiRenDeHaiYang",
"nickName": "迷人的海洋",
"expiredTimestamp": 1658764800000,
"scanLoginTimestamp": 1658772000000
}
]
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|---|---|---|
code | number | 是 | 返回码 |
data | array | 是 | 微信授权到期及首次扫码登录数据 |
data.id | string | 是 | 托管企业微信的账号ID, 详见botId |
data.wxid | string | 是 | 托管企业微信的wxid,在企业微信内唯一, 详见imBotId |
data.weixin | string | 是 | 托管企业微信的userId,可与企业微信API的userId一一对应, 详见wxUserId |
data.nickName | string | 是 | 托管企业微信的昵称 |
data.expiredTimestamp | number | 是 | 个人微信授权到期时间 |
data.scanLoginTimestamp | number | 是 | 首次扫码登录时间 |
获取联系人列表
GET https://ex-api.botorange.com/contact/list
此接口为分页接口,单页最大100条,需要自行翻页获取所有数据
参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 调用接口凭证, 获取方式 |
current | number | 否 | 页码, 默认为0,即第一页 |
pageSize | number | 否 | 每页数量, 默认为10,最大为1000 |
wxid | string | 否 | 用来搜索某wxid的用户,当传入此参数时,current 和 pageSize 失效, contactWxid |
includeStranger | string | 否 | 当传入这个参数为字符串"true"的时候,会在结果中返回单删好友(托管账号删客户或客户删掉托管账号) | |
参数需要通过url传入,例如:
GET https://ex-api.botorange.com/contact/list?token={your-token}¤t=1&pageSize=4
上面这条请求会查询第5-8条数据,即每页四条,第二页的数据
GET https://ex-api.botorange.com/contact/list?includeStranger=true
上面这条请求会查询到单删好友,返回第一页数据,最多10条
GET https://ex-api.botorange.com/contact/list?wxid=wxid_xxxxx
上面这条请求会查询 wxid 为 wxid_xxxxx 的用户
返回数据为json格式,具体格式如下:
{
"code": 0,
"data": [
{
"chatId": "5dbe8287184b7cb41f5265ce",
"botInfo": {
"wxid": "wxid_rr9ej1o8xv9h21",
"weixin": "iguxiaobei",
"nickName": "小北"
},
"wxid": "wxid_rr9ej1o8xv9h20",
"weixin": "kx930418",
"nickName": "联系人昵称",
"alias": "联系人备注",
"avatarUrl": "http://wx.qlogo.cn/mmhead/ver_1/rIMjtIkM3fRnugJcOj9AA9BiaPpIWRia9SaxNPXMLMSj0zcBKIvboibaReOakDbicUzk3B24o87AXwSX4yibtFXicLiaA/132",
"city": "Haidian",
"province": "Beijing",
"gender": 2,
"labels": [
{
"id": "5eda03260e21f35ca20f9eb4",
"name": "同事"
}
],
"contactType": 1,
"coworker": false,
"unionId": "xxxxxxx",
"externalUserId": "xxxxxxxx",
"deleted": false,
"tags": [
{"labelName": "标签名称"}
]
}
],
"page": {
"current": 1,
"total": 428
}
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|---|---|---|
code | number | 是 | 返回码 |
data | array | 是 | 联系人数据 |
data.chatId | string | 是 | 该联系人的对话ID, 详见chatId |
data.botInfo | object | 是 | 所属微信信息 |
data.botInfo.wxid | string | 是 | 所属微信的wxid, 详见imBotId |
data.botInfo.weixin | string | 是 | 所属微信的userId,可与企业微信API的userId一一对应, 详见wxUserId |
data.botInfo.nickName | string | 是 | 所属微信昵称 |
data.wxid | string | 是 | wxid,该id在微信里唯一, 详见contactWxid |
data.weixin | number | 否 | userId |
data.nickName | string | 是 | 昵称 |
data.alias | string | 否 | 备注 |
data.avatarUrl | string | 是 | 头像 |
data.city | string | 否 | 的省份信息 |
data.province | string | 否 | 的城市信息 |
data.gender | number | 是 | 性别,0 - 未知,1 - 男,2 - 女 |
data.labels | array | 是 | 秒回标签信息 |
data.labels.id | array | 是 | 秒回标签id |
data.labels.name | array | 是 | 秒回标签名字 |
data.contactType | number | 否 | 联系人类型,0 - 未知,1 - 微信,2 - 公众号,3 - 企业微信 |
data.coworker | boolean | 否 | 是否为同事(同一个企业下的员工) |
data.unionId | string | 否 | 该联系人对应的unionId,该值只有在关联了企业控制台,此联系人数据在企业控制台和秒回间打通,并且当前企业微信的企业绑定了微信开放平台才可返回, 详见unionId |
data.deleted | boolean | 否 | 是否已删除 |
data.externalUserId | string | 否 | 该联系人对应的externalUserId,该值只有在关联了企业控制台,此联系人数据在企业控制台和秒回间打通才可返回, 详见externalUserId |
data.tags | array | 是 | 企微标签 |
data.tags.labelName | string | 是 | 企微标签名字 |
data.friendshipStatus | number | 否 | 好友状态,0 - 非好友,1 - 好友删除了托管账号,2 - 托管账号删除了好友,3 - 双向好友 |
data.newFriendTimestamp | number | 否 | 添加好友时间,毫秒级的时间戳 |
获取群列表
GET https://ex-api.botorange.com/room/list
此接口为分页接口,单页最大100条,需要自行翻页获取所有数据
参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 调用接口凭证, 获取方式 |
current | number | 否 | 页码, 默认为0,即第一页 |
pageSize | number | 否 | 每页数量, 默认为10,最大为100 |
wxid | string | 否 | 用来搜索某 wxid 的群,当传入此参数时,current 和 pageSize 失效, roomWxid |
参数需要通过url传入,例如:
GET https://ex-api.botorange.com/room/list?token={your-token}¤t=2&pageSize=5
上面这条请求会查询第11-15条数据,即每页五条,第三页的数据
GET https://ex-api.botorange.com/room/list?wxid=chatroom@xxx
上面这条请求会查询 wxid 为 chatroom@xxx 的群
返回数据为json格式,具体格式如下:
{
"code": 0,
"data": [
{
"chatId": "5dbe8287184b7cb41f52674e",
"botInfo": {
"wxid": "wxid_rr9ej1o8xv9h21",
"weixin": "iguxiaobei",
"nickName": "小北"
},
"wxid": "11293954269@chatroom",
"topic": "大街小巷程序员",
"avatarUrl": "http://wx.qlogo.cn/mmcrhead/WibBib8GYLV5M0UyNUyX4SA5zf5cCzOjsCG3Z1HWA1hneVfQfTIPygia6ibN31LSWqG1jFe0zXZSujPp4CwhBibXpxeQPnDp3LEYN/0",
"ownerId": "wxid_rr9ej1o8xv9h21",
"members": [
{
"wxid": "kx23498",
"nickName": "群成员昵称",
"avatarUrl": "http://wx.qlogo.cn/mmhead/ver_1/3mtHGNE50ZpxZX3SMwqibluNAz5GgiaAVLyzyc3Ex0TThpfrVUibnKiagiciaP5jeO2f6wYAuiaW5cXjKhsgbAHzCzNs4V4uibzLkxr0z3XaluTRGUc/132",
"roomAlias": null,
"isFriend": true,
"contactType": 1,
"coworker": false // is coworker or not
}
],
"labels": [
{
"id": "5eda03260e21f35ca20f9eb4",
"name": "VIP客户群"
}
],
"wecomChatId": "wrrRhyBgAAGf2Wo90zgjmNspXj4y8pQA", // 如果需要该值, 需要联系售后申请内测升级
"deleted": false,
"external": true,
"memberCount": 10
}
],
"page": {
"current": 1,
"total": 107
}
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|---|---|---|
code | number | 是 | 返回码 |
data | array | 是 | 群数据 |
data.chatId | string | 是 | 该群组的对话id, 详见chatId |
data.botInfo | object | 是 | 所属微信信息 |
data.botInfo.wxid | string | 是 | 所属微信的wxid, 详见imBotId |
data.botInfo.weixin | string | 是 | 所属微信的userId,可与企业微信API的userId一一对应, 详见wxUserId |
data.botInfo.nickName | string | 是 | 所属微信昵称 |
data.wxid | string | 是 | wxid,该id在微信里唯一, 详见roomWxid |
data.topic | string | 是 | 群名称 |
data.avatarUrl | string | 是 | 群头像 |
data.ownerId | string | 是 | 群主wxid |
data.members | array | 是 | 群成员 |
data.members.wxid | string | 是 | 群成员wxid, 详见contactWxid |
data.members.nickName | string | 是 | 群成员昵称 |
data.members.avatarUrl | string | 是 | 群成员头像url |
data.members.roomAlias | string | 是 | 群成员在群中的昵称 |
data.members.isFriend | boolean | 是 | 该成员是否和所属微信是好友 |
data.members.contactType | number | 否 | 联系人类型,0 - 未知,1 - 微信,2 - 公众号,3 - 企业微信 |
data.members.coworker | boolean | 否 | 是否为同事(同一个企业下的员工) |
data.members.corporation | string | 否 | 该客户所属企业名 |
data.labels | array | 是 | 秒回标签 |
data.labels.id | string | 是 | 秒回标签id |
data.labels.name | string | 是 | 秒回标签名称 |
data.wecomChatId | string | 否 | 企业微信群官方id。如果需要该值, 需要联系售后申请内测升级, 详见wecomChatId |
data.deleted | boolean | 是 | 群聊是否已经不在 |
data.external | boolean | 是 | 群聊 true外部群聊 false内部群聊 |
data.memberCount | number | 是 | 群成员人数 |
page | object | 是 | 分页信息 |
page.current | number | 是 | 当前页数 |
page.total | number | 是 | 总数 |
注:该接口于2021-04-13号增加了 contactType
和 coworker
字段,但此数据需要系统重新同步才会存在 注2:该接口于2021-11-27号增加了 corporation
字段,但此数据需要系统重新同步才会存在 所以对于 2021-04-13 和 2021-11-27 之前存在的账号,如果需要返回此字段,需要手动在秒回后台的【客户管理】页面点击【同步群聊】按钮来同步数据,之后才可以获取到这两个新增字段
获取群列表(不包含成员信息)
GET https://ex-api.botorange.com/room/simpleList
此接口为分页接口,单页最大100条,需要自行翻页获取所有数据
参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 调用接口凭证, 获取方式 |
current | number | 否 | 页码, 默认为0,即第一页 |
pageSize | number | 否 | 每页数量, 默认为10,最大为1000 |
wxid | string | 否 | 用来搜索某 wxid 的群,当传入此参数时,current 和 pageSize 失效, roomWxid |
参数需要通过url传入,例如:
GET https://ex-api.botorange.com/room/simpleList?token={your-token}¤t=2&pageSize=5
上面这条请求会查询第11-15条数据,即每页五条,第三页的数据
GET https://ex-api.botorange.com/room/simpleList?wxid=chatroom@xxx
上面这条请求会查询 wxid 为 chatroom@xxx 的群
返回数据为json格式,具体格式如下:
{
"code": 0,
"data": [
{
"chatId": "5dbe8287184b7cb41f52674e",
"botInfo": {
"wxid": "wxid_rr9ej1o8xv9h21",
"weixin": "iguxiaobei",
"nickName": "小北"
},
"wxid": "11293954269@chatroom",
"topic": "大街小巷程序员",
"avatarUrl": "http://wx.qlogo.cn/mmcrhead/WibBib8GYLV5M0UyNUyX4SA5zf5cCzOjsCG3Z1HWA1hneVfQfTIPygia6ibN31LSWqG1jFe0zXZSujPp4CwhBibXpxeQPnDp3LEYN/0",
"ownerId": "wxid_rr9ej1o8xv9h21",
"memberCount": 10,
"labels": [
{
"id": "5eda03260e21f35ca20f9eb4",
"name": "VIP客户群"
}
],
"wecomChatId": "wrrRhyBgAAGf2Wo90zgjmNspXj4y8pQA", // 如果需要该值, 需要联系售后申请内测升级
"deleted": false,
"external": true,
"memberCount": 10
}
],
"page": {
"current": 1,
"total": 107
}
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|---|---|---|
code | number | 是 | 返回码 |
data | array | 是 | 群数据 |
data.chatId | string | 是 | 该群组的对话id, 详见chatId |
data.botInfo | object | 是 | 所属微信信息 |
data.botInfo.wxid | string | 是 | 所属微信的wxid, 详见imBotId |
data.botInfo.weixin | string | 是 | 所属微信的userId,可与企业微信API的userId一一对应, 详见wxUserId |
data.botInfo.nickName | string | 是 | 所属微信昵称 |
data.wxid | string | 是 | wxid,该id在微信里唯一, 详见roomWxid |
data.topic | string | 是 | 群名称 |
data.avatarUrl | string | 是 | 群头像 |
data.ownerId | string | 是 | 群主wxid |
data.memberCount | int | 是 | 群成员数量 |
data.labels | array | 是 | 秒回标签 |
data.labels.id | string | 是 | 秒回标签id |
data.labels.name | string | 是 | 秒回标签名称 |
data.wecomChatId | string | 否 | 企业微信群官方id。如果需要该值, 需要联系售后申请内测升级, 详见wecomChatId |
data.deleted | boolean | 是 | 群聊是否已经不在 |
data.external | boolean | 是 | 群聊 true外部群聊 false内部群聊 |
data.memberCount | number | 是 | 群成员人数 |
page | object | 是 | 分页信息 |
page.current | int | 是 | 当前页数 |
page.total | int | 是 | 总数 |
发送秒回通知
POST https://ex-api.botorange.com/mhNotice/send
请求示例:
{
"token": "5f60998462c907003e1fa2c1",
"content": "通知内容",
"title": "通知标题",
"time": 30
}
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 秒回调用接口凭证, 获取方式 |
content | string | 是 | 通知内容 |
title | string | 否 | 通知标题,可以不存在 |
time | number | 否 | 通知展示时长(单位秒), 如果为0或者不传则不会自动关闭 |
注意
小组成员登录秒回且网页端打开时,才会显示提醒。 刷新网页/关闭浏览器 会导致通知消息全部关闭。
返回示例:
{
"code": 0
}
获取秒回标签列表
GET https://ex-api.botorange.com/tag/mh/list?token=***
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 秒回调用接口凭证, 获取方式 |
返回示例:
{
"code": 0,
"data": [{
"id": "tagId",
"groupId": "groupId",
"name": "tagName",
"type": MHTagType,
}]
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|---|---|---|
code | number | 是 | 返回码 |
message | string | 是 | 对返回码的文本描述内容 |
data.id | string | 是 | 秒回标签id |
data.groupId | string | 是 | 秒回小组id, 详见groupId |
data.name | string | 是 | 秒回标签名称 |
data.type | number | 是 | 秒回标签类型(MHTagType) |
enum MHTagType {
Contact = 0, // 联系人秒回标签
Room = 1, // 群聊秒回标签
}
获取组内员工列表
GET https://ex-api.botorange.com/user/list?token=***
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | string | 是 | 调用接口凭证, 获取方式 |
返回示例:
{
code: 0,
data:[{
id: '61a7e8beabdb43077460e32c'
wecomUserId: 'zhangsan',
name: '张三',
email: 'zhangsan@163.com',
phone: '123',
avatar: 'http://p.qlogo.cn/bizmail/IcsdgagqefergqerhewSdage/0'
}],
}
名称 | 类型 | 必定存在 | 备注 |
---|---|---|---|
code | number | 是 | 返回码 |
data.id | string | 是 | 员工id, 秒回唯一 |
data.wecomUserId | string | 是 | 员工企微userId, 详见wxUserId |
data.name | string | 是 | 员工姓名 |
data.email | string | 否 | 员工邮箱 |
data.phone | string | 否 | 员工手机号 |
data.avatar | string | 否 | 员工头像 |