群聊接口
加入、同步群事件回调
Bot加入群或同步到群组回调
TIP
加入群事件只会在BOT运行过程中被捕捉
同步事件会在BOT启动时以及成员同步群信息时被捕捉
POST ***/chatroom/joined #加入群事件
###
POST ***/chatroom/loaded #同步到群事件
回调请求Body
{
"chatId": "5dbe8287184b7cb41f52674e",
"botInfo": {
"wxid": "string",
"weixin": "string",
"nickName": "string"
},
"wxid": "string",
"topic": "string",
"avatarUrl": "string",
"ownerId": "string",
"members": [
{
"wxid": "string",
"nickName": "string",
"avatarUrl": "string",
"roomAlias": "string | null",
"isFriend": "boolean",
"contactType": "number",
"coworker": "boolean"
}
],
"group": "string",
"syncedTime": "number"
}
名称 | 类型 | 是否必须 | 备注 |
---|
chatId | string | 是 | 群组的对话id, 详见chatId |
botInfo | Model | 是 | 触发事件的Bot信息 |
botInfo.wxid | string | 是 | 触发事件的Bot wxid, 详见imBotId |
botInfo.weixin | string | 是 | 触发事件的Bot weixin |
botInfo.nickName | string | 是 | 触发事件的Bot 昵称 |
wxid | string | 是 | 群wxid, 相见roomWxid |
topic | string | 是 | 群名称 |
avatarUrl | string | 是 | 群头像地址 |
ownerId | string | 是 | 拥有者wxid, 详见imBotId |
members | List | 是 | 群内成员信息 |
members.wxid | string | 是 | 成员wxid, 详见contactWxid |
members.nickName | string | 是 | 成员昵称 |
members.avatarUrl | string | 是 | 成员头像地址 |
members.roomAlias | string/null | 是 | 成员备注 |
members.isFriend | string | 是 | 是否为好友 |
members.contactType | number | 是 | 联系人类型 |
members.coworker | boolean | 是 | 是否为同事 |
group | string | 是 | 群聊所属群组id |
syncedTime | string | 是 | BOT获取到同步信息的时间 |
加入群聊
### POST https://ex-api.botorange.com/room/addMember
请求示例:
{
"token": "abcd",
"botUserId": "testUserId",
"contactWxid": "7888888888",
"roomWxid": "R:888888"
}
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|
token | string | 是 | 调用接口凭证,秒回token, 获取方式 |
botUserId | string | 是 | 需要执行添加的托管微信的userId, 详见wxUserId |
contactWxid | string | 是 | 需要被添加的群成员的wxid, 详见contactWxid |
roomWxid | string | 是 | 需要被添加的群的wxid, 详见roomWxid |
注意
1.使用userId
进行添加群聊时,无法保证当前微信组下该userId
仅在一有一个账号,如果以当前userId
查到了不止一个托管账号,则会报错 2.群人数40人之前默认拉入群聊,40人以后发送入群卡片链接,需要客户点击确认 3.建议拉人进群时,每分钟不超过50次
返回示例:
{
"code": 0,
"message": ""
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|
code | number | 是 | 返回码 |
message | string | 是 | 对返回码的文本描述内容 |
错误码:
错误码 | 说明 |
---|
-2 | botUserId的bot不存在 |
-3 | botUserId存在多个机器人 |
-4 | 不是企业微信 |
-5 | bot不在线 |
-6 | 群聊加载失败 |
-7 | 拉入群聊失败 |
-8 | 和bot不是好友关系 |
-9 | 群聊中已经存在此好友 |
-10 | 群人数达到上限(500) |
-11 | bot不在群内 |
-12 | 该群是内部群,不执行此操作 |
创建群聊
POST https://ex-api.botorange.com/room/create
请求示例:
{
"token": "5f60998462c907003e1fa2c1",
"botUserId": "testUserId",
"userIds": [
"zhangsan"
],
"unionIds": [
"ozynqsulJFCZ2z1aYeS8h-nuasdAAA"
],
"name": "create",
"greeting": "大家好,这个是新的群",
"wxids": [
"wmrRhyBgAA6PKOL7IA2Nbikedjxxxxxx",
"wmrRhyBgAANQ1O34HRXfVQh17exxxxxx"
]
}
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|
token | string | 是 | 秒回调用接口凭证, 获取方式 |
botUserId | string | 是 | 需要执行建群的托管微信的userId, 详见wxUserId |
userIds | string array | 是 | 建群时需要拉入的企业成员的userId, 详见wxUserId |
unionIds | string array | 否 | 建群时需要拉取的外部联系人的unionId, 详见unionId |
name | string | 否 | 建群后新的群的名字 |
greeting | string | 是 | 建群后的激活语 |
wxids | string array | 否 | 建群时需要拉取的联系人的wxid, 详见contactWxid |
注意
使用userId
进行建群时,无法保证当前企业下该userId
仅在一个微信组内托管了一次,如果以当前userId
查到了不止一个托管账号,则会报错。
创建群聊时 unionIds
和 wxids
联系人组合的总人数应位于2~40之间,两个参数可以共存。
返回示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"chatId": "wrG3O4AAAAA8bbFkg5q6q0M0Sdp-QQQQ",
"roomWxid": "R:888888888"
}
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|
errcode | number | 是 | 返回码 |
errmsg | string | 是 | 对返回码的文本描述内容 |
data.chatId | string | 是 | 创建的群聊的chatId, 详见chatId |
data.roomWxid | string | 是 | 创建的群聊的wxid, 详见roomWxid |
错误码:
错误码 | 说明 |
---|
-1 | 无效token |
-2 | botUserId的bot不存在 |
-3 | botUserId存在多个机器人 |
-4 | 不是企业微信 |
-5 | bot不在线 |
-6 | 同事不存在 |
-7 | contact不存在 |
-8 | contact加载失败 |
-9 | 创建群聊失败 |
-10 | 创建群人数不足 |
退出群聊
POST https://ex-api.botorange.com/room/exit
请求示例:
{
"token": "5f60998462c907003e1fa2c1",
"wecomUserId": "testUserId",
"roomWxid": "R:123123123"
}
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|
token | string | 是 | 秒回调用接口凭证, 获取方式 |
wecomUserId | string | 是 | 需要执行的托管微信的userId, 详见wxUserId |
roomWxid | string | 是 | 群的wxid, 详见roomWxid |
返回示例:
{
"code": 0,
"message": "ok"
}
返回参数说明:
参数 | 类型 | 必定存在 | 备注 |
---|
code | number | 是 | 返回码 |
message | string | 否 | 对返回码的文本描述内容 |
错误码:
错误码 | 说明 |
---|
-1 | 无效token |
-2 | wecomUserId的bot不存在 |
-3 | wecomUserId存在多个机器人 |
-4 | 托管账号未正确登录 |
-5 | 不是企业微信 |
-6 | bot不在线 |
-7 | 托管账号不在群内 |
-8 | 群聊不存在 |
-9 | 群聊加载失败 |
-10 | 退出群聊失败 |
-11 | 因托管账号是群主,退出群聊失败,请在手机端退出 |
通过秒回群聊标签查询群
GET https://ex-api.botorange.com/room/listByMHTag?token=***&mhTagId=¤t=&pageSize=
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|
token | string | 是 | 调用接口凭证, 获取方式 |
mhTagId | string | 是 | 秒回标签id |
current | string | 是 | 当前页数(从1开始) |
pageSize | string | 是 | 条数 |
返回示例:
{
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
}
],
"labels": [
{
"id": "5eda03260e21f35ca20f9eb4",
"name": "VIP客户群"
}
],
"wecomChatId": "wrrRhyBgAAGf2Wo90zgjmNspXj4y8pQA",
"external": true,
"memberCount": 10
}],
page: {
current: 1,
total: 1
}
}
返回参数说明:
名称 | 类型 | 必定存在 | 备注 |
---|
code | number | 是 | 返回码 |
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, 详见imBotId |
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.external | boolean | 是 | 群聊 true外部群聊 false内部群聊 |
data.memberCount | number | 是 | 群成员人数 |
page.current | number | 是 | 当前页数 |
page.total | number | 是 | 总数 |
通过联系人id获取联系人所在群聊
GET https://ex-api.botorange.com/room/listByMember?token=***&contactWxid=
请求参数:
名称 | 类型 | 是否必须 | 备注 |
---|
token | string | 是 | 调用接口凭证, 获取方式 |
contactWxid | string | 是 | 联系人的wxid |
返回示例:
{
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
}
],
"labels": [
{
"id": "5eda03260e21f35ca20f9eb4",
"name": "VIP客户群"
}
],
"wecomChatId": "wrrRhyBgAAGf2Wo90zgjmNspXj4y8pQA",
"external": true,
"memberCount": 10
}],
}
返回参数说明:
名称 | 类型 | 必定存在 | 备注 |
---|
code | number | 是 | 返回码 |
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, 详见imBotId |
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.external | boolean | 是 | 群聊 true外部群聊 false内部群聊 |
data.memberCount | number | 是 | 群成员人数 |