对接Message&SMS发送短信
消息&短信 (Message&SMS)是华为云携手全球多家优质运营商和渠道,为企业用户提供的通信服务。企业调用API或使用群发助手,即可使用验证码、通知短信服务。在AstroZero中,通过应用与消息&短信 (Message&SMS)对接,可实现短信发送功能。例如,使用Message&SMS给某用户发送条短信。
前提条件
- 已获取短信应用的APP_Key、APP_Secret、APP接入地址和上行短信接收地址。
- 登录短信控制台。
- 在左侧导航栏中,选择“国内短信 > 应用管理”。
- 在应用管理中,获取所需的值。
- 已获取短信模板的模板ID。
- 登录短信控制台。
- 在左侧导航栏中,选择“国内短信 > 模板管理”。
- 在模板管理中,获取所需的值。
- 已获取短信模板的签名名称、通道号。
- 登录短信控制台。
- 在左侧导航栏中,选择“国内短信 > 签名管理”。
- 在签名管理中,获取所需的值。
创建消息&短信连接器
- 参考登录AstroZero新版应用设计器中操作,进入应用设计器。
- 在左侧导航栏中,选择“集成”。
- 单击“连接器”中的“ 连接器实例”,进入连接器实例页面。
- 在左侧导航栏中,选择“消息通知 > 消息&短信”。
- 在右侧页面单击“+”,设置消息&短信对接参数。
表1 新建消息&短信连接器参数说明 参数
说明
标签
新建连接器的标签名,用于在页面显示。
名称
新建连接器的名称。命名要求如下:
- 长度不能超过64个字符,包括前缀命名空间的长度。
说明:
名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。
- 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。
APP地址
短信APP接入地址,请与前提条件中的“APP接入地址”取值保持一致。
APP Key
APP Key和APP Secret是用户身份的唯一标识,调用短信业务API时需携带,用于认证鉴权。请与前提条件中的“APP_Key”取值保持一致。
App Secret
APP Key和APP Secret是用户身份的唯一标识,调用短信业务API时需携带,用于认证鉴权。请与前提条件中的“APP_Secret”取值保持一致。
App回调地址
接收短信发送结果通知的回调地址。
打包当前配置
选中该选项后,应用打包时会将当前配置的连接器信息一并打出。例如,如果应用包发布到运行环境,当前配置默认会被同步到运行环境中。如果不勾选,则内容不会打包发布到运行环境,此时需要您参考管理应用中的连接器中操作,创建对应的连接器。
默认为选中,对信息敏感的场景,建议不勾选。
- 长度不能超过64个字符,包括前缀命名空间的长度。
- 创建短信模板。
短信模板是用户发送短信时使用的内容模板,由纯固定文本或固定文本加变量组成。使用短信模板前,需要在华为云的消息&短信上创建短信模板,相关操作请参考MSGSMS帮助文档。
- 在“模板”区域,单击“创建”。
- 配置页面参数,单击“确定”。
图1 创建模板参数配置
表2 创建模板参数说明 参数
说明
名称
模板的名称,请和消息&短信服务中定义的模板名称保持一致。
发送者
通道号。由华为分配,仅用于接口调用时填写。请与前提条件中的“通道号”取值保持一致。
模板
模板ID,用于唯一标识短信模板。请与前提条件中的“模板ID”取值保持一致。
模板参数
发送短信时携带的模板参数。
- 变量格式为${1}、${2}、...、${20},中间数字应代表变量在模板内容中的位置顺序。
- 不允许设置局部变量,如www.${1}.cn、186${2}1234等。
客户回调地址
用户收到短信后,回复短信,消息&短信服务可以通过回调该地址,通知业务方用户回复的短信。请与前提条件中的“上行短信接收地址”取值保持一致。
签名
签名的名称,请与前提条件中获取的“签名名称”取值保持一致。
- (可选)测试是否能发送短信。
在脚本中调用连接器
在脚本中,调用已创建的连接器,实现与Message&SMS的对接。
- 参考创建空白AstroZero脚本中操作,创建一个空白脚本。
- 在脚本编辑器中,输入如下代码。
//导入该事件所依赖的标准库文件。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\"]")中携带的是模板名称、接收者号码和模板参数。
- 单击脚本编辑器页面上方的,保存脚本。
- 保存成功后,单击,运行事件。
- 在页面底部,单击测试窗口右上角的。
- 检查接收者是否收到短信,收到短信表示成功调用连接器。
- 单击编辑器页面上方的,启用脚本。
在服务编排中调用连接器
在服务编排中,调用已创建的连接器,实现与MSGSMS的对接。
- 参考创建空白AstroZero服务编排中操作,创建一个空白服务编排。
- 在服务编排设计页面左侧,选择“连接器 > 消息通知”,拖拽“MSGSMS”图元至画布中。
MSGSMS是系统预置的,与MSGSMS对接的接口。图2 拖拽MSGSMS图元至画布中
- 选中图元,单击,设置基本信息。
图3 设置基本信息
表3 MSGSMS图元基本信息参数说明 参数
说明
标签
图元在页面显示的名称。
名称
图元在系统中的唯一标识,不能和其他图元相同。命名要求如下:
- 长度不能超过80个字符。
- 必须以英文字母开头,只能由英文字母,数字或下划线组成,且不能以下划线结尾。
描述
根据实际需求,输入连接器的描述信息。
连接器
在下拉框中,选择待使用连接器的名称,即创建消息&短信连接器中创建连接器的名称。
- 单击,设置动作参数。
图4 配置动作
表4 连接器新建动作参数说明 参数
说明
资源
选择所需的模板,即短信模板的名称。
接收者
“target”设置为“to”,在“source”中配置接收者号码。
输出参数
设置模板的输出参数。
- 连接开始图元和MSGSMS图元。
图5 连接图元
- 单击页面上方的,保存服务编排。
- 保存成功后,单击,运行服务编排。
- 单击“运行”,若接收者收到短信,表示成功调用连接器。