推送撤回

最近更新时间:2024-07-18 14:31:51

我的收藏
若全员/标签推送内容有误,终端用户查看或点击后会对产品有负面影响,此时需要及时处理。您可以选择撤回该推送。
TIMPush(包含 IMSDK ,支持 chat、push 服务)
TPush(不含 IMSDK ,仅支持 push 服务)

功能说明

终止:推送任务下发需要一定时间,未下发的账号会终止下发。
撤回:已下发的账号,支持撤回未读/漫游。
覆盖:若已下发的账号收到了离线推送,支持覆盖该条推送。
本接口支持全员/标签推送任务的终止/撤回/覆盖。本文后续默认将终止/撤回/覆盖简称为撤回。
撤回有效期为24小时,从任务发起时间开始计算,超过24小时的推送任务无法撤回。

接口调用说明

请求 URL 示例

https://xxxxxx/v4/timpush/revoke?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/revoke
请求接口
usersig
App 管理员账号生成的签名,参见 UserSig 后台 API
identifier
必须为 App 管理员账号
sdkappid
创建应用时,即时通信控制台分配的 SdkAppid
random
32位无符号整数随机数
contenttype
固定值为:json

调用频率

本接口接口调用限制1次/s。

请求包示例

{
"TaskId": "660cc447_537ed82a_200000cd7ee17f5_84035729_bc614e", // 24小时内发送的推送taskId
"OfflinePushInfo": { // 若推送时指定不存漫游/未读(OnlineOnlyFlag=0),则撤回时必须带上OfflinePushinfo
"Desc": "对方撤回了一条消息",
"Ext": "这是透传的内容"
}
}
注意:
1. 支持离线推送覆盖的厂商:APNS/Google FCM/华为/荣耀。其他厂商的离线推送不支持覆盖。(Google FCM的notification模式支持覆盖,data模式暂不支持覆盖)
2. 撤回时若接受方在前台,默认离线推送(通知栏消息)已读,则不会覆盖该条离线推送。

请求包字段说明

字段
类型
属性
说明
TaskId
String
必填
全员/标签推送任务 ID。
OfflinePushInfo
Object
选填
离线推送信息配置,具体请参见 消息格式描述。
注意:
若设置OfflinePushinfo.PushFlag=1或者不设置OfflinePushInfo,不会覆盖离线推送。

功能说明

推送任务下发需要一定时间,未下发的账号会终止下发。
若已下发的账号通过厂商通道收到了离线推送,支持覆盖该条推送。
支持覆盖发起全员/标签推送单发推送下发的推送
撤回有效期为24小时,从任务发起时间开始计算,超过24小时的推送任务无法撤回。

接口调用说明

请求 URL 示例

https://xxxxxx/v4/tpush/revoke?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/tpush/revoke
请求接口
usersig
App 管理员账号生成的签名,参见 UserSig 后台 API
identifier
必须为 App 管理员账号
sdkappid
创建应用时,即时通信控制台分配的 SdkAppid
random
32位无符号整数随机数
contenttype
固定值为:json

调用频率

本接口接口调用限制1次/s。

请求包示例

{
"TaskId": "660cc447_537ed82a_200000cd7ee17f5_84035729_bc614e", // 24小时内发送的推送taskId
"OfflinePushInfo": {
"Title": "xxxxx",
"Desc": "对方撤回了一条消息",
"Ext": "这是透传的内容"
}
}
注意:
1. 支持离线推送覆盖的厂商:APNS/Google FCM/华为/荣耀。其他厂商的离线推送不支持覆盖。(Google FCM的notification模式支持覆盖,data模式暂不支持覆盖)
2. 撤回时若接受方在前台,默认离线推送(通知栏消息)已读,则不会覆盖该条离线推送。
3. 走在线推送的部分暂时不支持覆盖。

请求包字段说明

字段
类型
属性
说明
TaskId
String
必填
全员/标签推送任务 ID。
OfflinePushInfo
Object
必填
离线推送信息配置,具体请参见 消息格式描述。
注意:
若设置OfflinePushinfo.PushFlag=1或者不设置OfflinePushInfo,不会覆盖离线推送。

应答包体示例

{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0
}

应答包字段说明

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

错误码说明

除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。公共错误码(60000到79999)参见 错误码 文档。 本 API 私有错误码如下:
错误码
含义说明
90001
JSON 格式解析失败,请检查请求包是否符合 JSON 规范。
90009
请求需要 App 管理员权限。
90049
撤回 TaskId 不合法,无推送记录。通过 timpush/push 接口进行推送,返回的 TaskId 才能用于撤回。
90050
重复撤回,已经撤回的推送任务不能重复调用。
90051
撤回过于频繁,撤回限频1次/s。
90052
超过撤回有效期,撤回要求在24小时内,超过24小时的推送任务无法撤回。
90053
撤回无效。推送任务指定不存漫游/未读(OnlineOnlyFlag=0),但是撤回时没有带上 OfflinePushInfo。
91000
服务内部错误,请重试。

接口调试工具

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

参考