钉钉是一款现在非常流行的业务办公类软件,具有企业内部沟通、考勤审批、外部CRM等功能。除此之外,钉钉还开放了API接口。让我们程序员可以非常方便借助钉钉已有的功能,补充企业管理的短板。刚好最近准备开发企业管理软件,我们一起来看一下钉钉有什么API。
一、总体格局
钉钉开放给我们的接口有三种类型:
1. 服务端\
用于我们的服务器(我是用java开发服务端,以后都说java程序,PHP或者.net亦同)与钉钉的服务器通讯,获取相应的服务。多是类似和微信开发一样的https请求,通过发送json(微信是xml,不过感觉json更方便)和接受json回复数据实现功能。
2. 客户端(手机端)\
有点像微信js-sdk,通过在钉钉手机端进入网页,调用js的API自动获取一些用户的信息,调用钉钉APP的功能。
3. PC端\
和客户端差不多,不过是在电脑端上使用的
总体给我的感觉来说,我会开发好我们的企业ERP系统,然后ERP的java服务器端与钉钉交互,发送ERP的管理通知或者是业务报表。获取考勤信息(省了我做考勤,钉钉的考勤真心好用!)。客户端或者PC(PC我是不大愿意用的)做一些简单的交互应用,提供功能延伸。
二、服务器端功能概览
- 管理部门和员工(需申请):
- 管理应用: 这个用来自动配置接入的时候的时候有用,一次接入,所有应用一次配置完成。这让我想到了微信接入之后配置菜单栏功能。
- 会话管理(需申请): 管理群,在群里发报表,发应用链接;
- 普通消息: 和短信通知差不多(钉钉的通知非常好用)
- 管理文件
- 获取考勤数据(需申请): 这个很实用,正好我的ERP中要用到考勤,省了不少功夫。
三、客户端功能概览
- APP基础功能:
- NFC调用(仅安卓)
- 弹窗
- 加速器
- 地图
- 电话
- 扫码
- 支付
- 导航栏
- ……
- ding: 类似消息通知
- 会话
- 通讯录获取: 选人发通知,业务关联
- 钉钉的内部页面调用,比如员工信息一类
四、客户端功能概览
(和客户端的差不多,只是没有手机的那一类功能)
五、总结
就API开放来说,钉钉作为阿里旗下的产品,理念非常先进。但就目前对比微信开发一类的生态系统,API的功能就太少了。比如我就想对接上钉钉的报表功能,把ERP中的营业数据发送到钉钉,就是没有接口(不过可以用我们自己的报表微应用)。开发起来给人一种捉襟见肘的感觉,寄人篱下,难以呈现高品质应用(其实微信开发也是这个样子)。\
总之,配合我们的ERP作为一个沟通交流的配合软件,个人感觉是非常好的一个方向,但是不能过分依赖。看来客户还是得安装一个我们的ERP APP喽。