差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 | 前一修订版 上一修订版 两侧同时换到之后的修订记录 | ||
start:100serverintegration:60groupmgmt [2017/09/22 07:12] |
start:100serverintegration:60groupmgmt [2018/12/12 07:15] jk 已恢复为旧版 (2018/11/06 11:34) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 群组管理 ====== | ||
+ | ---- | ||
+ | |||
+ | 环信提供了 REST API 来管理 APP 中的群组。 | ||
+ | |||
+ | 单个APP创建群组数量有[[http://www.easemob.com/pricing/im|限制]],如需增加可根据具体业务联系商务解决。单用户ID只能加入500个群。 | ||
+ | |||
+ | ===== 群组数据结构 ===== | ||
+ | |||
+ | ^字段名 ^类型 ^描述^ | ||
+ | |id |String |群组 ID,群组唯一标识符,由环信服务器生成,等同于单个用户的环信 ID。| | ||
+ | |name |String |群组名称,根据用户输入创建,字符串类型。| | ||
+ | |description |String |群组描述,根据用户输入创建,字符串类型。| | ||
+ | |public |Boolean |群组类型:true:公开群,false:私有群。| | ||
+ | |membersonly |Boolean |加入群组是否需要群主或者群管理员审批。true:是,false:否。| | ||
+ | |allowinvites |Boolean |是否允许群成员邀请别人加入此群。 true:允许群成员邀请人加入此群,false:只有群主才可以往群里加人。| | ||
+ | |maxusers |Integer |群成员上限,创建群组的时候设置,可修改。| | ||
+ | |affiliations_count |Integer |现有成员总数。| | ||
+ | |affiliations |Array |现有成员列表,包含了 owner 和 member。例如:"affiliations":[{"owner": "13800138001"},{"member":"v3y0kf9arx"},{"member":"xc6xrnbzci"}]。| | ||
+ | |owner |String |群主的环信 ID。例如:{"owner": "13800138001"}。| | ||
+ | |member |String |群成员的环信 ID。例如:{"member":"xc6xrnbzci"}。| | ||
+ | |invite_need_confirm|Boolean|邀请加群,被邀请人是否需要确认。如果是true,表示邀请加群需要被邀请人确认;如果是false,表示不需要被邀请人确认,直接将被邀请人加入群。 该字段的默认值为true。| | ||
+ | |||
+ | ===== 群组角色 ===== | ||
+ | |||
+ | 群组除了群主、普通群成员之外,新增群管理员角色。 | ||
+ | |||
+ | 群组角色权限范围:群主 > 群管理员 > 普通群成员 | ||
+ | |||
+ | * 群主拥有群的所有权限; | ||
+ | * 群管理员拥有管理黑名单、禁言等权限。 | ||
+ | |||
+ | ===== 管理群组 ===== | ||
+ | |||
+ | ==== 分页获取 APP 下的群组 ==== | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups | ||
+ | * HTTP Method: GET | ||
+ | * URL Params: limit 预期获取的记录数,数字类型; cursor 游标,如果数据还有下一页,API 返回值会包含此字段,字符类型。 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:404(此群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | === 第一页 === | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X GET -H "Authorization: Bearer YWMtP_8IisA-EeK-a5cNq4Jt3QAAAT7fI10IbPuKdRxUTjA9CNiZMnQIgk0LAAA" -i "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups?limit=2" | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "get", | ||
+ | "params": { | ||
+ | "limit": [ | ||
+ | "2" | ||
+ | ] | ||
+ | }, | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "owner": "easemob-demo#chatdemoui_user001", | ||
+ | "groupid": "100743775617286960", | ||
+ | "affiliations": 2, | ||
+ | "type": "group", | ||
+ | "last_modified": "1441021038124", | ||
+ | "groupname": "user001g" | ||
+ | }, | ||
+ | { | ||
+ | "owner": "easemob-demo#chatdemoui_hxt004", | ||
+ | "groupid": "100973270123152176", | ||
+ | "affiliations": 1, | ||
+ | "type": "group", | ||
+ | "last_modified": "1441074471486", | ||
+ | "groupname": "hxt004ht" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1441094193812, | ||
+ | "duration": 14, | ||
+ | "cursor": "Y2hhdGdyb3VwczplYXNlbW9iLWRlbW8vY2hhdGRlbW91aV8z", | ||
+ | "count": 2 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | === 第二页 === | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X GET -H "Authorization: Bearer YWMtP_8IisA-EeK-a5cNq4Jt3QAAAT7fI10IbPuKdRxUTjA9CNiZMnQIgk0LAAA" -i "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups?limit=10&cursor=Y2hhdGdyb3VwczplYXNlbW9iLWRlbW8vY2hhdGRlbW91aV8z" | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "get", | ||
+ | "params": { | ||
+ | "cursor": [ | ||
+ | "Y2hhdGdyb3VwczplYXNlbW9iLWRlbW8vY2hhdGRlbW91aV8z" | ||
+ | ], | ||
+ | "limit": [ | ||
+ | "2" | ||
+ | ] | ||
+ | }, | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "owner": "easemob-demo#chatdemoui_jianxin1", | ||
+ | "groupid": "1432966654513221", | ||
+ | "affiliations": 3, | ||
+ | "type": "group", | ||
+ | "last_modified": "1438605276924", | ||
+ | "groupname": "testrestgrp12" | ||
+ | }, | ||
+ | { | ||
+ | "owner": "easemob-demo#chatdemoui_jianxin1", | ||
+ | "groupid": "1432966654926530", | ||
+ | "affiliations": 3, | ||
+ | "type": "group", | ||
+ | "last_modified": "1432966654927", | ||
+ | "groupname": "testrestgrp11" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1441094237757, | ||
+ | "duration": 580, | ||
+ | "cursor": "Y2hhdGdyb3VwczplYXNlbW9iLWRlbW8vY2hhdGRlbW91aV81", | ||
+ | "count": 2 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 获取一个用户参与的所有群组 ==== | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/users/{username}/joined_chatgroups | ||
+ | * HTTP Method: GET | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略 | ||
+ | * 可能的错误码:404(此用户不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | |||
+ | curl 示例: | ||
+ | <code php> | ||
+ | curl -X GET 'https://a1.easemob.com/easemob-demo/chatdemoui/users/kenshinn/joined_chatgroups' -H 'Authorization: Bearer YWMtF4ZxXlLmEeS7kWnCMObSnQAAAUo-7HZU-bP7-SJzYGCaUdumxsGelt8pmss' | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action" : "get", | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui/users/kenshinn/joined_chatgroups", | ||
+ | "entities" : [ ], | ||
+ | "data" : [ { | ||
+ | "groupid" : "1413193977786197", | ||
+ | "groupname" : "kenshingrou" | ||
+ | }, { | ||
+ | "groupid" : "1413194058403881", | ||
+ | "groupname" : "kenshinngr1" | ||
+ | }, { | ||
+ | "groupid" : "1413601924284", | ||
+ | "groupname" : "kenshinngroup002" | ||
+ | }, { | ||
+ | "groupid" : "1413026100974", | ||
+ | "groupname" : "18192976732 的地图" | ||
+ | }, { | ||
+ | "groupid" : "141327925742855", | ||
+ | "groupname" : "kenshinngro" | ||
+ | }, { | ||
+ | "groupid" : "1413211974686981", | ||
+ | "groupname" : "5cxhactgdjgr" | ||
+ | } ], | ||
+ | "timestamp" : 1413428676499, | ||
+ | "duration" : 80 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 获取群组详情 ==== | ||
+ | |||
+ | 可以获取一个或多个群组的详情。当获取多个群组的详情时,会返回所有存在的群组的详情,对于不存在的群组,response body内返回"group id doesn't exist"。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id1},{group_id2} | ||
+ | * HTTP Method: GET | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:404(此群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X GET -H "Authorization: Bearer YWMtP_8IisA-EeK-a5cNq4Jt3QAAAT7fI10IbPuKdRxUTjA9CNiZMnQIgk0LEUE" -i "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1410511142870,1408518613503" | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action" : "get", | ||
+ | "application" : "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "params" : { }, | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1410511142870,1408518613503", | ||
+ | "entities" : [ ], | ||
+ | "data" : [ { | ||
+ | "id" : "1408518613503", | ||
+ | "name" : "Jay13800138000", | ||
+ | "description" : "", | ||
+ | "public" : false, | ||
+ | "membersonly" : true, | ||
+ | "allowinvites" : false, | ||
+ | "maxusers" : 200, | ||
+ | "affiliations_count" : 3, | ||
+ | "affiliations" : [ { | ||
+ | "owner" : "13800138001" | ||
+ | }, { | ||
+ | "member" : "v3y0kf9arx" | ||
+ | }, { | ||
+ | "member" : "xc6xrnbzci" | ||
+ | } ] | ||
+ | }, { | ||
+ | "id" : "1410511142870", | ||
+ | "name" : "abc", | ||
+ | "description" : "", | ||
+ | "public" : false, | ||
+ | "membersonly" : true, | ||
+ | "allowinvites" : false, | ||
+ | "maxusers" : 200, | ||
+ | "affiliations_count" : 1, | ||
+ | "affiliations" : [ { | ||
+ | "owner" : "u366" | ||
+ | } ] | ||
+ | } ], | ||
+ | "timestamp" : 1411526263806, | ||
+ | "duration" : 34, | ||
+ | "organization" : "easemob-demo", | ||
+ | "applicationName" : "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 创建一个群组 ==== | ||
+ | |||
+ | 创建一个群组,并设置群组名称、群组描述、公开群/私有群属性、群成员最大人数(包括群主)、加入公开群是否需要批准、群主、以及群成员。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups | ||
+ | * HTTP Method: POST | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: | ||
+ | <code json> | ||
+ | { | ||
+ | "groupname":"testrestgrp12", //群组名称,此属性为必须的 | ||
+ | "desc":"server create group", //群组描述,此属性为必须的 | ||
+ | "public":true, //是否是公开群,此属性为必须的 | ||
+ | "maxusers":300, //群组成员最大数(包括群主),值为数值类型,默认值200,最大值2000,此属性为可选的 | ||
+ | "members_only":true // 加入群是否需要群主或者群管理员审批,默认是false | ||
+ | "allowinvites": true //是否允许群成员邀请别人加入此群。 true:允许群成员邀请人加入此群,false:只有群主或者管理员才可以往群里加人。 | ||
+ | "owner":"jma1", //群组的管理员,此属性为必须的 | ||
+ | "members":["jma2","jma3"] //群组成员,此属性为可选的,但是如果加了此项,数组元素至少一个(注:群主jma1不需要写入到members里面) | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(owner不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X POST 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw45TXUWSIrXI8' -d '{"groupname":"testrestgrp12","desc":"server create group","public":true,"approval":true,"owner":"2ewcgkhhxf","maxusers":300,"members":["zh9w1hc49q"]}' | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action" : "post", | ||
+ | "application" : "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "params" : { }, | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities" : [ ], | ||
+ | "data" : { | ||
+ | "groupid" : "1411527886490154" | ||
+ | }, | ||
+ | "timestamp" : 1411527886457, | ||
+ | "duration" : 125, | ||
+ | "organization" : "easemob-demo", | ||
+ | "applicationName" : "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== 修改群组信息 ==== | ||
+ | |||
+ | 修改成功的数据行会返回 true,失败为 false。请求 body 只接收 groupname、description、maxusers 三个属性,传不存在的字段,或者不能修改的字段会抛异常。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id} | ||
+ | * HTTP Method: PUT | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: | ||
+ | <code json> | ||
+ | { | ||
+ | "groupname":"test rest group", //群组名称,修改时值不能包含斜杠("/")。 | ||
+ | "description":"update group info", //群组描述,修改时值不能包含斜杠("/")。 | ||
+ | "maxusers":300 //群组成员最大数(包括群主),值为数值类型 | ||
+ | } | ||
+ | </code> | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X PUT 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1412957434136' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIrXI8' -d '{"groupname":"testrestgrp12","description":"update groupinfo","maxusers":400}' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action" : "put", | ||
+ | "application" : "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities" : [ ], | ||
+ | "data" : { | ||
+ | "maxusers" : true, | ||
+ | "groupname" : true, | ||
+ | "description":true | ||
+ | }, | ||
+ | "timestamp" : 1419565633183, | ||
+ | "duration" : 30, | ||
+ | "organization" : "easemob-demo", | ||
+ | "applicationName" : "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 删除群组 ==== | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id} | ||
+ | * HTTP Method: DELETE | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X DELETE 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1411527886490154' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw45TXUWSIrXI8' | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action" : "delete", | ||
+ | "application" : "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "params" : { }, | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities" : [ ], | ||
+ | "data" : { | ||
+ | "success" : true, | ||
+ | "groupid" : "1411527886490154" | ||
+ | }, | ||
+ | "timestamp" : 1411528112078, | ||
+ | "duration" : 15, | ||
+ | "organization" : "easemob-demo", | ||
+ | "applicationName" : "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== 管理群组成员 ===== | ||
+ | |||
+ | ==== 分页获取群组成员 ==== | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/users | ||
+ | * HTTP Method: GET | ||
+ | * URL Params: pagenum:页码,从1开始;pagesize: 每页显示数量,最大不超过1000 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:服务器端 REST API 常见错误码 | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code> | ||
+ | curl -XGET HTTP://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/users?pagenum=2&pagesize=2 -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "get", | ||
+ | "application": "527cd7e0-04b3-11e7-9f59-ef10ecd81ff0", | ||
+ | "params": { | ||
+ | "pagesize": [ | ||
+ | "2" | ||
+ | ], | ||
+ | "pagenum": [ | ||
+ | "2" | ||
+ | ] | ||
+ | }, | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/users", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "member": "user1" | ||
+ | }, | ||
+ | { | ||
+ | "member": "user2" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1489074511416, | ||
+ | "duration": 0, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui", | ||
+ | "count": 2 | ||
+ | } | ||
+ | </code> | ||
+ | ==== 添加群组成员[单个] ==== | ||
+ | |||
+ | 一次给群添加一个成员,不同重复添加同一个成员。如果用户已经是群成员,将添加失败,并返回错误。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/users/{username} | ||
+ | * HTTP Method: POST | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略 | ||
+ | * 可能的错误码:400(被添加的IM用户不存在)、403(IM用户已经是群成员)、404(此群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | |||
+ | curl 示例: | ||
+ | <code php> | ||
+ | curl -X POST 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1411816013089/users/q4xpsfjfvf' -H 'Authorization: Bearer YWMtgNIiTFAwEeSB9olyTIXFtwAAAUotKvWaUOaUuqeuhNMgOgozO4popVZe-Ls' | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Response 示例: | ||
+ | <code json> | ||
+ | { | ||
+ | "action" : "post", | ||
+ | "application" : "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities" : [ ], | ||
+ | "data" : { | ||
+ | "action" : "add_member", | ||
+ | "result" : true, | ||
+ | "groupid" : "1411816013089", | ||
+ | "user" : "q4xpsfjfvf" | ||
+ | }, | ||
+ | "timestamp" : 1413012512005, | ||
+ | "duration" : 29, | ||
+ | "organization" : "easemob-demo", | ||
+ | "applicationName" : "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 添加群组成员[批量] ==== | ||
+ | |||
+ | 为群组添加多个成员,一次最多可以添加60位成员。如果所有用户均已是群成员,将添加失败,并返回错误。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{chatgroupid}/users | ||
+ | * HTTP Method: POST | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: {“usernames”:[“username1”,”username2”]}’ — usernames 固定属性,作为 JSON 的 KEY;username1/username2 要添加到群中的成员用户名,可变 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略 | ||
+ | * 可能的错误码:400(用户不存在)、403(所有用户均已是群成员)、404(群组id不存在、添加owner为member)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X POST -H 'Authorization: Bearer YWMtF4ZxXlLmEeS7kWnCMObSnQAAAUo-7HZU-bP7-SJzYGCaUdumxsGelt8pmE4' -i 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1411816013089/users' -d '{"usernames":["5cxhactgdj","mh2kbjyop1"]}' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action" : "post", | ||
+ | "application" : "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities" : [ ], | ||
+ | "data" : { | ||
+ | "newmembers" : [ "5cxhactgdj", "mh2kbjyop1" ], | ||
+ | "action" : "add_member", | ||
+ | "groupid" : "1411816013089" | ||
+ | }, | ||
+ | "timestamp" : 1413428995083, | ||
+ | "duration" : 4, | ||
+ | "organization" : "easemob-demo", | ||
+ | "applicationName" : "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 移除群组成员[单个] ==== | ||
+ | |||
+ | |||
+ | 从群中移除某个成员。如果被移除用户不是群成员,将移除失败,并返回错误。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/users/{username} | ||
+ | * HTTP Method: DELETE | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略 | ||
+ | * 可能的错误码:403(被移除用户不在群组里等)、404(被移除的IM用户不存在,此群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X DELETE 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1411816013089/users/q4xpsfjfvf' -H 'Authorization: Bearer YWMtgNIiTFAwEeSB9olyTIXFtwAAAUotKvWaUOaUuqeuhNMgOgozO4popVZe-Ls' | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action" : "delete", | ||
+ | "application" : "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri" : "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities" : [ ], | ||
+ | "data" : { | ||
+ | "action" : "remove_member", | ||
+ | "result" : true, | ||
+ | "groupid" : "1411816013089", | ||
+ | "user" : "q4xpsfjfvf" | ||
+ | }, | ||
+ | "timestamp" : 1413012566573, | ||
+ | "duration" : 56, | ||
+ | "organization" : "easemob-demo", | ||
+ | "applicationName" : "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== 移除群组成员[批量] ==== | ||
+ | |||
+ | 移除群成员,用户名之间用英文逗号分隔。如果所有被移除用户均不是群成员,将移除失败,并返回错误。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/users/memeber1,member2,member3 | ||
+ | * HTTP Method: DELETE | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {"Content-Type":"application/json","Authorization":"Bearer ${token}"} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: result 为 true 表示移除成功;result 为 false 表示移除失败,此时 reason 字段注明失败原因。 | ||
+ | * 可能的错误码:403(被移除用户不在群组里等)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X DELETE -H "Authorization: Bearer YWMtP_8IisA-EeK-a5cNq4Jt3QAAAT7fI10IbPuKdRxUTjA9CNiZMnQIgk0LEUE" -i "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1433495614983/users/user1,user2,user3" | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "delete", | ||
+ | "application": "9b848cf0-fafe-11e4-b5b8-0f74e8e740f7", | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "result": false, | ||
+ | "action": "remove_member", | ||
+ | "reason": "user ttestuser0015981 doesn't exist.", | ||
+ | "user": "user1", | ||
+ | "groupid": "1433492852257879" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "action": "remove_member", | ||
+ | "user": "user2", | ||
+ | "groupid": "1433492852257879" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "action": "remove_member", | ||
+ | "user": "user3", | ||
+ | "groupid": "1433492852257879" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1433492935318, | ||
+ | "duration": 84, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== 获取群管理员列表 ==== | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/admin | ||
+ | * HTTP Method: GET | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:服务器端 REST API 常见错误码 | ||
+ | |||
+ | curl示例: | ||
+ | |||
+ | <code> | ||
+ | curl -XGET HTTP://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/admin -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "get", | ||
+ | "application": "527cd7e0-04b3-11e7-9f59-ef10ecd81ff0", | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/admin", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | "z1" | ||
+ | ], | ||
+ | "timestamp": 1489073361210, | ||
+ | "duration": 0, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui", | ||
+ | "count": 1 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 添加群管理员 ==== | ||
+ | |||
+ | 将一个群成员角色提升为群管理员。 | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/admin | ||
+ | * HTTP Method: POST | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 参见curl示例 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:服务器端 REST API 常见错误码 | ||
+ | |||
+ | curl示例: | ||
+ | |||
+ | <code> | ||
+ | curl -XPOST HTTP://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/admin -d '{"newadmin":"z1"}' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "post", | ||
+ | "application": "527cd7e0-04b3-11e7-9f59-ef10ecd81ff0", | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/admin", | ||
+ | "entities": [], | ||
+ | "data": { | ||
+ | "result": "success", | ||
+ | "newadmin": "z1" | ||
+ | }, | ||
+ | "timestamp": 1489073130083, | ||
+ | "duration": 1, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 移除群管理员 ==== | ||
+ | |||
+ | 将用户的角色从群管理员降为群普通成员。 | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/admin/{oldadmin} | ||
+ | * HTTP Method: DELETE | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:服务器端 REST API 常见错误码 | ||
+ | |||
+ | curl示例: | ||
+ | |||
+ | <code> | ||
+ | curl -XDELETE HTTP://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/admin/z1 -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "delete", | ||
+ | "application": "527cd7e0-04b3-11e7-9f59-ef10ecd81ff0", | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/admin/z1", | ||
+ | "entities": [], | ||
+ | "data": { | ||
+ | "result": "success", | ||
+ | "oldadmin": "z1" | ||
+ | }, | ||
+ | "timestamp": 1489073432732, | ||
+ | "duration": 1, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 转让群组 ==== | ||
+ | |||
+ | 修改群组 Owner 为同一群组中的其他成员。 | ||
+ | |||
+ | **注意:**将群组Owner转让给其他群成员后,原群组Owner将变成群成员。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{groupid} | ||
+ | * HTTP Method: PUT | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {"Content-Type":"application/json","Authorization":"Bearer ${token}"} | ||
+ | * Request Body: {"newowner":"${new_owner_user}"} | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -X PUT -H "Authorization: Bearer YWMtP_8IisA-EeK-a5cNq4Jt3QAAAT7fI10IbPuKdRxUTjA9CNiZMnQIgk0LEUE" -i "https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/1433495614983" -d '{"newowner":"username1"}' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "put", | ||
+ | "application": "9b848cf0-fafe-11e4-b5b8-0f74e8e740f7", | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities": [], | ||
+ | "data": { | ||
+ | "newowner": true | ||
+ | }, | ||
+ | "timestamp": 1433495614983, | ||
+ | "duration": 194, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | ===== 管理黑名单 ===== | ||
+ | |||
+ | ==== 查询群组黑名单 ==== | ||
+ | |||
+ | 查询一个群组黑名单中的用户列表。位于黑名单中的用户查看不到该群组的信息,也无法收到该群组的消息。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/blocks/users | ||
+ | * HTTP Method: GET | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 参见“curl 示例” | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -XGET 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/91340342439182920/blocks/users' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "get", | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/91340342439182920/blocks/users", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | "hxt001", | ||
+ | "hxt002", | ||
+ | "hxt003", | ||
+ | "hxt004" | ||
+ | ], | ||
+ | "timestamp": 1439557362316, | ||
+ | "duration": 4 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 添加用户至群组黑名单[单个] ==== | ||
+ | |||
+ | 添加一个用户进入一个群组的黑名单。群主无法被加入群组的黑名单。 | ||
+ | |||
+ | 用户进入群组黑名单后,会收到消息:You are kicked out of the group xxx。之后,该用户查看不到该群组的信息,也收不到该群组的消息。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{username} | ||
+ | * HTTP Method: POST | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 参见curl示例 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -XPOST 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/91340342439182920/blocks/users/hxt002' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "post", | ||
+ | "application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities": [], | ||
+ | "data": { | ||
+ | "result": true, | ||
+ | "action": "add_blocks", | ||
+ | "user": "hxt002", | ||
+ | "groupid": "91340342439182920" | ||
+ | }, | ||
+ | "timestamp": 1439557079351, | ||
+ | "duration": 34, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | ==== 添加用户至群组黑名单[批量] ==== | ||
+ | |||
+ | 添加多个用户进入一个群组的黑名单,一次性最多可以添加60个用户。群主无法被加入群组的黑名单。 | ||
+ | |||
+ | 用户进入群组黑名单后,会收到消息:You are kicked out of the group xxx。之后,该用户查看不到该群组的信息,也收不到该群组的消息。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/blocks/users | ||
+ | * HTTP Method: POST | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: {"usernames":["username1","username2","username3"]} | ||
+ | * Response Body: result为true表示添加成功;result为false表示添加失败,此时reason字段注明失败原因。 | ||
+ | * 可能的错误码:404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -XPOST 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/91340342439182920/blocks/users' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' -d '{"usernames":["hxt001","hxt002","hxt003"]}' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "post", | ||
+ | "application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "result": false, | ||
+ | "action": "add_blocks", | ||
+ | "reason": "the user hxt001 doesn't exist", | ||
+ | "user": "hxt001", | ||
+ | "groupid": "91340342439182920" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "action": "add_blocks", | ||
+ | "user": "hxt002", | ||
+ | "groupid": "91340342439182920" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "action": "add_blocks", | ||
+ | "user": "hxt003", | ||
+ | "groupid": "91340342439182920" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1439557269929, | ||
+ | "duration": 190, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | ==== 从群组黑名单移除用户[单个] ==== | ||
+ | |||
+ | 从群组黑名单中移除一个用户。对于群组黑名单中的用户,如果需要将其再次加入群组,需要先将其从群组黑名单中移除。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{username} | ||
+ | * HTTP Method: DELETE | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的json数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -XDELETE 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/91340342439182920/blocks/users/hxt001' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "delete", | ||
+ | "application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities": [], | ||
+ | "data": { | ||
+ | "result": true, | ||
+ | "action": "remove_blocks", | ||
+ | "user": "hxt001", | ||
+ | "groupid": "91340342439182920" | ||
+ | }, | ||
+ | "timestamp": 1439557411653, | ||
+ | "duration": 13, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 从群组黑名单移除用户[批量] ==== | ||
+ | |||
+ | 从群组黑名单中移除多个用户。对于群组黑名单中的用户,如果需要将其再次加入群组,需要先将其从群组黑名单中移除。 | ||
+ | |||
+ | <WRAP round tip> | ||
+ | 注意:在调用程序中,如果返回429或503错误,说明接口被限流了,请稍微暂停一下并重试。详见[[start:450errorcode:45restastrict|接口限流说明]]。 | ||
+ | </WRAP> | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{username1},{username2} | ||
+ | * HTTP Method: DELETE | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: result为true表示移除成功;result为false表示移除失败,此时reason字段注明失败原因。 | ||
+ | * 可能的错误码:401(未授权[无token、token错误、token过期])、5xx。详见:[[start:450errorcode:10restapierrorcode|服务器端 REST API 常见错误码]] | ||
+ | |||
+ | curl 示例: | ||
+ | |||
+ | <code php> | ||
+ | curl -XDELETE 'https://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/91340342439182920/blocks/users/hxt001,hxt002,hxt003' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response 示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "delete", | ||
+ | "application": "4d7e4ba0-dc4a-11e3-90d5-e1ffbaacdaf5", | ||
+ | "uri": "https://a1.easemob.com/easemob-demo/chatdemoui", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "result": true, | ||
+ | "action": "remove_blocks", | ||
+ | "user": "hxt001", | ||
+ | "groupid": "91340342439182920" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "action": "remove_blocks", | ||
+ | "user": "hxt002", | ||
+ | "groupid": "91340342439182920" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "action": "remove_blocks", | ||
+ | "user": "hxt003", | ||
+ | "groupid": "91340342439182920" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1439557455684, | ||
+ | "duration": 23, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== 管理禁言 ===== | ||
+ | |||
+ | ==== 添加禁言 ==== | ||
+ | |||
+ | 将一个用户禁言。用户被禁言后,将无法在群中发送消息。 | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/mute | ||
+ | * HTTP Method: POST | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 参见curl示例 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:服务器端 REST API 常见错误码 | ||
+ | |||
+ | curl示例: | ||
+ | |||
+ | <code> | ||
+ | curl -XPOST HTTP://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/mute -d '{"usernames":["z1","z2","z3"], "mute_duration":86400000}' -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | 其中,usernames后是被禁言的群用户ID, mute_duration是禁言的时长,单位是毫秒,必须是Integer或者Long类型。 | ||
+ | |||
+ | Response示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "post", | ||
+ | "application": "527cd7e0-04b3-11e7-9f59-ef10ecd81ff0", | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/mute", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "result": true, | ||
+ | "expire": 1489158589481, | ||
+ | "user": "z1" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "expire": 1489158589481, | ||
+ | "user": "z2" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "expire": 1489158589481, | ||
+ | "user": "z3" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1489072189508, | ||
+ | "duration": 0, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | 注:expire指的是禁言到期的UNIX时间戳。 | ||
+ | |||
+ | ==== 移除禁言 ==== | ||
+ | |||
+ | 将用户从禁言列表中移除。移除后,用户可以正常在群中发送消息。 | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/mute/{member1}(,{member2},...) | ||
+ | * HTTP Method: DELETE | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:服务器端 REST API 常见错误码 | ||
+ | |||
+ | curl示例: | ||
+ | |||
+ | <code> | ||
+ | curl -XDELETE HTTP://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/mute/z1,z2,z3 -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "delete", | ||
+ | "application": "527cd7e0-04b3-11e7-9f59-ef10ecd81ff0", | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/mute/z1,z2,z3", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "result": true, | ||
+ | "user": "z1" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "user": "z2" | ||
+ | }, | ||
+ | { | ||
+ | "result": true, | ||
+ | "user": "z3" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1489072695859, | ||
+ | "duration": 0, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== 获取禁言列表 ==== | ||
+ | |||
+ | 获取当前群组的禁言用户列表。 | ||
+ | |||
+ | * Path: /{org_name}/{app_name}/chatgroups/{group_id}/mute | ||
+ | * HTTP Method: GET | ||
+ | * URL Params: 无 | ||
+ | * Request Headers: {“Authorization”:”Bearer ${token}”} | ||
+ | * Request Body: 无 | ||
+ | * Response Body: 详情参见示例返回值,返回的 JSON 数据中会包含除上述属性之外的一些其他信息,均可以忽略。 | ||
+ | * 可能的错误码:400(用户不存在)、404(群组id不存在)、401(未授权[无token、token错误、token过期])、5xx。详见:服务器端 REST API 常见错误码 | ||
+ | |||
+ | curl示例: | ||
+ | |||
+ | <code> | ||
+ | curl -XGET HTTP://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/mute -H 'Authorization: Bearer YWMtG4T5wkOTEeST5V-9lp7f-wAAAUnafsqrQFnCU4gI0-rQImw4523fWqIasd1' | ||
+ | </code> | ||
+ | |||
+ | Response示例: | ||
+ | |||
+ | <code json> | ||
+ | { | ||
+ | "action": "post", | ||
+ | "application": "527cd7e0-04b3-11e7-9f59-ef10ecd81ff0", | ||
+ | "uri": "http://a1.easemob.com/easemob-demo/chatdemoui/chatgroups/10130212061185/mute", | ||
+ | "entities": [], | ||
+ | "data": [ | ||
+ | { | ||
+ | "expire": 1489158589481, | ||
+ | "user": "z3" | ||
+ | }, | ||
+ | { | ||
+ | "expire": 1489158589481, | ||
+ | "user": "z1" | ||
+ | }, | ||
+ | { | ||
+ | "expire": 1489158589481, | ||
+ | "user": "z2" | ||
+ | } | ||
+ | ], | ||
+ | "timestamp": 1489072802179, | ||
+ | "duration": 0, | ||
+ | "organization": "easemob-demo", | ||
+ | "applicationName": "chatdemoui" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | <WRAP group> | ||
+ | <WRAP half column> | ||
+ | 上一页:[[start:100serverintegration:50messages|发送消息]] | ||
+ | </WRAP> | ||
+ | |||
+ | <WRAP half column> | ||
+ | 下一页:[[start:100serverintegration:70chatroommgmt|聊天室管理]] | ||
+ | </WRAP> | ||
+ | </WRAP> |