通过极简推送或模板推送方式推送的消息可通过消息 ID 撤回;通过批量推送和群发推送方式推送的消息可通过任务 ID 撤回。仅支持撤回最近 7 天内的消息。
通过消息 ID 撤回
支持撤回通过极简推送和模板推送发送的消息。
请求参数
参数名称 | 类型 | 是否必填 | 示例 | 描述 |
messageId | String | 是 | 1578807462788 | 业务方消息 ID,用户自定义,用于在业务方系统中唯一标识消息。 |
targetId | String | 是 | user1024 | 目标 ID,若原消息以设备维度推送,则目标 ID 为设备 ID;若原消息以用户维度推送,则目标 ID 为用户 ID。 |
返回参数
参数名称 | 类型 | 示例 | 描述 |
RequestId | String | B589F4F4-CD68-3CE5-BDA0-6597F33E23916512 | 请求 ID |
ResultCode | String | OK | 请求结果码 |
ResultMessage | String | param is invalid | 请求错误描述 |
PushResult | JSON | 请求结果 | |
Success | boolean | true | 请求状态。 |
ResultMsg | String | param is invalid | 请求错误内容。 |
使用示例
import com.alibaba.fastjson.JSON;
import com.aliyun.mpaas20201028.Client;
import com.aliyun.mpaas20201028.models.RevokePushMessageRequest;
import com.aliyun.mpaas20201028.models.RevokePushMessageResponse;
import com.aliyun.teaopenapi.models.Config;
public static void main(String[] args) throws Exception {
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
// 建议先完成环境变量配置
Config config = new Config();
// 必填,您的 AccessKey ID
config.setAccessKeyId(System.getenv("MPAAS_AK_ENV"));
// 必填,您的 AccessKey Secret
config.setAccessKeySecret(System.getenv("MPAAS_SK_ENV"));
// mPaaS 的 REGION_ID 和 Endpoint,以杭州非金为例
config.setRegionId("cn-hangzhou");
config.setEndpoint("mpaas.cn-hangzhou.aliyuncs.com");
Client client = new Client(config);
RevokePushMessageRequest request = new RevokePushMessageRequest();
request.setAppId("ONEX570DA89211721");
request.setWorkspaceId("test");
request.setTenantId("xxx");
request.setMessageId("console_1765175220865");
request.setTargetId("push_test");
RevokePushMessageResponse revokePushMessageResponse = client.revokePushMessage(request);
System.out.println("response==>"+JSON.toJSONString(revokePushMessageResponse));
}通过任务 ID 撤回
支持撤回通过批量推送和群发推送发送的消息。
请求参数
参数名称 | 类型 | 是否必填 | 示例 | 描述 |
taskId | String | 是 | 20842863 | 推送任务 ID,可在控制台推送任务列表中查询。 |
返回参数
参数名称 | 类型 | 示例 | 描述 |
RequestId | String | B589F4F4-CD68-3CE5-BDA0-6597F33E23916512 | 请求 ID |
ResultCode | String | OK | 请求结果码 |
ResultMessage | String | param is invalid | 请求错误描述 |
PushResult | JSON | 请求结果 | |
Success | boolean | true | 请求状态。 |
ResultMsg | String | param is invalid | 请求错误内容。 |
使用示例
import com.alibaba.fastjson.JSON;
import com.aliyun.mpaas20201028.Client;
import com.aliyun.mpaas20201028.models.RevokePushTaskRequest;
import com.aliyun.mpaas20201028.models.RevokePushTaskResponse;
import com.aliyun.teaopenapi.models.Config;
public static void main(String[] args) throws Exception {
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
// 建议先完成环境变量配置
Config config = new Config();
// 必填,您的 AccessKey ID
config.setAccessKeyId(System.getenv("MPAAS_AK_ENV"));
// 必填,您的 AccessKey Secret
config.setAccessKeySecret(System.getenv("MPAAS_SK_ENV"));
// mPaaS 的 REGION_ID 和 Endpoint,以杭州非金为例
config.setRegionId("cn-hangzhou");
config.setEndpoint("mpaas.cn-hangzhou.aliyuncs.com");
Client client = new Client(config);
RevokePushTaskRequest request = new RevokePushTaskRequest();
request.setAppId("ONEX570DA89211721");
request.setWorkspaceId("test");
request.setTenantId("xxx");
request.setTaskId("21589533");
RevokePushTaskResponse revokePushTaskResponse = client.revokePushTask(request);
System.out.println("response==>"+ JSON.toJSONString(revokePushTaskResponse));
}