更新时间:2022-04-26 GMT+08:00
分享

对接MSGSMS实现短信发送功能

通过应用与华为MSGSMS (Message&SMS)对接,实现短信发送功能。

背景信息

MSGSMS (Message&SMS):即消息&短信,是华为云携手全球多家优质运营商和渠道,为企业用户提供的通信服务。企业调用API或使用群发助手,即可使用验证码、通知短信服务。

场景描述

使用MSGSMS给某用户发送条短信。

前提条件

  • 已获取短信应用的APP_Key、APP_Secret、APP接入地址和上行短信接收地址。登录短信控制台,点击“国内短信 > 应用管理”获取。
  • 已获取短信模板的模板ID。登录短信控制台,点击“国内短信 > 模板管理”获取。
  • 已获取短信模板的签名名称、通道号。登录短信控制台,点击“国内短信 > 签名管理”获取。

配置连接器

  1. 在App开发界面左侧列表单击,选择“消息通知 > 消息&短信”。
  2. 单击“+”,输入与MSGSMS对接的参数,并单击“保存”。

    表1 新建连接器页面参数说明

    参数

    说明

    标签

    新建连接器的标签名。

    名称

    新建连接器的名称,唯一标识。

    长度不超过255个字节,名称必须以字母开头,且不能存在连续的下划线,空格和特殊字符。

    APP地址

    短信APP接入地址

    请与前提条件中的“APP接入地址”取值保持一致。

    APP Key

    APP Key和APP Secret是用户身份的唯一标识,调用短信业务API时需携带,用于认证鉴权。

    请与前提条件中的“APP_Key”取值保持一致。

    App Secret

    APP Key和APP Secret是用户身份的唯一标识,调用短信业务API时需携带,用于认证鉴权。

    请与前提条件中的“APP_Secret”取值保持一致。

    APP回调地址

    接收短信发送结果通知的回调地址。

    打包当前配置

    默认为选中,对信息敏感的场景,建议不勾选。

    选中该选项后,应用打包时会将当前配置的连接器信息一并打出。例如,如果应用包发布到运行环境,当前配置默认为被同步到运行环境中。

  3. 创建短信模板。

    短信模板是用户发送短信时使用的内容模板,由纯固定文本或固定文本加变量组成。使用短信模板前,需要在华为云的消息&短信上创建短信模板,相关操作请参考MSGSMS帮助文档
    1. 在“模板”区域单击“创建”。
    2. 配置页面参数,单击“确定”。
      图1 创建模板参数配置
      表2 创建模板页面参数说明

      参数

      说明

      名称

      模板的名称。和华为云的消息&短信中模板名称保持一致。

      发送者

      通道号。由华为分配,仅用于接口调用时填写。

      请与前提条件中的“通道号”取值保持一致。

      模板

      模板ID。于唯一标识短信模板。

      请与前提条件中的“模板ID”取值保持一致。

      模板参数

      发送短信时携带的模板参数。参数变量说明如下:

      • 变量格式为${1}、${2}、...、${20},中间数字应代表变量在模板内容中的位置顺序。
      • 不允许设置局部变量,如www.${1}.cn、186${2}1234等。

      客户回调地址

      是指用户收到短信后,回复短信,消息&短信服务可以通过回调该地址,通知业务方用户回复的短信。

      请与前提条件中的“上行短信接收地址”取值保持一致。

      注意:

      国际/港澳台短信暂不支持上行短信功能。

      签名

      签名名称。

      请与前提条件中的“签名名称”取值保持一致。

Script中调用连接器

您可以在脚本中调用连接器实现与MSGSMS的对接,这里以新建一个脚本实现发送短信为例进行举例说明。

  1. 鼠标放在App下的Logic文件夹旁会出现加号,单击加号,选择“脚本”。
  2. 选择“创建一个新脚本”,输入基本信息,单击“保存”。
  3. 编辑代码如下:

    //导入该脚本所依赖的标准库文件。msgsms是系统预置的标准库。
    import * as sms from 'msgsms'; 
      
    @action.object({type: "method"}) 
    export class ActionDemo { 
         @action.method({ label: 'greeting something', description: 'greeting something.', input: 'ActionInput', output: 'ActionOutput' })     public greet(){ 
      
            console.log('`````````````````````test new sms`````````````````````') 
            let client = sms.newClient("MSGSMS_Test")
            let res = client.sendByName("Test1","130XXXXXXXX","[\"6612\"]") 
            console.log(res) 
            console.log('`````````````````````test new sms end`````````````````````') 
        } 
    }

    其中sms.newClient("MSGSMS_Test")中“MSGSMS_Test”为连接器的名称。client.sendByName("Test1","130XXXXXXXX","[\"6612\"]")中携带的是模板名称、接收者号码和模板参数。

  4. 单击代码编辑页面上方保存图标,保存脚本。
  5. 运行测试脚本。

    1. 单击编辑器上方执行图标。
    2. 在页面底部单击测试窗口右上角图标。
    3. 检查接收者是否收到短信。

      收到短信表示成功调用连接器。

  6. 单击代码编辑页面上方图标,启用脚本。

Flow中调用连接器

您可以在业务Flow中调用连接器实现与MSGSMS的对接,这里以新建一个Flow实现发送短信为例进行举例说明。

  1. 鼠标放在App下的Logic文件夹旁会出现加号,单击加号,选择“服务编排”。
  2. 系统弹出“添加服务编排”的对话框,选择“创建一个新的服务编排”,填入服务编排名称等信息,单击“添加”。
  3. 在服务编排编辑器页面左侧选择“连接器 > 消息通知 > MSGSMS”,拖拽“MSGSMS”图标至画布中。

    “ MSGSMS”是系统预置的与MSGSMS对接的接口。

  4. 在“基本信息”页面进行配置。

    参数说明如下。

    • 标签:该图元的展示名。
    • 名称:该图元的唯一标识,不能和其他图元相同。
    • 连接器:该Flow使用的连接器的名称。选择刚创建的“MSGSMS_Test”。

  5. 设置动作参数。

    图2 配置动作

    参数

    说明

    模板名称

    短信模板名称。

    模板参数

    请在“source”中配置模板参数。

    接收者

    “target”从下拉框选择为“to”,“source”中配置接收者号码。

  6. 连接开始和MSGSMS图元。
  7. 单击保存图标,保存服务编排。
  8. 单击,运行服务编排。

    若接收者收到短信,表示成功调用连接器。

分享:

    相关文档

    相关产品

close