目前宜搭消息通知暂时不支持通过手机短信推送。可以找他们反馈一下,应该有解决办法,大家的回答五花八门,但是尽量从宜搭官网客服处理,外接的短信不知道接口是不是兼容:https://www.dingtalk.com/qidian/help-detail-1061016283.html
宜搭平台可以通过第三方短信服务接口实现短信提醒功能。你可以选择与各大短信服务商(如阿里云、腾讯云等)合作,根据他们提供的 API 接口文档实现接口调用。
在宜搭平台中,可以在云函数中集成短信提醒的逻辑。通过使用 HTTP 触发器,将需要进行短信提醒的事件通过 HTTP 请求发送到云函数中,再进行相应的处理并调用第三方短信服务接口发送短信。
同时,宜搭平台还提供了自带的短信服务集成,可以快速搭建短信提醒服务,方便快捷。具体操作可以参考宜搭官方文档中短信服务的相关章节。
您好,是可以的,具体实现步骤可以参照这个博客https://blog.csdn.net/m0_61300098/article/details/128409951。
宜搭可以实现短信提醒,需要利用宜搭的连接器功能,就可以做到轻松自动发送短信。
首先需要在阿里云官网注册一个阿里云的账号,然后在阿里云官网上面购买短信服务,有两种渠道购买,一种是购买阿里云官方的短信服务,一种是购买阿里云三方服务商的短信服务。
购买成功后,在 短信服务工作台 就可以看到已经购买的套餐包余量。按照阿里云的官方文档,设置短信“模板”和短信“签名”。需要审核,一般2小时内完成。模板和签名审核通过之后,可以在签名和模板管理中看到。
购买阿里云三方服务商的短信服务,购买成功之后,在 云市场工作台 可以看到购买成功的服务。
添加客服为好友联系
访问产品购买页面:https://market.aliyun.com/products/57126001/cmapi030445.html?#sku=yuncode2444500003
找到对应的服务商联系信息,添加联系人为好友,可以选择钉钉联系。
设置短信的内容,将刚购买的短信服务订单编号告知客服。
制定自己要发的短信模板,短信模板包括“签名+模板”,标注:
【钉峰会】这个是签名; ${location}、${url}、${time}、${address} 这些是变量,到时候可动态替换成其它文案; 短信内容不宜过长,需要控制长度。
将“短信服务订单编号”和“短信模板”告知给客服,让他们帮忙添加,添加成功后,他们会通知。
创建宜搭应用和报名页面,在表单设计器中,拖入需要使用的字段、图片、文字等。其中联系方式字段(手机号)必填,否则短信无法发送。
设置报名页短链 切换到“页面发布”的tab,然后打开“公开访问”的开关,填入短链接名字。这样,访问:https://ycu74v.aliwork.com/o/message_test,即可看到报名页的实际效果。
配置短信连接器 因为阿里云官方短信和三方服务商短信提供的加密方式不一样,导致连接器的配置方式也不一样。
其中阿里云官方使用的是 AK+SK 的动态认证方式,目前宜搭连接器不支持这种认证方式,所以需要使用到 FaaS 连接器来解决。
而三方服务商使用的是 AppCode 的加密认证方式,可以直接使用宜搭的普通连接器。接下来,讲解两种连接器的配置方式。
阿里云官方短信 FaaS 连接器配置 操作路径如下
连接器创建入口:宜搭官网 -> 平台管理 -> 连接器工厂 -> 连接器管理 -> 创建连接器 -> FaaS 自定义连接器
点击“确定”后,输入“连接器显示名称”和“连接器介绍”,再点击“下一步”
填写“名称”,然后将下列代码复制到 Body 中,并点击“解析 Body”。
其中“accessKeyId”和“accessKeySecret”是必填选项,填入自己在阿里云注册的账号的 AK 和 SK 即可。解析 Body 后点击“保存”。
将下列代码复制到 Response Body 中,并点击“解析 Body”。解析 Body 后点击“保存”。
如何获取 AK 和 SK 呢?访问页面地址:https://usercenter.console.aliyun.com/?#/manage/ak
保存成功之后,点击“前往云 IDE 开发”按钮,跳转到阿里云 FaaS 云端开发设计器。
修改设计器中的 pom.xml 和 src/FaasEntry.java 两个文件。
pom.xml 中新增依赖
src/FaasEntry.java 代码完全替换成下面这一份
package com.alibaba.work.faas;
import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject;
import com.alibaba.work.faas.common.AbstractEntry; import com.alibaba.work.faas.common.FaasInputs; import com.alibaba.work.faas.util.DingOpenApiUtil; import com.alibaba.work.faas.util.YidaConnectorUtil;
import com.aliyun.fc.runtime.Context; import com.aliyun.tea.; import com.aliyun.dysmsapi20170525.; import com.aliyun.dysmsapi20170525.models.; import com.aliyun.teaopenapi.; import com.aliyun.teaopenapi.models.*;
/** * @Description 宜搭Faas连接器函数入口,FC handler:com.alibaba.work.faas.FaasEntry::handleRequest * @Version 2.0 * @Author bufan **/ public class FaasEntry extends AbstractEntry {
@Override
public JSONObject execute(FaasInputs faasInputs, Context context) {
context.getLogger().info("faasInputs: " + JSON.toJSONString(faasInputs));
/**
*用于调用钉钉开放平台OpenAPI的accessToken, 宜搭提供的, 仅申请了钉钉开放平台的部分OpenAPI的调用权限
*如果此accessToken不满足您的需求, 可在钉钉开放平台创建您自己的钉钉应用并获取appKey和APPSecret并使用com.alibaba.work.faas.util.DingOpenApiUtil获取您自己的accessToken
* @see com.alibaba.work.faas.util.DingOpenApiUtil#getCustomAccessTokenThenCache(String, String)
*/
String accessToken = (String)faasInputs.getYidaContext().get("accessToken");
//设置钉开放平台访问token, 后续无需再设置
DingOpenApiUtil.setAccessToken(accessToken);
/**
*调用宜搭的前端消费接口时使用
*/
String consumeCode = (String)faasInputs.getYidaContext().get("consumeCode");
//设置连接器消费码, 后续无需再设置
YidaConnectorUtil.setConsumeCode(consumeCode);
Map<String,Object> input = faasInputs.getInputs();
String ak = (String)input.get("accessKeyId");
String as = (String)input.get("accessKeySecret");
String phoneNumbers = (String)input.get("phoneNumbers");
String signNum = (String)input.get("signNum");
String templateCode = (String)input.get("templateCode");
String templateParam = (String)input.get("templateParam");
JSONObject result = new JSONObject();
result.put("success",true);
result.put("message","");
result.put("code","");
try {
com.aliyun.dysmsapi20170525.Client client = createClient(ak, as);
SendSmsRequest sendSmsRequest = new SendSmsRequest();
// 复制代码运行请自行打印 API 的返回值
sendSmsRequest.setPhoneNumbers(phoneNumbers);
sendSmsRequest.setSignName(signNum);
sendSmsRequest.setTemplateCode(templateCode);
sendSmsRequest.setTemplateParam(templateParam);
SendSmsResponse res = client.sendSms(sendSmsRequest);
String resCode = res.getBody().getCode();
if ("ok".equalsIgnoreCase(resCode)) {
return result;
}
else {
System.out.println("invoke failed:" + JSON.toJSONString(res));
result.put("success",false);
result.put("message",res.getBody().getMessage());
result.put("code",resCode);
return result;
}
}
catch(Exception ex) {
System.out.println("meet errot");
ex.printStackTrace();
result.put("success",false);
result.put("message",ex.getMessage());
return result;
}
}
private static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
Config config = new Config()
// 您的AccessKey ID
.setAccessKeyId(accessKeyId)
// 您的AccessKey Secret
.setAccessKeySecret(accessKeySecret);
// 访问的域名
config.endpoint = "dysmsapi.aliyuncs.com";
return new com.aliyun.dysmsapi20170525.Client(config);
}
}
切换到“源代码管理”界面,点击“暂存并提交代码”,将代码推送到远程 Git 仓库中保存。
切换到“设置WB”,然后选择“线上环境”,点击“部署”,将 FaaS 服务部署到线上去.
点击“继续部署”按钮。
上述操作完成后,一个 FaaS 连接器就 OK 了。
三方服务商短信连接器配置 如果购买的是三方服务商的短信服务,那么他们会提供相对应的 API 调用和简单身份认证调用方式。
访问地址:https://market.aliyun.com/products/57126001/cmapi030445.html?#sku=yuncode2444500001
操作路径如下
连接器创建入口:宜搭官网 -> 平台管理 -> 连接器工厂 -> 连接器管理 -> 创建连接器 -> HTTP 自定义连接器
填写供应商给的 API 相关配置,“保存”并点击“下一步”。
身份验证类型选择“阿里云API网关”,然后点击“下一步”
根据三方提供的 API,进行参数填写。
“保存”信息之后,然后切换到“鉴权管理”页面“添加鉴权模板”。
其中连接器选择刚刚新建的“三方服务商短信”,“App Code”将服务商给的 Code 复制过来。
切换到“连接器管理”页面,找到刚刚新建的“三方服务商短信”,然后点击“测试”按钮进行测试。
填入“短信内容”和“手机号”,点击“测试操作”,下面 RESPONSE 会提示发送是否成功。
如果按照预期的返回,那么短信发送就会成功。
使用短信连接器 5.1 阿里云官方短信 FaaS 连接器使用 首先,访问“集成&自动化”。
点击“从空白新建”,然后输入名称,选择触发表单,点击“确认”。
配置表单事件触发为“创建成功”。
新增一个“连接器”节点。选择“自定义”连接器中,自己新建的“短信发送”的连接器。
将连接器需要的参数配置进去,点击“保存”,然后“发布”。
在表单提交一条数据,输入自己姓名和手机号。
提交成功之后,如果连接器配置和功能都没问题的话,就会收到一条短信。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。