发送聊天室定向消息
更新时间: 2024/07/17 17:57:35
网易云信 IM 服务端支持发送聊天室定向消息。
功能描述
用户可以在聊天室中,向指定成员发送聊天室消息。消息类型包括消息类型包括文本消息、图片消息、语音消息、视频消息、地理位置消息、文件消息、提示消息和自定义消息。
- 重发聊天室定向消息与发送聊天室定向消息都可通过本 API 实现,通过设置
resendFlag
进行区分。详情请参见下文请求参数中该参数的说明。 - 不支持将聊天室定向消息保存为历史消息。
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 相同的消息会被客户端去重 |
attach | String | 否 | 消息内容,格式同消息格式示例中的 body 字段,最大长度 4096 位字符 |
fromAccid | String | 是 | 发送消息的用户账号,accid |
toAccids | String | 是 | 消息接收者 accid 列表,JSONArray,最多 100 个账号 |
msgType | Integer | 是 | 消息类型: 0: 文本消息,1:图片,2:语音,3:视频,4:地理位置信息,6:文件,10:提示消息(Tips),100: 自定义消息 |
subType | Integer | 否 | 自定义消息子类型,大于0 |
resendFlag | Integer | 否 | 重发消息标记,0:非重发消息,1:重发消息,如重发消息会按照 msgId 检查去重逻辑 |
route | Integer | 否 | 消息是否需要抄送 0:不需要;1:需要(默认) |
ext | String | 否 | 消息扩展字段,内容可自定义,JSON 格式,最大长度 4096 位字符 |
useYidun | Integer | 否 | 单条消息(包括自定义消息)是否使用安全通(即易盾反垃圾),只能传 0,传其他值相当于不传 0:(在开通安全通的情况下)不使用安全通 若不填此字段,即在默认情况下,若应用开通了安全通,则使用安全通来进行垃圾消息的判断 |
yidunAntiCheating | String | 否 | 透传给易盾的反作弊检测参数,JSON,最大长度 1024 位字符,(具体请参见易盾的反垃圾防刷版专属字段) |
yidunAntiSpamExt | String | 否 | 透传给易盾的反垃圾含圈组版的检测参数,JSON,最大长度 1024 位字符(具体请参见易盾的反垃圾含圈组版用户可扩展字段) |
bid | String | 否 | 安全通的自定义反垃圾(即内容审核)业务的 ID。自定义反垃圾业务主要用来针对单条消息进行除了默认反垃圾业务以外的内容审核。如需配置自定义反垃圾,请通过云信官网首页提供的微信、在线聊天和电话等方式联系商务经理进行配置,并获取对应的业务 ID |
antispam | Boolean | 否 | 对于开通了安全通(易盾反垃圾)功能的应用,本消息是否需要指定经由易盾检测的内容(antispamCustom),默认 false 只对自定义消息(消息类型:100)生效 |
antispamCustom | String | 否 | 自定义的反垃圾检测内容,在 antispam 参数为 true 时生效,JSON,长度限制同 body 字段,最大长度 5000 位字符,要求 antispamCustom 格式如下: {"type":1,"data":"custom content"} 字段说明: type: 1:文本,2:图片 data: 文本内容或图片地址 |
env | String | 否 | 消息需要抄送到的环境的名称,对应您在云信控制台中配置的自定义抄送的环境名称(如下图),最大 32 个字符 |
返回参数
参数 | 类型 | 说明 |
---|---|---|
code | Integer | 状态码 |
desc | String | 发送的消息体的详细信息 |
desc 中的参数说明
参数 | 类型 | 说明 |
---|---|---|
time | Long | 发送消息的时间戳,毫秒级 |
fromAvator | String | 发送消息用户的头像 |
msgid_client | Long | 客户端的消息 ID |
fromClientType | String | 发送消息用户的客户端类型 |
roomId | Long | 聊天室 ID |
fromAccount | String | 发送消息的用户账号,accid |
fromNick | String | 发送消息的用户昵称 |
attach | String | 消息内容 |
type | Integer | 消息类型 |
ext | String | 扩展字段 |
示例
请求示例(curl)
curlcurl -X POST -H "CheckSum: 51eb13ea**1c65c7866c366" -H 'AppKey: fe416640c***e1847ad2547' -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": "111139",
"fromClientType": "REST",
"attach": "这是消息",
"roomId": "36",
"fromAccount": "zhansan",
"fromNick": "张三",
"type": "0",
"ext": ""
}
}
请求失败返回示例
"Content-Type": "application/json; charset=utf-8"
{
"code":414
"desc":"msgContents size exceed" //消息内容大小超出限制
}
状态码
该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务相关的状态码。完整状态码请参见状态码。
状态码 | 说明 | 处理建议 |
---|---|---|
200 | 请求成功 | - |
414 | 参数错误 | 根据提示信息,检查传入参数的格式和限制条件 |
403 | 禁止操作 | 聊天室名称等违规,未过审核或者未开启聊天室权限 |
419 | 聊天室数量超出 | - |
500 | 服务错误 | - |
此文档是否对你有帮助?