IM 即时通讯
服务端
服务端集成新手指南
接口及业务限制
更新日志
平台服务
第三方回调
第三方回调概述
消息相关回调
用户信息相关回调
高级群相关回调
超大群相关回调
聊天室相关回调
音视频1.0相关回调
登录相关回调
圈组相关回调
消息抄送
消息抄送服务概述
开通消息抄送
IM会话相关抄送
IM 会话已读数据抄送
IM其他抄送
圈组相关抄送
音视频和白板相关抄送
安全通
安全通概述
开通 IM 安全通
最佳实践
聊天室重要消息投递
IM 平滑迁移方案
API 参考
API调用方式
状态码
云信 IM 账号管理
注册云信IM账号
刷新Token
封禁账号
账号全局禁言
设置移动端是否需要推送(桌面端在线时)
登录鉴权
消息功能
发送消息
发送单聊已读回执
发送群聊已读回执
消息撤回
发送广播消息
文件上传
删除单条消息
删除漫游消息
历史消息与记录
云端历史消息查询
广播消息查询
IM 登录/登出记录查询
自定义系统通知
用户名片
用户关系管理
好友关系管理
黑名单/静音管理
群组
高级群
创建高级群
拉人入群
发送群消息
添加管理员
移除管理员
转让群主
禁言群组
禁言指定群成员
踢人出群
主动退群
修改群昵称
修改群组信息
设置群消息提醒开关
解散群组
获取群组详细信息
获取群组禁言列表
获取群消息已读未读详情
获取用户已加入的群组信息
获取用户已加入的群组的所有群成员信息
获取群组的在线成员列表
批量获取群组信息与成员列表
批量获取群组的在线成员数量
超大群
创建超大群
拉人入群
发送超大群消息
发送超大群自定义系统通知
撤回超大群消息
添加管理员
移除管理员
转让群主
禁言超大群
禁言指定超大群成员
踢人出群
主动退群
修改超大群昵称
修改超大群信息
修改超大群成员信息
解散超大群
修改超大群人数级别
获取超大群信息
获取超大群成员信息
获取超大群禁言成员信息
获取已加入的超大群信息
查询超大群云端历史消息
聊天室
创建聊天室
获取聊天室地址
更新聊天室信息
查询聊天室信息
开放/关闭聊天室
查询开放状态的聊天室
设置聊天室定时关闭
开启/关闭进出聊天室事件通知
管理聊天室用户角色
获取聊天室成员列表
聊天室消息管理
发送聊天室消息
批量发送聊天室消息
撤回聊天室消息
发送聊天室定向消息
批量发送聊天室定向消息
发送聊天室全服广播消息
管理聊天室机器人
聊天室禁言
聊天室标签
管理聊天室队列
管理聊天室队列元素
圈组
获取圈组连接地址
服务器相关
创建服务器
修改服务器信息
删除服务器
批量查询服务器信息
分页查询服务器列表
服务器成员相关
邀请服务器成员
接受邀请
拒绝邀请
申请加入服务器
接受申请
拒绝申请
生成邀请码
通过邀请码加入
踢出成员
主动退出服务器
修改自己的成员信息
修改他人的成员信息
分页查询服务器成员列表
批量查询服务器成员信息
查询服务器的申请和邀请记录
查询个人的申请和邀请记录
更新成员封禁状态
分页查询封禁成员列表
频道相关
创建频道
修改频道基础信息
修改频道分组相关信息
删除频道
分页查询频道列表
批量查询频道信息
分页查询频道成员列表
修改频道黑白名单成员
修改频道黑白名单身份组
分页查询频道黑白名单成员列表
分页查询频道黑白名单身份组列表
批量查询频道黑白名单成员
批量查询频道黑白名单身份组
频道分组相关
身份组相关
服务器身份组
身份组成员管理
频道身份组
频道用户定制权限
频道分组身份组
频道分组用户定制权限
身份组自定义权限项
查询用户拥有的权限
圈组消息相关
发送消息
更新消息
查询云端历史消息
查询 Thread 聊天历史
批量查询Thread聊天meta 信息
更新快捷评论
查询快捷评论
查询@某人的未读消息
系统通知相关
圈组系统通知概述
发送自定义系统通知
更新自定义系统通知
搜索结果自定义排序
修改服务器自定义排序值
修改频道自定义排序值
在线状态订阅
文本翻译
推送payload配置

管理聊天室消息(已不再维护)

更新时间: 2023/03/08 09:54:31

网易云信 IM 服务端支持发送、重发、撤回消息,消息类型包括消息类型包括文本消息、图片消息、语音消息、视频消息、地理位置消息、文件消息、提示消息和自定义消息。同时也支持发送定向消息,即向聊天室指定人员发送消息。

网易云信 IM 服务端也支持发送聊天室全服广播消息,详情请参见发送聊天室全服广播消息

发送聊天室消息

功能描述

发送聊天室消息。

重发消息与发送消息都可通过本 API 实现,通过设置resendFlag进行区分。详情请参见下文请求参数中该参数的说明。

API调用限制

限制
说明
频控 1 秒内默认最多可调用该 API 100次。如需上调上限,请在官网首页通过微信、在线消息或电话等方式咨询商务经理。
流控
  • 为保证用户体验(如避免服务器过载),目前针对消息接收,有两套流控机制。第一套针对普通消息,聊天室用户每秒至多可接收20条,超过部分会因为流控随机丢弃。第二套针对高优先级消息,每秒至多接收10条,超过部分无法保证不丢失。
  • 为避免丢失重要消息(通常为服务端消息),可将下文请求参数中的HighPriority参数设置为true实现高优先级接收服务端消息,进而保证高优先级消息流控上限内(每秒10条)的重要消息不丢失。

URL

POST 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请求示例

curl -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'

请求成功返回示例


"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

POST 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请求示例

curl -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

"Content-Type": "application/json; charset=utf-8"
{
  "code":200
}

状态码

此 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码

发送聊天室定向消息

功能描述

向聊天室内特定人员发消息。

不支持将聊天室定向消息保存为历史消息。

URL

POST 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请求示例

curl -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'

请求成功返回示例


"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 中返回请求的状态码,状态码详情请参见状态码

此文档是否对你有帮助?
有帮助
我要吐槽
  • 发送聊天室消息
  • 功能描述
  • API调用限制
  • URL
  • 请求参数
  • 示例
  • cURL请求示例
  • 请求成功返回示例
  • 状态码
  • 聊天室消息撤回
  • 功能描述
  • URL
  • 请求参数
  • 示例
  • cURL请求示例
  • 请求成功返回示例
  • 状态码
  • 发送聊天室定向消息
  • 功能描述
  • URL
  • 请求参数
  • 示例
  • cURL请求示例
  • 请求成功返回示例
  • 状态码