一、简介
钉钉开放平台地址:https://open-dev.dingtalk.com/
钉钉应用分为三种:企业内部应用、第三方企业应用、第三方个人应用。如下:
第三方个人应用比较好理解,就是自己做给自己玩的,也没法给其他人玩。
但是企业内部应用和第三方企业应用理解起来就有点麻烦了,不像微信小程序一个就行了。这导致开发者在创建小程序的时候是一头雾水,不知道选哪一个。
为了让大家对这三种小程序有一个简单的认识,下面我来给大家介绍一下这三种小程序的区别。
二、介绍一下
1. 举个例子
为了方便理解,我来举个例子🌰:
我是一家不到50人小公司(没有懂IT的员工)的老板,为了方便管理员工,让大家都用起了钉钉。为了统计大家每天上下班的时间,让他们使用钉钉自带的打卡小程序。
后来公司发展到了几百人,也有了技术部,这时我想看一下公司的经营情况,让技术部在钉钉上做了一个生意参谋小程序,这样我打开钉钉就可以查看了,非常方便。
由于技术部做的这个生意参谋小程序非常好用,我的一些合作伙伴(其他公司)也想用,我就让技术部把这个生意参谋小程序上架到应用市场,合作伙伴们只需要去市场中心安装这个小程序就可以使用了。
上面一共出现了两个小程序:打卡小程序、生意参谋小程序,那么这两个小程序分别属于哪一类呢?
1.打卡小程序是钉钉自带的,不是我们公司自己开发的,我们只是使用,所以它是第三方企业应用。
2.生意参谋小程序比较特殊,它是我们公司技术部自己做的,那它就一定是企业自建应用吗? 其实不然,如果这个小程序只有我们公司用,那么选择企业内部应用即可。但后面合作伙伴也想用的话,企业内部应用是不支持分发的,必须要选择第三方企业应用。
2. 选择依据
- 自己做给自己玩:第三方个人应用;
- 自己企业做给自己企业玩:企业内部应用;
- 除了自己企业玩还给其他企业玩:第三方企业应用
三、开发区别(不考虑个人应用)
1. 应用凭证
企业内部应用
一共四个值:AgentId、MiniAppId、AppKey、AppSecret
第三方企业应用
一共五个值:SuiteId、AppId、MiniAppId、SuiteKey、SuiteSecret
这两种小程序除了都有一个MiniAppId外,其他的属性都不同,这导致使用上也有所不同。
最大的区别是企业内部应用和第三方企业应用获取AccessToken的方式是不同的。企业内部应用获取AccessToken只需要AppKey和AppSecret即可;但是第三方企业应用还需要一个SuiteTicket,怎么获取这个SuiteTicket,我会在后续的文章中说明。
2. 消息推送
企业内部应用
文档地址:https://open.dingtalk.com/document/orgapp-server/message-notification-overview
第三方企业应用
文档地址:https://open.dingtalk.com/document/isvapp-server/message-template-overview
企业内部应用和第三方企业应用消息推送的界面都不同,所以使用上肯定也是不同的两套。简单来说,企业内部应用的消息只需要自己拼接正确的json字符串,然后调用发送接口就可以发送了。但第三方企业应用分为好几步:创建消息模板—>消息模板审核—>调用消息模板发送。企业内部应用是没有模板这个概念的。
3. 事件与回调
企业内部应用
第三方企业应用
这里双方都有一个回调请求地址,且加解密的方式都相同,但二者有一个最大的不同:第三方企业应用比企业内部应用的回调多了一个SuiteTicket,这个也是上文说到第三方企业应用获取AccessToken的一个必要的参数,这个SuiteTicket会定时推送,具有时效性。
4. 版本管理与发布
企业内部应用
第三方企业应用
企业内部应用只需要在本地提交代码发布即可,但第三方企业应用除了提交代码外还需要设置一个体验组织,毕竟第三方企业应用不仅仅是给自己玩的,其他企业也要能看到,设置完之后会有一个体验版二维码,拿钉钉扫码即可体验。
此外,第三方企业应用可以不上架到市场,通过部署二维码的方式也能给其他企业使用,但是有上限,最多部署20个。如果还想部署到更多企业,那么则需要走第三方企业应用的上架流程。
四、其他比较重要的
1. 查看CorpId
登录开发平台后,CorpId在首页的右上角可以看到。
2. 钉钉开发者文档
https://open.dingtalk.com/developer
3. 钉钉开发者工具
https://open.dingtalk.com/document/resourcedownload/miniapp-tool