API 参考
圈组

批量发送自定义系统通知

更新时间: 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 人
attachString自定义通知内容,开发者自行组装的字符串,建议 JSON 格式,最大长度 4096 字符
pushcontentString推送文案,最长 500 个字符。更多推送配置说明请参见 推送配置参数详解若未设置 pushcontent 字段,则不会触发推送服务,同时也不会将 payload 字段内容下发给客户端。
payloadString推送对应的 payload,必须是 JSON 格式,不能超过 2048 字符。更多说明请参见 推送 payload 配置
soundString如果有指定推送,此属性指定为客户端本地的声音文件名,长度不要超过 30 个字符,如果不指定,会使用默认声音
saveint1 表示只发在线,2 表示会存离线,其他会报 414 错误。默认会存离线
option String发消息时特殊指定的行为选项,Json格式,可用于指定系统通知计入未读等特殊行为; option 中字段不填时表示默认值。
option示例:
{"badge":false,"needPushNick":false,"route":false}
字段说明:
  • badge:该系统通知是否需要计入到未读计数中,默认 true
  • needPushNick: 推送文案是否需要带上昵称,不设置该参数时默认 false (注意默认值与sendMsg.action 接口的 needPushNick 有别)
  • route: 该消息是否需要抄送至您指定的应用服务器;默认true (需要应用开通消息抄送功能)
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 服务出错 -
此文档是否对你有帮助?
有帮助
去反馈
  • 功能描述
  • API 使用限制
  • URL
  • 请求参数
  • 返回参数
  • 示例
  • cURL请求示例
  • 请求成功返回示例
  • 请求失败返回示例
  • 状态码