示例框架–Yii2.0+mysql+orm管理系统
建议使用钉钉官方sdk包下载地址:http://open-dev.dingtalk.com/download/openSDK/php
钉钉步骤:
1:注册企业钉钉
2:按照文档:https://ding-doc.dingtalk.com/doc#/serverapi2/dr0du9 根据自身需求 选择创建微应用H5 or 钉钉小程序(以H5为例)
3:应用首页中设置IP白名单,安全URL,接口权限(根据需求添加权限),创建审批模板流程等
4:创建审批模板的时候在url中获取PROCESS_CODE,发起审批的必传参数
5:通过创建钉钉得到corpid AppKey AppSecret 用于获取token等
框架步骤–yii框架
1:根据上面sdk下载地址下载到本地
2:解压后删除无用文件 aliyun,QimenCloud 两个目录后,重命名文件夹名称
3:将文件夹放到项目中合适的目录中(我的是新建了一个文件夹extends)
4:修改composer.json文件给autoload字段新增files值
5:修改成功后终端运行composer dump-autoload
6:config新增配置文件将用到的值如appky appserect等放到配置文件当中
接下来调用钉钉接口
1:首先调用接口需要获取access_token,根据你的appkey和appserect去获取你的token
示例如下
2:通过获取的access_token去去发起钉钉审批(特别注意这边传过来的表单值处理)
表单值的话process_code可以通过钉钉的获取用户可见的模板去获取process_code 然后将其绑定到某个审批流程下面这边审批流程是可以是在设计模板的时候设计好的也可以通过审批人的用户id重新获取
3:这里我没有用钉钉的注册回调事件
----这边推荐大家用定时脚本
参考资料
钉钉文档:https://ding-doc.dingtalk.com/doc#/serverapi2/dr0du9
官方在线台调试地址:https://open-dev.dingtalk.com/apiExplorer#/?devType=org&api=/processinstance/create
错误码:https://ding-doc.dingtalk.com/doc#/faquestions/rftpfg
这边只是一个关于个人的理解不足之处希望大家指出