针对高风险的流失用户,您可以通过短信的方式进行召回。本文介绍如何创建短信发送计划。
前提条件
- 已获取阿里云账号的鉴权AccessKey ID和AccessKey Secret,详情请参见获取AccessKey。
- 已完成签名的注册及短信模板的创建,详情请参见准备工作:开通短信模板。
- 已通过新用户流失召回解决方案获取了高风险流失用户,详情请参见新用户流失召回。
- 如果您通过API创建短信发送计划,则需要完成用户增长插件SDK的安装。用户增长插件提供了Python、Golang及Java SDK,您可以根据实际情况选择,安装方法分别参考如下链接:
操作流程
- 通过控制台操作
- 从MaxCompute表创建短信发送计划
- MaxCompute授权
需要为MaxCompute的成员ALIYUN$fpga_at_ali授予读取表数据权限。
- 通过控制台创建短信发送计划
- MaxCompute授权
- 从CSV文件创建短信发送计划
在控制台上通过上传本地CSV文件的方式添加目标号码时,该CSV文件会存储在系统默认的OSS下。因此,您无需为OSS授权,直接创建短信发送计划即可,详情请参见通过控制台创建短信发送计划。
- 从MaxCompute表创建短信发送计划
- 通过API操作
- 从MaxCompute表创建短信发送计划
- MaxCompute授权
需要为MaxCompute的成员ALIYUN$fpga_at_ali授权读取表数据权限。
- 通过API创建短信发送计划
用户增长插件提供了Python、Java、Golang三种语言的API,您可以根据实际情况选择。
- MaxCompute授权
- 从CSV文件创建短信发送计划
- OSS授权
需要为阿里云账号28323011649325****进行OSS授权。
- 通过API创建短信发送计划
用户增长插件提供了Python、Java、Golang三种语言的API,您可以根据实际情况选择。
- OSS授权
- 从MaxCompute表创建短信发送计划
MaxCompute授权
如果您通过MaxCompute表添加目标号码相关信息,则在创建短信发送计划之前需要为MaxCompute的成员ALIYUN$fpga_at_ali授权。
您可以通过MaxCompute客户端或DataWorks数据开发中的ODPS SQL节点为MaxCompute授权,本文仅以MaxCompute客户端为例,介绍如何为MaxCompute授权。
- 安装并配置MaxCompute客户端。说明 需要使用具有项目管理员权限的账号登录。
- 运行MaxCompute客户端。
- 在MaxCompute客户端环境中,添加ALIYUN$fpga_at_ali成员,并为其授权。
OSS授权
如果您通过API创建短信发送计划,且使用CSV文件添加目标号码相关信息,则在创建短信发送计划之前需要为阿里云账号28323011649325****进行OSS授权。授权的具体方法如下。
- 进入OSS Bucket详情页面。
- 使用管理员账号登录OSS管理控制台。
- 在左侧导航栏,单击Bucket列表。
- 在Bucket列表页面,单击待授权的OSS Bucket名称。
- 单击 。
- 在图形设置页签,单击新增授权。
- 在新增授权面板,配置如下参数(此处仅介绍核心参数的配置方法,关于参数的详细说明请参见方式一:图形化配置Bucket Policy)。
参数 描述 授权资源 授权整个Bucket或Bucket内的部分资源供其他用户访问: - 整个Bucket:授权策略针对整个Bucket生效。
- 指定资源:授权策略只针对指定的资源生效。您可以配置多条针对指定资源的授权策略。
- 针对目录级别授权
授权访问目录下的所有子目录和文件时,需在目录结尾处加上星号(*)。例如授权访问abc目录下的所有子目录和文件,则填写为abc/*。
- 针对指定文件授权
授权访问目录下的指定文件时,需填写不包含Bucket名称在内的文件的完整路径,例如授权访问abc目录下的myphoto.png文件,则填写为abc/myphoto.png。
- 针对目录级别授权
授权用户 选中其他账号复选框,在下方文本框中输入28323011649325****,表示将资源授权给该用户。 授权操作 选中简单设置,再选中读/写,表示对相关资源有读和写权限。 条件(可选) 无需配置。 - 单击确定。
通过控制台创建短信发送计划
- 进入用户增长插件页面。
- 登录PAI控制台。
- 在左侧导航栏,选择 。
- 进入添加发布计划页面。
- 在用户增长插件页面,单击用户触达配置页签。
- 在用户触达配置页签下,单击发布计划页签。
- 单击添加发布计划。
- 在添加发布计划页面,配置参数。
参数 描述 发布计划名称 长度2~30个字符。 签名选择 选择已经注册的签名。 模板选择 选择已经创建的模板。 人群圈选 支持以下数据源: - 使用MaxCompute分区
采用
项目名.表名
的格式指定MaxCompute表。如果您的表是分区表,则需要使用MaxCompute的分区表达式。例如dt='20200101' AND name = 'test'
。说明 通过MaxCompute表创建短信发送计划时,需要先为MaxCompute授权,详情请参见MaxCompute授权。 - 导入CSV文件的方式增加本地号码您需要注意CSV文件的内容格式:
- 如果仅配置发送号码,则需要上传不带header的CSV文件。文件将按行解析为号码,目前仅支持国内号码段。示例如下。
183xxxxxxxx 138xxxxxxxx
- 如果发送带参数的模板,则需要添加header行以区分号码字段和自定义模板变量字段,默认以第一列为号码字段。示例如下。
phone,api,sex 183xxxxxxxx,aG1xn,先生 138xxxxxxxx,b43Op,女士
说明- 请保持导入文件的变量顺序和模板的变量顺序一致,并严格遵守示例的样式。
- CSV文件大小不能超过3 MB ,建议单次导入号码50万个以内。
- 如果仅配置发送号码,则需要上传不带header的CSV文件。文件将按行解析为号码,目前仅支持国内号码段。示例如下。
日期选择 短信的发送时间需要配置在当前时间一小时后到一年的区间内。 - 使用MaxCompute分区
- 单击提交。
通过API创建短信发送计划
- Python安装用户增长插件(paiplugin)的Python SDK,详情请参见alibabacloud-python-sdk。通过API创建短信发送计划的示例如下:
- 从MaxCompute创建发送计划
参数详情请参见下文参数说明,您需要将参数值替换为实际值。from alibabacloud_paiplugin20210325 import client from alibabacloud_paiplugin20210325 import models from alibabacloud_tea_openapi import models as open_api_models c = client.Client( open_api_models.Config( access_key_id="<yourAccessKeyId>", access_key_secret="<yourAccessKeySecret>", endpoint="paiplugin.cn-hangzhou.aliyuncs.com" ) ) # 从MaxCompute创建发送计划。 req = models.CreateScheduleRequest( data_address="odps-project/odps-table", partition="dt='20200101' AND name='test'", data_source=0, name="流程测试", send_time="2021-01-01 18:00:00", phone_number_column="phone_number", signature_id="<yourSignatureId>", template_id="<yourTemplateId>", ) rsp = c.create_schedule(req) print(rsp.body.data)
- 从CSV文件创建发送计划
参数详情请参见下文参数说明,您需要将参数值替换为实际值。from alibabacloud_paiplugin20210325 import client from alibabacloud_paiplugin20210325 import models from alibabacloud_tea_openapi import models as open_api_models c = client.Client( open_api_models.Config( access_key_id="<yourAccessKeyId>", access_key_secret="<yourAccessKeySecret>", endpoint="paiplugin.cn-hangzhou.aliyuncs.com" ) ) # 从CSV文件创建发送计划。 req = models.CreateScheduleRequest( data_address="https://bucket.endpoint/path/to/file", data_source=1, name="流程测试", send_time="2021-01-01 18:00:00", signature_id="<signature_id>", template_id="<template_id>", ) rsp = c.create_schedule(req) print(rsp.body.data)
- 从MaxCompute创建发送计划
- Golang安装用户增长插件(paiplugin)的Golang SDK,详情请参见Golang SDK。通过API创建短信发送计划的示例如下:
- 从MaxCompute创建发送计划
参数详情请参见下文参数说明,您需要将参数值替换为实际值。package main import ( "fmt" openapi "github.com/alibabacloud-go/darabonba-openapi/client" "github.com/alibabacloud-go/paiplugin-20210325/client" ) func main() { accessKeyId := "<yourAccessKeyId>" accessKeySecret := "<yourAccessKeySecret>" endpoint := "paiplugin.cn-hangzhou.aliyuncs.com" config := openapi.Config{ AccessKeyId: &accessKeyId, AccessKeySecret: &accessKeySecret, Endpoint: &endpoint, } c, err := client.NewClient(&config) if err != nil { panic(fmt.Errorf("Failed to create client %w", err)) } // 从MaxCompute创建发送计划。 req6 := client.CreateSchedule{ DataAddress="project/table", Partition="dt='20200101' AND name = 'test'", DataSource=0, Name="流程测试", SendTime="2021-01-01 18:00:00", PhoneNumberColumn="phone_number", SignatureId="<yourSignatureId>", TemplateId="<yourTemplateId>", } rsp6, err := c.CrateSchedule(&req6) if err != nil { fmt.Printf("Failed to create schedule %w", err) } fmt.Println(rsp6.Body.Data) }
- 从CSV文件创建发送计划
参数详情请参见下文参数说明,您需要将参数值替换为实际值。package main import ( "fmt" openapi "github.com/alibabacloud-go/darabonba-openapi/client" "github.com/alibabacloud-go/paiplugin-20210325/client" ) func main() { accessKeyId := "<yourAccessKeyId>" accessKeySecret := "<yourAccessKeySecret>" endpoint := "paiplugin.cn-hangzhou.aliyuncs.com" config := openapi.Config{ AccessKeyId: &accessKeyId, AccessKeySecret: &accessKeySecret, Endpoint: &endpoint, } c, err := client.NewClient(&config) if err != nil { panic(fmt.Errorf("Failed to create client %w", err)) } // 从CSV文件创建发送计划。 req5 := client.CreateSchedule{ DataAddress="https://bucket.endpoint/path/to/file", DataSource=1, Name="流程测试", SendTime="2021-01-01 18:00:00", SignatureId="<yourSignatureId>", TemplateId="<yourTemplateId>", } rsp5, err := c.CrateSchedule(&req5) if err != nil { fmt.Printf("Failed to create schedule %w", err) } fmt.Println(rsp5.Body.Data) }
- 从MaxCompute创建发送计划
- Java使用Java API时,需要使用Maven管理项目。因此,您必须在pom.xml文件中添加所需的依赖包,详情请参见alibabacloud-java-sdk。添加依赖包的示例如下所示。
通过API创建短信发送计划的示例如下:<dependency> <groupId>com.aliyun</groupId> <artifactId>paiplugin20210325</artifactId> <version>0.0.1</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>tea-openapi</artifactId> <version>0.1.0</version> </dependency>
- 从MaxCompute创建发送计划
参数详情请参见下文参数说明,您需要将参数值替换为实际值。package com.api.pai; import com.aliyun.paiplugin20210325.Client; import com.aliyun.paiplugin20210325.models.*; import com.aliyun.teaopenapi.models.Config; public class App { public static void main( String[] args ) { try { Config config = new Config(); config.accessKeyId = "<yourAccessKeyId>"; config.accessKeySecret = "<yourAccessKeySecret>"; config.endpoint = "paiplugin.cn-hangzhou.aliyuncs.com"; Client c = new Client(config); // 从MaxCompute创建发送计划。 CreateScheduleRequest req6 = new CreateScheduleRequest(); req6.dataAddress="odps-project/odps-table"; req6.partition="dt='20200101' AND name = 'test'"; req6.dataSource=0; req6.name="ODPS流程测试"; req6.sendTime="2021-01-01 18:00:00"; req6.phoneNumberColumn="phone_number"; req6.signatureID="<yourSignatureId>"; req6.templateID="<yourTemplateId>"; var rsp6 = c.createSchedule(req6); var schedule = rsp6.body.data; System.out.println(schedule.ID); } catch (Exception e) { System.out.println(e); } } }
- 从CSV文件创建发送计划
参数详情请参见下文参数说明,您需要将参数值替换为实际值。package com.api.pai; import com.aliyun.paiplugin20210325.Client; import com.aliyun.paiplugin20210325.models.*; import com.aliyun.teaopenapi.models.Config; public class App { public static void main( String[] args ) { try { Config config = new Config(); config.accessKeyId = "<yourAccessKeyId>"; config.accessKeySecret = "<yourAccessKeySecret>"; config.endpoint = "paiplugin.cn-hangzhou.aliyuncs.com"; Client c = new Client(config); // 从CSV文件创建发送计划。 CreateScheduleRequest req5 = new CreateScheduleRequest(); req5.dataAddress="https://bucket.endpoint/path/to/file"; req5.dataSource=1; req5.name="流程测试"; req5.sendTime="2021-01-01 18:00:00"; req5.signatureID="<yourSignatureId>"; req5.templateID="<yourTemplateId>"; var rsp5 = c.createSchedule(req5); var schedule = rsp5.body.data; System.out.println(schedule.ID); } catch (Exception e) { System.out.println(e); } } }
- 从MaxCompute创建发送计划
参数 | 描述 |
---|---|
<yourAccessKeyId> | 阿里云账号的AccessKey ID。 |
<yourAccessKeySecret> | 阿里云账号的AccessKey Secret。 |
<yourSignatureId> | 已注册的签名ID。您可以通过API查看所有签名,示例代码如下:
|
<yourTemplateId> | 已创建的短信模板ID。您可以通过API查看所有短信模板,示例代码如下:
|