批量发送自定义系统通知
更新时间: 2024/07/17 17:57:34
网易云信服务端支持批量发送自定义系统通知。
功能描述
系统通知区别于普通消息,SDK 接收系统通知后直接交给应用上层处理,客户端可不做展示。
典型应用场景:某个用户给另一个用户发送好友请求,开发者可自定义该请求的具体内容(建议是 JSON 格式)。
- 支持收发在线和离线自定义系统通知,且支持接收方多端同步接收自定义系统通知。
- 自定义系统通知不支持漫游且不支持保存为云端历史记录。
API 使用限制
- 单个应用最高调用频率:120 次/分。如果超限将报错(状态码:416),并且将被屏蔽 1 分钟,之后才能再次调用。
- 最多可一次性向 5000 人发送自定义系统通知,如果批量提供的帐号中有未注册的帐号,会提示并返回给用户。
URL
httpPOST https://api.netease.im/nimserver/msg/sendBatchAttachMsg.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考 API 调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
fromAccid | String | 是 | 发送者的网易云信 IM 账号(accid),最长 32 个字符,必须保证该账号为应用内唯一 |
toAccids | String | 是 | 接收者列表,["aaa","bbb"](JSONArray 对应的 accid,如果解析出错,会报 414 错误),最多 5000 人 |
attach | String | 是 | 自定义通知内容,开发者自行组装的字符串,建议 JSON 格式,最大长度 4096 字符 |
pushcontent | String | 否 | 推送文案,最长 500 个字符。更多推送配置说明请参见 推送配置参数详解 |
payload | String | 否 | 推送对应的 payload,必须是 JSON 格式,不能超过 2048 字符。更多说明请参见 推送 payload 配置 |
sound | String | 否 | 如果有指定推送,此属性指定为客户端本地的声音文件名,长度不要超过 30 个字符,如果不指定,会使用默认声音 |
save | int | 否 | 1 表示只发在线,2 表示会存离线,其他会报 414 错误。默认会存离线 |
option | String | 否 | 发消息时特殊指定的行为选项,Json格式,可用于指定系统通知计入未读等特殊行为; option 中字段不填时表示默认值。 option示例: {"badge":false,"needPushNick":false,"route":false} 字段说明:
|
isForcePush | boolean | 否 | 发自定义系统通知时,是否强制推送,默认 false |
forcePushContent | String | 否 | 发自定义系统通知时,强制推送文案,最长500个字符 |
env | String | 否 | 系统通知需要抄送到的环境的名称,对应您在云信控制台中配置的自定义抄送的环境名称(如下图),最大 32 个字符 |
checkAccidAsyncEnable | boolean | 否 | 是否 异步 检查用户账号 ID。默认为 false。 若设为 true,表示开启异步检查。开启后,无效账号不会再返回 且 返回结果中不会包含 unregister 字段。 |
返回参数
参数 |
类型 |
说明 |
---|---|---|
unregister | String | toAccids 列表中存在的未注册用户,示例:["123123","111422"],如果列表中不存在未注册用户则不返回本参数 |
示例
cURL请求示例
curlcurl -X POST -H "AppKey: go9dnk**lw0803mgq3" -H "Nonce: 4tggge**23t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'fromAccid=zhangsan&toAccids=["aaa","bbb"]&attach={"myattach":"test"}' 'https://api.netease.im/nimserver/msg/sendBatchAttachMsg.action'
请求成功返回示例
json"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"unregister":["123123","111422"]
}
请求失败返回示例
"Content-Type": "application/json; charset=utf-8"
{
"code":414
"desc":""more than 5000 accids!"" // 接收者上限 5000
}
状态码
该接口在 HTTPS Body 中返回请求的状态码,以下仅列出与接口业务相关的状态码。完整状态码请参见状态码。
状态码 | 说明 | 处理建议 |
---|---|---|
200 | 请求成功 | - |
403 | 请求失败原因可能为:
|
查看对应提示信息做出处理 |
414 | 参数错误 | 根据提示信息,检查传入参数的格式和限制条件 |
500 | 服务出错 | - |
此文档是否对你有帮助?