更新时间:2024-10-23 GMT+08:00
分享

对接MSGSMS实现短信发送功能

背景信息

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

在AstroZero中,通过应用与消息&短信 (Message&SMS)对接,可实现短信发送功能。

场景描述

使用Message&SMS给某用户发送条短信。

前提条件

  • 已获取短信应用的APP_Key、APP_Secret、APP接入地址和上行短信接收地址。
    1. 登录短信控制台。
    2. 在左侧导航栏中,选择“国内短信 > 应用管理”。
    3. 在应用管理中,获取所需的值。
  • 已获取短信模板的模板ID。
    1. 登录短信控制台。
    2. 在左侧导航栏中,选择“国内短信 > 模板管理”。
    3. 在模板管理中,获取所需的值。
  • 已获取短信模板的签名名称、通道号。
    1. 登录短信控制台。
    2. 在左侧导航栏中,选择“国内短信 > 签名管理”。
    3. 在签名管理中,获取所需的值。

创建消息&短信连接器

  1. 参考创建连接器入口中操作,进入创建连接器页面。
  2. 在左侧列表中,选择“消息通知 > 消息&短信”,单击“+”。

    图1 创建消息&短信连接器

  3. 设置MSGSMS对接参数,单击“保存”。

    • 标签:连接器的标签名,用于在页面展示。
    • 名称:连接器在系统中的唯一标识。
    • APP地址:短信APP接入地址,请与前提条件中的“APP接入地址”取值保持一致。
    • APP Key:APP Key和APP Secret是用户身份的唯一标识,调用短信业务API时需携带,用于认证鉴权。请与前提条件中的“APP_Key”取值保持一致。
    • App Secret:APP Key和APP Secret是用户身份的唯一标识,调用短信业务API时需携带,用于认证鉴权。请与前提条件中的“APP_Secret”取值保持一致。
    • APP回调地址:接收短信发送结果通知的回调地址。
    • 打包当前配置:默认为选中,对信息敏感的场景,建议不勾选。

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

  4. 创建短信模板。

    短信模板是用户发送短信时使用的内容模板,由纯固定文本或固定文本加变量组成。使用短信模板前,需要在华为云的消息&短信上创建短信模板,相关操作请参考MSGSMS帮助文档
    1. 在“模板”区域,单击“创建”。
    2. 配置页面参数,单击“确定”。
      图2 创建模板参数配置
      • 名称:模板的名称,和华为云的消息&短信中模板名称保持一致。
      • 发送者:通道号。由华为分配,仅用于接口调用时填写,请与前提条件中的“通道号”取值保持一致。
      • 模板:模板ID,用于唯一标识短信模板。请与前提条件中的“模板ID”取值保持一致。
      • 模板参数:发送短信时携带的模板参数。
        • 变量格式为${1}、${2}、...、${20},中间数字应代表变量在模板内容中的位置顺序。
        • 不允许设置局部变量,如www.${1}.cn、186${2}1234等。
      • 客户回调地址:用户收到短信后,回复短信,消息&短信服务可以通过回调该地址,通知业务方用户回复的短信。请与前提条件中的“上行短信接收地址”取值保持一致。

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

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

  5. (可选)测试是否能发送短信。

    1. 单击已创建的连接器,进入连接器详情页面。
    2. 在连接器列表中,单击需要测试连接器所在行的
    3. 输入接收者号码和模板参数,单击“确定”。

      接收者收到短信,表示测试成功。

在脚本中调用连接器

在脚本中,调用已创建的连接器,实现与Message&SMS的对接。

  1. 参考开发一个简单脚本实例中操作,创建一个空白脚本。

    图3 新建空白脚本

  2. 在脚本编辑器中,输入如下代码。

    //导入该脚本所依赖的标准库文件。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\"]")中携带的是模板名称、接收者号码和模板参数。

  3. 单击脚本编辑器页面上方的,保存脚本。
  4. 保存成功后,单击,运行脚本。
  5. 在页面底部,单击测试窗口右上角的
  6. 检查接收者是否收到短信,收到短信表示成功调用连接器。
  7. 单击编辑器页面上方的,启用脚本。

在服务编排中调用连接器

在服务编排中,调用已创建的连接器,实现与MSGSMS的对接。

  1. 参考如何开发服务编排中操作,创建一个空白服务编排。

    图4 添加服务编排

  2. 在服务编排设计页面左侧,选择“连接器 > 消息通知”,拖拽“MSGSMS”图元至画布中。

    MSGSMS是系统预置的,与MSGSMS对接的接口。
    图5 拖拽MSGSMS图元至画布中

  3. 选中图元,单击,设置基本信息。

    图6 设置基本信息
    • 标签:图元的标签名,用于在页面展示。
    • 名称:图元在系统中的唯一标识,不能和其他图元相同。
    • 连接器:该服务编排使用的连接器的名称。

  4. 单击,设置动作参数。

    图7 配置动作
    • 模板名称:短信模板的名称。
    • 模板参数:在“source”中,配置模板参数。
    • 接收者:“target”设置为“to”,在“source”中配置接收者号码。

  5. 连接开始和MSGSMS图元。

    图8 连接图元

  6. 单击页面上方的,保存服务编排。
  7. 保存成功后,单击,运行服务编排。
  8. 单击“运行”,若接收者收到短信,表示成功调用连接器。

相关文档