发送单聊普通消息
应用下的用户可向其他用户发送单聊消息。
- 单次支持向单个或多个用户发送单聊消息,单次最多向 1000 个用户发送消息。
- 通过该接口发送的消息,默认不会向消息发件人客户端同步,也不会存入发件用户的历史消息记录。如需同步,请参见
isIncludeSender
参数用法。
请求方法
POST: https://数据中心域名/message/private/publish.json
频率限制: 每分钟限发送 6000 条信息。请注意,如果一次发送给 1000 人,视为 1000 条消息。另见已知问题 1。
签名规则: 所有服务端 API 请求均需要进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文数据格式为 application/x-www-form-urlencoded
,支持以下 HTTP 表单参数:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
fromUserId | String | 是 | 发送人用户 ID。 注意:发送消息所使用的用户 ID 必须已获取过用户 Token,否则消息一旦触发离线推送,通知内无法正确显示发送者的用户信息。 |
toUserId | String | 是 | 接收用户 ID,可以实现向多人发送消息,每次上限为 1000 人。 |
objectName | String | 是 | 消息类型,接受内置消息类型(见消息类型概述)或自定义消息的消息类型值。 注意:在自定义消息时,消息类型不可以 "RC:" 开头,以免与系统内置消息类型重名;消息类型长度不可超过 32 个字符。SDK 中必须已注册过该自定义消息,否则 SDK 收到该消息后将无法解析。 |
content | String | 是 | 所发送消息的内容,单条消息最大 128k。
|
pushContent | String | 否 | 指定收件人离线时触发的远程推送通知中的通知内容。注意:对于部分消息类型,该字段是否有值决定了是否触发远程推送通知。
|
pushData | String | 否 | iOS 平台收到推送消息时,可从 payload 中获取 APNs 推送数据,对应字段名为 appData (提示:rc 字段中默认携带了消息基本信息)。Android 平台收到推送消息时对应字段名为 appData 。 |
isIncludeSender | Int | 否 | 是否向发件人客户端同步已发消息。1 表示同步,默认值为 0 ,即不同步。注意,仅设置该参数无法确保发件人客户端一 定能获取到该条已发消息,您可能还需要启用其他服务。详见发件人客户端如何同步已发消息。 |
count | Int | 否 | 仅目标用户为 iOS 设备有效,Push 时用来控制桌面角标未读消息数,只有在 toUserId 为一个用户 ID 时有效,客户端获取远程推送内容时为 badge 。具体参见 iOS 客户端文档「APNs 推送开发指南」目录下的集成 APNs 远程推送。为 -1 时不改变角标数,传入相应数字表示把角标数改为指定的数字,最大不超过 9999。 |
verifyBlacklist | Int | 否 | 是否过滤接收用户黑名单列表,0 表示为不过滤、 1 表示为过滤,默认为 0。 |
isPersisted | Int | 否 | 是否需要为收件人在历史消息云端存储服务中存储此条消息。0 表示不存储;1 表示存储。默认值为 1 ,存储(依赖单群聊消息云端存储服务)。此属性不影响离线消息功能,用户未在线时都会转为离线消息?存储。 提示:一般情况下(第 1、2 种情况),客户端是否存储消息不依赖此参数。以下第 3 种情况属于例外: |