管理聊天室消息(已不再维护)
更新时间: 2024/03/14 16:34:39
网易云信 IM 服务端支持发送、重发、撤回消息,消息类型包括消息类型包括文本消息、图片消息、语音消息、视频消息、地理位置消息、文件消息、提示消息和自定义消息。同时也支持发送定向消息,即向聊天室指定人员发送消息。
网易云信 IM 服务端也支持发送聊天室全服广播消息,详情请参见发送聊天室全服广播消息。
发送聊天室消息
功能描述
发送聊天室消息。
重发消息与发送消息都可通过本 API 实现,通过设置resendFlag
进行区分。详情请参见下文请求参数中该参数的说明。
API调用限制
限制 |
说明 |
---|---|
- 频控 | 1 秒内默认最多可调用该 API 100次。如需上调上限,请在官网首页通过微信、在线消息或电话等方式咨询商务经理。 |
流控 |
|
URL
httpPOST https://api.netease.im/nimserver/chatroom/sendMsg.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
roomid | long | 是 | 聊天室id |
msgId | String | 是 | 客户端消息id,使用uuid等随机串,msgId相同的消息会被客户端去重 |
fromAccid | String | 是 | 消息发出者的账号accid |
msgType | int | 是 |
消息类型: 0: 表示文本消息, 1: 表示图片, 2: 表示语音, 3: 表示视频, 4: 表示地理位置信息, 6: 表示文件, 10: 表示Tips消息, 100: 自定义消息类型(特别注意,对于未对接易盾反垃圾功能的应用,该类型的消息不会提交反垃圾系统检测) |
subType | int | 否 | 自定义消息子类型,大于0 |
resendFlag | int | 否 | 重发消息标记,0:非重发消息,1:重发消息,如重发消息会按照msgid检查去重逻辑 |
attach | String | 否 |
文本消息:填写消息文案; 其它类型消息,请参考 消息格式示例; 长度限制4096字符 |
ext | String | 否 | 消息扩展字段,内容可自定义,请使用JSON格式,长度限制4096字符 |
skipHistory | int | 否 | 是否跳过存储云端历史,0:不跳过,即存历史消息;1:跳过,即不存云端历史;默认0 |
abandonRatio | int | 否 |
可选,消息丢弃的概率。取值范围[0-9999]; 其中0代表不丢弃消息,9999代表99.99%的概率丢弃消息,默认不丢弃; 注意如果填写了此参数,下面的highPriority参数则会无效; 此参数可用于流控特定业务类型的消息。 |
highPriority | Boolean | 否 |
可选,true表示是高优先级消息,云信会优先保障投递这部分消息;false表示低优先级消息。默认false。 强烈建议应用恰当选择参数,以便在必要时,优先保障应用内的高优先级消息的投递。若全部设置为高优先级,则等于没有设置,单个聊天室最多支持每秒10条的高优先级消息,超过的会转为普通消息。 高优先级消息可以设置进入后重发,见needHighPriorityMsgResend参数 |
needHighPriorityMsgResend | Boolean | 否 | 可选,true表示会重发消息,false表示不会重发消息。默认true。注:若设置为true, 用户离开聊天室之后重新加入聊天室,在有效期内还是会收到发送的这条消息,目前有效期默认30s。在没有配置highPriority时needHighPriorityMsgResend不生效。 |
useYidun | int | 否 |
可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。 若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 |
yidunAntiCheating | String | 否 | 可选,易盾反垃圾增强反作弊专属字段,限制json,长度限制1024字符(详见易盾反垃圾接口文档反垃圾防刷版专属字段) |
yidunAntiSpamExt | String | 否 | 可选,易盾反垃圾扩展字段,限制json,长度限制1024 |
bid | String | 否 | 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 |
antispam | String | 否 |
对于对接了易盾反垃圾功能的应用,本消息是否需要指定经由易盾检测的内容(antispamCustom)。 true或false, 默认false。 只对消息类型为:100 自定义消息类型 的消息生效。 |
notifyTargetTags | String | 否 | 可选,标签表达式,最长128个字符。具体使用说明和示例请参见标签表达式) |
antispamCustom | String | 否 |
在antispam参数为true时生效。 自定义的反垃圾检测内容, JSON格式,长度限制同body字段,不能超过5000字符,要求antispamCustom格式如下: {"type":1,"data":"custom content"} 字段说明: 1. type: 1:文本,2:图片。 2. data: 文本内容or图片地址。 |
env | String | 否 | 所属环境,根据env可以配置不同的抄送地址 |
chatMsgPriority | int | 否 | 0/1/2/3,表示走cdn的消息的优先级,默认0 |
forbiddenIfHighPriorityMsgFreq | int | 否 | 0或者1,表示高优先级消息被频控后是降级为普通消息还是直接403返回,默认降级为普通消息 |
locX | double | 否 | 空间坐标x,用于发送聊天室空间消息功能,该功能对客户端SDK有版本要求(8.11.0及以上) |
locY | double | 否 | 空间坐标y,用于发送聊天室空间消息功能,该功能对客户端SDK有版本要求(8.11.0及以上) |
locZ | double | 否 | 空间坐标z,用于发送聊天室空间消息功能,该功能对客户端SDK有版本要求(8.11.0及以上) |
示例
cURL请求示例
curlcurl -X POST -H "CheckSum: 51eb13ea5ee3a2c00e8388e48e61c65c7866c366" -H "AppKey: f541664055e557244421661866ad7799" -H "Nonce: 1" -H "CurTime: 1451207708" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=36&fromAccid=zhangsan&msgType=0&attach=This+is+test+msg&msgId=c9e6c306-804f-4ec3-b8f0-573778829419' 'https://api.netease.im/nimserver/chatroom/sendMsg.action'
请求成功返回示例
json
"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"desc":{
"time": "1456396333115",
"fromAvator":"http://b12026.nos.netease.com/MTAxMTAxMA==/bmltYV84NDU4OF8xNDU1ODczMjA2NzUwX2QzNjkxMjI2LWY2NmQtNDQ3Ni0E2LTg4NGE4MDNmOGIwMQ==",
"msgid_client": "c9e6c306-804f-4ec3-b8f0-573778829419",
"fromClientType": "REST",
"attach": "This+is+test+msg",
"roomId": "36",
"fromAccount": "zhangsan",
"fromNick": "张三",
"type": "0",
"ext": "",
"highPriorityFlag":1, //高优先级消息标记,不带此标记表示非高优先级
"msgAbandonFlag":"1" //消息被丢弃标记,传abandonRatio参数时才会返回此标记,不返回此标记代表未被丢弃
}
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
聊天室消息撤回
功能描述
撤回聊天室内发送的消息,撤回后对应消息的云端历史记录也将一并删除。
需要将 SDK 升级到 8.7.0 及以上版本,才可成功调用此 API 撤回聊天室消息。
URL
httpPOST https://api.netease.im/nimserver/chatroom/recall.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
roomid | long | 是 | 聊天室id |
msgTimetag | long | 是 | 被撤回消息的时间戳(单位:毫秒) |
fromAcc | String | 是 | 被撤回消息的消息发送者accid |
msgId | String | 是 | 被撤回消息的消息id |
operatorAcc | String | 是 | 消息撤回的操作者accid |
notifyExt | String | 否 | 消息撤回的通知扩展字段,最长1024字符 |
示例
cURL请求示例
curlcurl -X POST -H "CheckSum: 51eb13ea5ee3a2c00e8388e48e61c65c7866c366" -H "AppKey: f541664055e557244421661866ad7799&fromAcc=acc01&" -H "Nonce: 1" -H "CurTime: 1451207708" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=123&msgId=c9e6c306573778829419&msgTimetag=1212121&operatorAcc=acc01&fromAcc=acc02' 'https://api.netease.im/nimserver/chatroom/recall.action'
请求成功返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200
}
状态码
此 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
发送聊天室定向消息
功能描述
向聊天室内特定人员发消息。
不支持将聊天室定向消息保存为历史消息。
URL
httpPOST https://api.netease.im/nimserver/chatroom/sendMsgToSomeone.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
roomid | long | 是 | 聊天室id |
msgId | String | 是 | 客户端消息id,使用uuid等随机串,msgId相同的消息会被客户端去重 |
fromAccid | String | 是 | 消息发出者的账号accid |
toAccids | JSONArray | 是 | 消息接收者accid列表,最大100个 |
msgType | int | 是 |
消息类型: 0: 表示文本消息, 1: 表示图片, 2: 表示语音, 3: 表示视频, 4: 表示地理位置信息, 6: 表示文件, 10: 表示Tips消息, 100: 自定义消息类型(特别注意,对于未对接易盾反垃圾功能的应用,该类型的消息不会提交反垃圾系统检测) |
subType | int | 否 | 自定义消息子类型,大于0 |
resendFlag | int | 否 | 重发消息标记,0:非重发消息,1:重发消息,如重发消息会按照msgid检查去重逻辑 |
attach | String | 否 |
文本消息:填写消息文案; 其它类型消息,请参考 消息格式示例; 长度限制4096字符 |
ext | String | 否 | 消息扩展字段,内容可自定义,请使用JSON格式,长度限制4096字符 |
useYidun | int | 否 |
可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。 若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 |
yidunAntiCheating | String | 否 | 可选,易盾反垃圾增强反作弊专属字段,限制json,长度限制1024字符(详见易盾反垃圾接口文档反垃圾防刷版专属字段) |
bid | String | 否 | 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 |
antispam | String | 否 |
对于对接了易盾反垃圾功能的应用,本消息是否需要指定经由易盾检测的内容(antispamCustom)。 true或false, 默认false。 只对消息类型为:100 自定义消息类型 的消息生效。 |
antispamCustom | String | 否 |
在antispam参数为true时生效。 自定义的反垃圾检测内容, JSON格式,长度限制同body字段,不能超过5000字符,要求antispamCustom格式如下: {"type":1,"data":"custom content"} 字段说明: 1. type: 1:文本,2:图片。 2. data: 文本内容or图片地址。 |
env | String | 否 | 所属环境,根据env可以配置不同的抄送地址 |
示例
cURL请求示例
curlcurl -X POST -H "CheckSum: 51eb13ea5ee3a2c00e8388e48e61c65c7866c366" -H "AppKey: f541664055e557244421661866ad7799" -H "Nonce: 1" -H "CurTime: 1451207708" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=36&fromAccid=zhangsan&msgType=0&attach=This+is+test+msg&msgId=c9e6c306-804f-4ec3-b8f0-573778829419&toAccids=["acc1","acc2"]' 'https://api.netease.im/nimserver/chatroom/sendMsgToSomeone.action'
请求成功返回示例
json
"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"desc":{
"time": "1456396333115",
"fromAvator":"http://b12026.nos.netease.com/MTAxMTAxMA==/bmltYV84NDU4OF8xNDU1ODczMjA2NzUwX2QzNjkxMjI2LWY2NmQtNDQ3Ni0E2LTg4NGE4MDNmOGIwMQ==",
"msgid_client": "c9e6c306-804f-4ec3-b8f0-573778829419",
"fromClientType": "REST",
"attach": "This+is+test+msg",
"roomId": "36",
"fromAccount": "zhangsan",
"fromNick": "张三",
"type": "0",
"ext": ""
}
}
状态码
此 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
此文档是否对你有帮助?