发起全员/标签推送

最近更新时间:2024-09-20 14:08:02

我的收藏
全员/标签推送支持发送特定内容,还可根据标签、属性,针对特定用户群体发送个性化内容,例如会员活动、区域通知等,助力拉新、转化、促活等各个阶段运营工作的有效进行,同时支持推送送达报表,自助推送故障排查工具,具体效果请参见 效果展示

功能说明

支持向全部用户发送推送。
支持按用户属性发送推送。
支持按用户标签发送推送。
支持在线通道,厂商通道(APNS、华为、荣耀、OPPO、vivo、小米、魅族、Google)。
由于全员/标签推送需要下发的账号数量巨大,下发完全部账号需要一定时间(根据账号总数而定)。

接口调用说明

请求 URL 示例

https://xxxxxx/v4/timpush/push?usersig=xxx&identifier=admin&sdkappid=88888888&random=99999999&contenttype=json

请求参数说明

参数
说明
https
请求协议:HTTPS
请求方式:POST
xxxxxx
SDKAppID 所在国家/地区对应的专属域名。
中国:console.tim.qq.com
新加坡:adminapisgp.im.qcloud.com
首尔: adminapikr.im.qcloud.com
法兰克福:adminapiger.im.qcloud.com
硅谷:adminapiusa.im.qcloud.com
v4/timpush/push
请求接口
usersig
App 管理员账号生成的签名,参见 UserSig 后台 API
identifier
必须为 App 管理员账号
sdkappid
创建应用时,即时通信控制台分配的 SdkAppid
random
32位无符号整数随机数
contenttype
固定值为:json

调用频率

本接口包含全员、属性、标签推送,默认每天最多调用100次,每两次推送间隔必须大于1s。
注意:
接口调用频率,默认可免费调用100次/日。每提高1次/日,费用将增加20元/日。如需调整接口频率,请前往 IM 控制台 操作。

请求包示例

全员推送示例

管理员进行全员推送:
{
"From_Account": "administrator",
"MsgRandom": 3674128,
"OfflinePushInfo": {
"PushFlag": 0, // 0表示进行离线推送,1表示不进行离线推送
"Title": "离线推送标题",
"Desc": "离线推送内容"
}
}
只推送在线用户(在线推送):
{
"From_Account": "administrator",
"MsgRandom": 3674128,
"OfflinePushInfo": {
"PushFlag": 1, // 0表示进行离线推送,1表示不进行离线推送
"Ext": "透传内容"
}
}

按用户标签推送示例

管理员给带有关注“股票A”和“股票B”标签的用户推送消息:
{
"From_Account": "administrator",
"MsgRandom": 124032,
"Condition": {
"TagsAnd": ["股票A","股票B"]
},
"OfflinePushInfo": {
"PushFlag": 0, // 0表示进行离线推送,1表示不进行离线推送
"Title": "离线推送标题",
"Desc": "离线推送内容"
}
}
注意:
From_Account 为消息推送方账号,支持指定为任意存在的账号。如果未指定发送方或指定的发送方不存在,则默认取接口调用方账号。
管理员给关注“股票A”或“股票B”的用户推送消息:
{
"From_Account": "administrator",
"MsgRandom": 124032,
"Condition": {
"TagsOr": ["股票A","股票B"]
},
"OfflinePushInfo": {
"PushFlag": 0, // 0表示进行离线推送,1表示不进行离线推送
"Title": "离线推送标题",
"Desc": "离线推送内容"
}
}

按用户属性推送

管理员给在深圳的超白金会员用户推送消息:
{
"From_Account": "administrator",
"MsgRandom": 389475,
"Condition": {
"AttrsAnd": {
"会员等级": "超白金会员",
"city": "深圳"
}
},
"OfflinePushInfo": {
"PushFlag": 0, // 0表示进行离线推送,1表示不进行离线推送
"Title": "离线推送标题",
"Desc": "离线推送内容"
}
}
注意:
From_Account 为消息推送方账号,支持指定为任意存在的账号。如果未指定发送方或指定的发送方不存在,则默认取接口调用方账号。
管理员给在深圳的超白金用户推送消息:
{
"From_Account": "administrator",
"MsgRandom": 389475,
"Condition": {
"AttrsAnd": {
"会员等级": "超白金用户",
"city": "深圳"
}
},
"OfflinePushInfo": {
"PushFlag": 0, // 0表示进行离线推送,1表示不进行离线推送
"Title": "离线推送标题",
"Desc": "离线推送内容"
}
}

请求包字段说明

字段
类型
属性
说明
From_Account
String
选填
消息推送方账号(支持指定为任意存在的账号)
注意:
如果未指定发送方或指定的发送方不存在,则默认取接口调用方账号。
MsgRandom
Integer
必填
消息随机数(32位无符号整数),后台用于同一秒内的消息去重。请确保该字段填的是随机
Condition
Object
选填
Condition 共有4种条件类型,分别是:
属性的 “或条件” AttrsOr
属性的 “与条件” AttrsAnd
标签的 “或条件” TagsOr
标签的 “与条件” TagsAnd
注意:
AttrsOr 、 AttrsAnd 、TagsOr 、TagsAnd 不能并存。如果没有 Condition,则推送给全部用户。
TagsOr
Array
选填
标签条件的并集。标签是一个不超过50字节的字符串。
注意:
属性推送和标签推送不可同时作为推送条件。TagsOr 条件中的标签个数不超过10个。
TagsAnd
Array
选填
标签条件的交集。标签是一个不超过50字节的字符串。
注意:
属性推送和标签推送不可同时作为推送条件。TagsAnd 条件中的标签个数不超过10个。
AttrsOr
Object
选填
属性条件的并集。
注意:
属性推送和标签推送不可同时作为推送条件。
AttrsAnd
Object
选填
属性条件的交集。
注意:
属性推送和标签推送不可同时作为推送条件。
OfflinePushInfo
Object
选填
推送信息配置,具体请参见 离线推送 OfflinePushInfo 说明

应答包体示例

{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"TaskId": "667015d4_537529d8_2000005e80aa873_d03ac87_56f5e750"
}

应答包字段说明

字段
类型
说明
ActionStatus
String
请求处理的结果:
OK:表示处理成功
FAIL:表示失败
ErrorCode
Integer
错误码
ErrorInfo
String
错误信息
TaskId
String
推送任务 ID

错误码说明

除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。公共错误码(60000到79999)参见 错误码 文档。
本 API 私有错误码如下:
错误码
含义说明
90001
JSON 格式解析失败,请检查请求包是否符合 JSON 规范。
90005
JSON 格式请求包体中缺少 MsgRandom 字段或者 MsgRandom 字段不是 Integer 类型。
90009
请求需要 App 管理员权限。
90020
标签长度超过限制(不能超过50字节)。
90022
推送条件中的 TagsOr 和 TagsAnd 有重复标签。
90024
推送过于频繁,每两次推送间隔必须大于1秒。
90026
消息离线存储时间错误。
90032
推送条件中的 tag 数量大于10,或添加标签请求中的标签数量大于10。
90033
属性无效。
90039
按属性推送和按标签推送不可同时存在。
90040
推送条件中其中1个 tag 为空。
90045
未开通全员/标签推送功能。
90047
推送次数超过当天限额(默认为100次)。
90056
全员推送的请求体过大,目前支持最大10K长度。
91000
服务内部错误,请重试。

接口调试工具

通过 REST API 在线测试 工具调试本接口。

参考