前言
上讲和上上讲我们说到了钉钉的审批和钉钉通讯录的一个简单示例,这次我们讲下如何快速打造一个自己的钉钉事件分发平台。让你能够通过监听用户在钉钉上的操作,然后进行对应的业务处理,比如钉钉流程审批完后业务处理、通讯录员工增加后对应自己系统的业务处理等等
为什么要做一套自己的钉钉事件分发平台?
之前我们讲过通过钉钉提供的通讯录接口进行同步自己OA系统和钉钉通讯录,这种同步的方式为:OA系统通讯录更改-》钉钉通讯录同步。这种方式只解决了单向同步,所以如果我们把钉钉通讯录的事件监听起来,这样钉钉通讯录更改-》OA系统通讯录同步就能实现双向同步的过程。
再说回上讲的钉钉审批,我们讲了如果通过接口进行钉钉的流程发起,但是审批的操作都是在钉钉上进行,所以也必须把钉钉上的审批动作事件进行监听,然后将结果返回给自己的系统进行业务处理。
钉钉官方明确注明了,一个企业只能注册一个接收回调的URL地址 ,所以我们必须将事件的回调进行统一管理,做一套属于自己的钉钉事件分发平台,注册对应的事件,然后只提供一个回调地址给钉钉,然后在自己的回调地址中进行转发。我简单画了一个图,如下:

钉钉的事件回调
回调是开发者在钉钉开放平台注册一个HTTP接口,并订阅相关的事件,当事件发生时,钉钉会主动调用开发者注册的HTTP接口,推送对应的事件信息。比如订阅审批事件回调后,当审批状态变更时,会向注册的HTTP接口推送事件信息。
针对所有的回调事件,在收到事件推送后,务必返回包含经过加密的字符串“success”的json数据,只有返回了对应的json数据,钉钉才会判断此事件推送成功。具体返回的数据格式为:
{
"msg_signature":"111108bb8e6dbce3c9671d6fdb69d15066227608",
"timeStamp":"1783610513",