在用户增长解决方案中,通过流失用户召回子解决方案可以对用户进行流失预测,该方案需要通过短信的方式触发用户,并结合算法组件,对高风险流失用户进行召回。因此,接入新用户流失召回方案之前,您需要开通短信模板。本文介绍创建短信模板的基本流程。

前提条件

  • 已获取阿里云账号的鉴权AccessKey ID和AccessKey Secret,详情请参见获取AccessKey
  • 如果您通过API创建短信模板,则需要完成用户增长插件SDK的安装。用户增长插件提供了Python、Golang及Java SDK,您可以根据实际情况选择,安装方法分别参考如下链接:

背景信息

您在开通短信模板之前,请务必通过入群链接加入PAI平台开发者交流群,并联系工作人员,否则可能无法完成签名和模板注册。

操作流程

开通短信模板的流程如下:
  1. 通过控制台注册签名

    一个签名可以关联多个短信模板,通常每个用户只需要注册一次签名即可。由于API注册签名的接口不能完全自动化,因此建议您通过控制台注册签名。

  2. 用户增长插件支持通过控制台或API创建短信模板,您可以根据使用习惯选择:

通过控制台注册签名

  1. 进入用户增长插件页面。
    1. 登录PAI控制台
    2. 在左侧导航栏,选择场景化解决方案 > 用户增长
  2. 进入添加签名页面。
    1. 用户增长插件页面,单击用户触达配置页签。
    2. 用户触达配置页签下,单击签名管理页签。
    3. 单击添加签名进入添加签名页面
  3. 添加签名页面,配置参数。
    添加签名
    参数描述
    签名名称长度2~12个字符,建议配置为真实的应用名、网站名或公司名。
    上传资质文件需要上传签名归属方的三证合一授权委托书,控制台上均提供了示例,您可以参照授权委托书示例填写文件后,再拍照上传。
    申请说明详细描述使用场景,并提供产品链接、App、公众号、公司标准全称等,以加快审核。
  4. 单击提交
    提交申请后,您可以查看签名审核状态。如果审核失败,请及时通过本文开头的钉钉群联系PAI团队。审核状态

通过控制台创建短信模板

  1. 进入添加模板页面。
    1. 用户增长插件页面,单击用户触达配置页签。
    2. 用户触达配置页签下,单击模板管理页签。
    3. 单击添加模板添加模板
  2. 添加模板页面,配置参数。
    添加模板
    参数描述
    模板名称长度2~30个字符。
    模板内容您可以使用带参数的模板定制个性化短信,短信中的${variable}会在发送时解析为variable变量。

    短信字数含“签名+模版内容+变量内容”,如果短信字数不大于70个,则按1条短信计费。如果短信字数超出70个字,则为长短信,按照67个字数记为一条短信。

    不能发送贷款、借款、中奖、抽奖类短信,不支持金融理财和房产通知类短信(验证码除外)。

    申请说明详细描述模板的使用场景。
  3. 单击提交
    提交申请后,您可以查看模板审核状态。模板将在24小时内完成审核,因此您需要提前申请模板。模板审核状态
  4. 如果审核通过,则可以查看模板号,如下图所示。如果审核不通过,则单击目标模板操作列下的详情,查看失败原因,并及时通过本文开头的钉钉群联系PAI团队。模板号

通过API创建短信模板

用户增长插件提供了Python、Java、Go三种语言的API,您可以根据实际情况选择。通过三种语言API创建短信模板的示例如下所示:
  • Python
    安装用户增长插件(paiplugin)的Python SDK,详情请参见alibabacloud-python-sdk。通过API创建短信模板的示例如下:
    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"
        )
    )
    
    # 创建模板。
    req = models.CreateTemplateRequest(
        content="这是一条测试短信,模板变量为${variable}", 
      description="流程测试", 
      name="流程测试"
    )
    rsp = c.create_template(req)
    print(rsp.body.data)
    参数详情请参见下文参数说明,您需要将参数值替换为实际值。
  • Golang
    安装用户增长插件(paiplugin)的Golang SDK,详情请参见Golang SDK。通过API创建短信模板的示例如下:
    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))
        }
        
      // 创建模板。
      req4 := client.CreateTemplateRequest{
          Content: "这是一条测试短信,模板变量为${variable}",
        Description: "流程测试",
        Name: "流程测试",
      }
        rsp4, err := c.CreateTemplate(&req4)
        if err != nil {
            fmt.Printf("Failed to create template %w", err)
        }
        fmt.Println(rsp4.Body.Data) 
        
    }
    参数详情请参见下文参数说明,您需要将参数值替换为实际值。
  • Java
    使用Java API时,需要使用Maven管理项目。因此,您必须在pom.xml文件中添加所需的依赖包,详情请参见alibabacloud-java-sdk。添加依赖包的示例如下所示。
        <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>
    通过API创建短信模板的示例如下:
    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);            
    
                // 创建模板。
                CreateTemplateRequest req4 = new CreateTemplateRequest();
                req4.content="这是一条测试短信,模板变量为${variable}";
                req4.description="流程测试";
                req4.name="流程测试";
                var rsp4 = c.createTemplate(req4);
    
                var template = rsp4.body.data;
                System.out.println(template.ID);                    
    
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    }
    参数详情请参见下文参数说明,您需要将参数值替换为实际值。
表 1. 参数说明
参数描述
<yourAccessKeyId>阿里云账号的AccessKey ID。
<yourAccessKeySecret>阿里云账号的AccessKey Secret。