SaaS应用开发指南
1 低代码开发SaaS应用全链路流程说明
1.1 前置准备
- 申请钉钉产品服务商资质步骤一:入驻成为产品方案商 - 开放平台
- 了解并知悉钉钉开放平台ISV帮助中心的全链路内容
- SaaS应用必须具备酷应用形态,如何酷化可参考低代码构建钉钉酷应用开发设计指南
1.2 如何进入SaaS研发工作台
当前组织具备产品方案商身份认证时,登录宜搭,可在顶部菜单看到“进入SaaS研发工作台”的入口,直接访问。
进入SaaS应用工作台,您可以创建SaaS应用。
1.3 aPaaS底座功能支持范围
钉钉SaaS工厂研发工作台的能力和宜搭现有交互模式基本保持一致,本期发布的版本将会具备以下核心功能点:
- 平台功能:
- 表单(数据联动、自定义页面(页面js)、关联列表、二维码、流水号等)
- 流程(消息通知、待办等)
- 报表(元数据、数据集)
- 公式&业务规则
- 权限
- 集成自动化(一方、三方连接器、定时触发等)
- 消息通知&待办
- 酷应用化
- 打印
- 页面js数据源的openAPI
- 门户
- 数据卡片搭建(主应用不支持数据卡片投放>数据播报配置 但支持子应用个性化定制数据播报能力)
- ...等
特殊说明:自定义连接器、数据准备、DataV大屏、自定义组件等扩展增强功能,暂不支持,后续将会持续迭代。
2 主应用设计
在完成前置准备工作后,您可以研发SaaS应用,如果您在现有其他宜搭组织下已经有完备的解决方案,希望直接切换成SaaS模式,可联系宜搭产研申请应用迁移至SaaS环境。
- 您可以基于SaaS研发工作台并且根据目前平台提供的能力,按照业务诉求设计您的应用,如设计:
- 表单
- 流程
- 报表
- 门户
- 数据卡片搭建(主应用不支持数据卡片投放>数据播报配置 但支持子应用个性化定制数据播报能力)
- 集成自动化
- 酷应用
- ...
目前以上功能开发流程和宜搭企业自建应用开发功能保持一致,如有问题,请查看图解宜搭 | 钉钉宜搭·帮助中心
- 如果您的SaaS品有相关业务底表数据且希望用户在订阅SaaS应用后,能看到相关示例数据,请录入“基础数据”并统一维护至一个目录文件夹内,文件命名“基础业务数据”(示例如下图)
- 届时该文件夹的各普通表单TOP100的数据将会随着客户订阅应用时加载到对应的组织应用内,目前仅支持一级目录携带数据,暂不支持多级目录。
3 酷应用设计
基于SaaS研发工作台,您可以在应用层:卡片管理/集成自动化流 内 配置酷应用的卡片样式及卡片的发送及更新逻辑。具体设计可参考如下文档:
4 应用发布
- 主应用和酷应用都开发完毕后,您可以进入“发布&上架”界面,创建一个新的版本,用于SaaS应用的功能测试,测试完毕后申请上架。
- 点击新建版本,填写SaaS应用的版本信息,包括版本号、版本描述内容。
- 版本号不可修改
- 版本创建后,您可以点击“描述设置”修改版本描述
4.1 应用版本管理
- 应用功能发生变化之后,您可以随时创建一个新的版本,默认版本状态为“未发布”状态。可以点击发布,发布该版本。
- ⚠️未来用户在应用市场或自有渠道购买SaaS应用时,默认下单购买的版本为当前主应用已发布的最新版本,未发布的版本用户无法购买。
4.2 应用申请上架-关联第三方应用
step1 关联第三方应用
SaaS研发工作台 | 钉钉开放平台>企业第三方应用 |
|
|
step2 填写SaaS应用开发信息
复制SaaS应用地址,进行应用信息配置
SaaS研发工作台 | 钉钉开放平台>企业第三方应用 |
|
|
step3 检查SaaS应用配置项
(1)确认应用开发信息
- 在钉钉开放平台内 > 企业第三方应用 选择注册的三方应用,如上图确认功能配置项是否均已完成,遗漏的需要继续配置。
(2)权限管理配置
为保障SaaS品的数据安全,应用在开通时需要向用户确认授权信息,因此需要ISV自行配置需要授权的权限点。
- 选择“权限管理”菜单,标准SaaS品均需要勾选以下权限信息,勾选后点击“批量申请”。
权限分类 | 权限点 |
卡片 | 互动卡片实例写权限 |
个人权限 | 通讯录个人信息读权限 |
通讯录管理 | 通讯录部门信息读权限 通讯录部门成员读权限 查询行业通讯录信息权限 成员信息读权限 |
待办任务 | 待办应用中待办写权限 待办应用中待办读权限 |
应用授权 | 调用ISV专有API时需要具备的权限 |
身份验证 | 企业微应用后台免登接口的访问权限 |
场景群 | chat相关接口的管理权限 chat相关接口的读取权限 |
宜搭 | 全部勾选 |
机器人 | 企业内机器人发送消息权限 |
存储 | 企业存储空间读权限 企业存储文件写权限 企业存储文件读权限 |
(图1 权限配置界面)
(图2 授予权限透出说明界面)
- 如果当前您搭建的SaaS品在“集成自动化>连接器节点”使用了“钉钉官方”连接器,请联系宜搭同学,确认需要勾选一方连接器的权限。
部分连接器与权限的映射如下
连接器 | 对应的权限分类 | 对应的权限点 |
智能会议室 | 视频会议应用会议写权限 | |
项目管理 | 项目应用任务写权限 |
step4 自助申请跳过安全自检
- 应用跳过自检,需要设置“事件与回调”,如下图:
step1:加密Aes_key,通过下列的decrypt方法对宜搭的systemToken进行加密后设置
private static final char[] HEX_ARRAY = "0123456789abcdef".toCharArray();
public static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for (int i = 0; i < bytes.length; i++) {
int v = bytes[i] & 0xFF;
hexChars[i * 2] = HEX_ARRAY[v >>> 4];
hexChars[i * 2 + 1] = HEX_ARRAY[v & 0x0F];
}
return new String(hexChars);
}
private static String decrypt(String input) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes(StandardCharsets.UTF_8));
// 将散列码转换成43位加密串
return bytesToHex(hash).substring(0, 43);
}
宜搭的systemToken在宜搭应用设置-部署运维中获取
step2:签名Token,即为上面的宜搭的systemToken
step3:回调请求地址(https://www.aliwork.com/saasAppCallback/{appKey}) 其中appKey是宜搭应用的,如“APP_XXX”的应用编码
- 填写应用自检《安全审核》相关内容,安全准入评估参考📎宜搭酷SaaS安全准入指南-ISV .pdf
4.3 体验组织管理
体验组织管理用于ISV自测 已发布/未发布状态下 主应用/酷应用的功能完备性,自测通过后再申请上架到钉钉应用中心和酷应用市场。
- 选择对应的SaaS应用版本,点击”体验组织管理“,选择体验组织,如果无,可点击”创建“,前往开放平台进行创建体验组织。
- 体验组织创建完毕后,可将需要测试的应用版本关联授权到该组织即可,授权成功后,可在该体验组织的工作台>未分组 下查看该应用。
4.3.1 体验测试主应用
- 通过工作台访问该应用后,当体验测试组织人非“通讯录的管理员”或”应用主管理员“时,可联系组织管理员或应用管理员添加进入应用后台的管理权限。
- 拥有进入应用管理后台的权限后,可查看订阅的SaaS应用后台配置,特定功能支持修改。
以下功能均支持修改:
- 应用层:
- 角色管理、卡片管理、用户账号授权、数据卡片
- 页面层:
- 页面流程设计、页面权限、门户、表单、报表、自定义页面、集成自动化流等
通用逻辑说明:一旦修改后,后续ISV升级版本后,对应功能有变更,客户侧订阅后将以本地修改的配置为主,不会同步更新主应用的变更到子应用;如果未修改,主应用增量资源变更将会同步至子应用。
审批流程修改变更逻辑说明:
- 如果子应用订阅了V0版本,如果主应用有未发布的V1版本,在子应用历史版本中不予展示
- 如果子应用订阅了V0版本,并未进行自定义,后续主应用升级到V1版本,子应用也应该按订阅的V0版本进行展示和运行
- 如果子应用订阅了V0版本,并进行自定义,会创建一份自己内部的V0历史版本,然后创建一份V1的草稿态,同时子应用订阅新版本应用后,当前流程不再跟随主应用升级
- 以上流程版本包括版本内的所有业务规则和公式
- 默认会将主应用内“基础业务数据”表单数据携带至子应用,保障底表数据开箱即用,支持修改。
4.3.2 体验测试酷应用
- 主应用测试通过后,可测试酷应用,首先提交酷应用相关信息。点击“上架到钉钉酷应用市场>提交上架申请”,填写酷应用上架信息,包括酷应用基础信息、访问入口(最多可配置3个)及打开方式、机器人信息等。
- 相关信息填写完毕后,点击保存并发布,会生成coolappcode
- 您可以复制该酷应用的coolappcode,在当前体验组织下创建内部群,前往移动端按照下图进行安装测试。
5 应用运维
5.1 版本升级
服务商开发的SaaS应用上架到应用市场后,客户付费订阅当前SaaS应用后,ISV如有功能迭代,支持在"宜搭SaaS研发工作台>应用设置>远程运维"针对特定组织进行SaaS应用功能逐个/批量进行版本升级。
功能说明:
- 默认可升级的版本功能范围为当前已发布之后迭代的最新版本列表
- 支持针对多个付费组织进行批量版本升级
远程运维敬请期待
5.2 应用开通授权背景页设置
当宜搭SaaS应用上架到钉钉开放平台和应用中心后,支持自定义授权开通背景介绍页内容👉了解更多
配置说明:
- 分别上传PC端/移动端开通授权背景页面(仅支持上传一张)
- 上传完毕后复制“试用访问地址”后前往伙伴自运营平台 > 第三方企业应用 > 商品上架管理 > 应用详情 > 管理 “应用内授权设置”信息,接入完成且自行验收通过后(👉详细了解验收流程),该SaaS应用可在钉钉线上更多渠道进行推广(如钉钉搜索等场域)
移动端效果 | PC端效果 |
6 常见FAQ
Q1:订阅后的SaaS应用如何修改表单字段?
答:表单等功能支持已支持
Q2:已上线发布的表单能删除组件吗?
答:禁止已上线发布的普通|流程表单删除组件,包括子表单。
Q3:发布的自定义页面中可否携带固定的企业CorpId?
答:任意自定义链接中不可携带固定的CorpId
Q4:酷应用安装失败该如何处理?
答:请在“非主应用组织内新建内部群”安装酷应用进行测试。
Q5:自定义页面跳转表单页面,如何传递当前群的群id参数?
Q6:如何隐藏SaaS应用某页面菜单导航栏?
答:当宜搭页面被集成到其他系统内时,支持配置隐藏顶部导航栏和左侧页面功能导航栏。在被嵌入的页面URL后拼接?isRenderNav=false即可。