消息撤回

通过极简推送或模板推送方式推送的消息可通过消息 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

请求状态。Success 参数值包含在 PushRresult JSON 字符串中。

ResultMsg

String

param is invalid

请求错误内容。ResultMsg 参数值包含在 PushRresult JSON 字符串中。

使用示例

DefaultProfile.addEndpoint("cn-hangzhou", "mpaas", "mpaas.cn-hangzhou.aliyuncs.com");
        // 创建 DefaultAcsClient 实例并初始化
        // 阿里云账号 AccessKey 拥有所有 API 的访问权限,风险很高。强烈建议您创建并使用 RAM 用户进行 API 访问或日常运维,请登录 RAM 控制台创建 RAM 用户
        // 此处以把 AccessKey 和 AccessKeySecret 保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里
        // 强烈建议不要把 AccessKey 和 AccessKeySecret 保存到代码里,会存在密钥泄漏风险
        // 建议先完成环境变量配置
        String accessKeyId = System.getenv("MPAAS_AK_ENV");
        String accessKeySecret = System.getenv("MPAAS_SK_ENV");
        DefaultProfile profile = DefaultProfile.getProfile(
            "cn-hangzhou",          // 地域 ID
            accessKeyId,      
            accessKeySecret); 

        IAcsClient client = new DefaultAcsClient(profile);        

        RevokePushMessageRequest request = new RevokePushMessageRequest();
        request.setAppId("ONEX570DA89211720");
        request.setWorkspaceId("test");
        request.setMessageId("console_1624516744112");  // 业务方消息 ID
        request.setTargetId("mpaas_push_demo");         // 目标 ID

        RevokePushMessageResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println(response.getResultCode());
            System.out.println(response.getResultMessage());
        } catch (ClientException e) {
            e.printStackTrace();
        }

通过任务 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

请求状态。Success 参数值包含在 PushRresult JSON 字符串中。

ResultMsg

String

param is invalid

请求错误内容。ResultMsg 参数值包含在 PushRresult JSON 字符串中。

使用示例

DefaultProfile.addEndpoint("cn-hangzhou", "mpaas", "mpaas.cn-hangzhou.aliyuncs.com");
        // 创建 DefaultAcsClient 实例并初始化
        // 阿里云账号 AccessKey 拥有所有 API 的访问权限,风险很高。强烈建议您创建并使用 RAM 用户进行 API 访问或日常运维,请登录 RAM 控制台创建 RAM 用户
        // 此处以把 AccessKey 和 AccessKeySecret 保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里
        // 强烈建议不要把 AccessKey 和 AccessKeySecret 保存到代码里,会存在密钥泄漏风险
        // 建议先完成环境变量配置
        String accessKeyId = System.getenv("MPAAS_AK_ENV");
        String accessKeySecret = System.getenv("MPAAS_SK_ENV");
        DefaultProfile profile = DefaultProfile.getProfile(
            "cn-hangzhou",          // 地域 ID
            accessKeyId,      
            accessKeySecret); 

        IAcsClient client = new DefaultAcsClient(profile);

        RevokePushTaskRequest request = new RevokePushTaskRequest();
        request.setAppId("ONEX570DA89211720");
        request.setWorkspaceId("test");
        request.setTaskId("20842863");     // 推送任务 ID

        RevokePushTaskResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println(response.getResultCode());
            System.out.println(response.getResultMessage());
        } catch (ClientException e) {
            e.printStackTrace();
        }