美文网首页
明道云对接案例之e签宝电子签章

明道云对接案例之e签宝电子签章

作者: 明道云 | 来源:发表于2021-07-05 23:03 被阅读0次

    上篇我们介绍了什么是电子签章,也讲解了如何与法大大对接,以及它的优缺点。今天我们就来讲解下明道云如何与e签宝做对接,同时也点评下它的优缺点

    对接流程

    1.准备工作

    a.登录e签宝开发平台注册开发者,实名认证企业

    b.沙箱环境开通,选择产品

    c.沙箱应用创建

    d.应用信息与设置IP白名单 (APPkey与Appsecret)

    小编这里选择的是saas非标版。可根据实际情况选择产品。

    注意事项:沙箱应用余额/次数不足时如何充值

    · 沙箱服务开通时,e签宝自动为其配置一定金额/次数的免费调试套餐,以便接口调试。

    · 如接口调试时出现余额/次数不足时,请将应用ID(App Id)和所调用的产品名称一同告知e签宝工作人员,即可重新获取免费调试套餐。

    2.表单设计与对接开发

    e签宝支持用户及印章可视化管理,前期用户注册、印章注册直接在后台注册后把对应的ID放到明道云工作表即可。当然也支持利用明道云在使用webhook调用对方接口进行管理。(具体可参考法大大对接)

    业务流程如图:

    2.1账号印章管理

    接口如下:

    创建个人账号:/v1/accounts/createByThirdPartyUserId

    常见机构账号:/v1/organizations/createByThirdPartyUserId

    创建个人/机构图片印章:/v1/accounts/{accountId}/seals/image

    2.2文件上传与文件写入及状态

    在签署之前,需要把要签署的文件上传到e签宝中,提供给签署流程中使用。这里的文件不能直接上传,需要先创建一个空文件,然后通过接口写入文件内容,最后判断文件是否写入完成。再调用签署接口。

    接口如下

    通过上传方式创建文件:/v1/files/getUploadUrl

    文件流上传方法:【通过上传方式创建文件】获取到的uploadUrl

    调用方法:put BODY,待上传文件的二进制字节流。

    查询文件状态:/v1/files/{fileId}/status

    文件MD5 加密

    var imgurl =input.imgurl

    var fetch = require('node-fetch');

    const FormData = require('form-data');

    var crypto= require('crypto');

    let hash = crypto.createHash('md5');

    var rdata = await fetch(imgurl).then(r => r.buffer()).then(function(buf) {return {"size":parseFloat(buf.length/1024).toFixed(2),"FileMD5":hash.update(buf).digest('base64')}});

    rdata.ContentMd5=rdata.FileMD5.toString('base64')

    var fname=''; var ind=0,lastind=0,isdoc=false;

    if(imgurl.indexOf('.pdf')>-1){

    ind=imgurl.indexOf('.pdf');

    lastind=imgurl.lastIndexOf('/');

    fname=imgurl.substring(lastind+1,ind+4)

    }else if(imgurl.indexOf('.doc')>-1){

    ind=imgurl.indexOf('.doc');

    lastind=imgurl.lastIndexOf('/');

    fname=imgurl.substring(lastind+1,ind+4)

    isdoc=true;

    }else if(imgurl.indexOf('.docx')>-1){

    ind=imgurl.indexOf('.docx');

    lastind=imgurl.lastIndexOf('/');

    fname=imgurl.substring(lastind+1,ind+5)

    isdoc=true;

    }else if(imgurl.indexOf('.jpg')>-1){

    ind=imgurl.indexOf('.jpg');

    lastind=imgurl.lastIndexOf('/');

    fname=imgurl.substring(lastind+1,ind+4)

    isdoc=true;

    }else if(imgurl.indexOf('.png')>-1){

    ind=imgurl.indexOf('.png');

    lastind=imgurl.lastIndexOf('/');

    fname=imgurl.substring(lastind+1,ind+4)

    isdoc=true;

    }else if(imgurl.indexOf('.xls')>-1){

    ind=imgurl.indexOf('.xls');

    lastind=imgurl.lastIndexOf('/');

    fname=imgurl.substring(lastind+1,ind+4)

    isdoc=true;

    }else if(imgurl.indexOf('.xlsx')>-1){

    ind=imgurl.indexOf('.xlsx');

    lastind=imgurl.lastIndexOf('/');

    fname=imgurl.substring(lastind+1,ind+5)

    isdoc=true;

    }

    var tm=input.tm.substring(0,11).replace('-','年').replace('-','月').replace(' ','日')

    var type=(input.type=='不限'?'0':(input.type=='单页'?'1':'2'));

    var page='1-999';

    if(type=='1'){

    page='1';

    }

    output={rdata:rdata,fname:fname,fileurl:imgurl,t:tm,type:type,isdoc:isdoc,page:page

    2.3一键签署

    接口如下

    一步发起签署:/api/v2/signflows/createFlowOneStep

    盖章的类型(单页/骑缝 是接口参数配置的)

    表单设计

    2.4签署流程归档

    1.接口调用成功之后,整个签署流程变成完成状态,触发【流程结束回调通知】。

    2.一步签署中有回调地址参数(可填写),通过回调地址接受到e签宝推送数据里面的流程ID(flowid)获取签署后的文件下载链接。

    3.更新到明道云工作表的附件中。

    效果如下:

    3.Token定时刷新机制

    e签宝Token是有时效的参考(定时刷新配置参考:https://blog.mingdao.com/14319.html#lwptoc1

    表单设计

    最后,简单评价一下e签宝系统对接的优缺点:

    优点

    · 接口成熟(签章接口一个搞定 类型多个通过参数区分)

    · 服务态度好(支持拉会议沟通与讲解)

    缺点

    · 细节点较多,需要对方支持。建议新手拉上老手一起沟通。

    · 沙箱签署文件有时不会归档,会给对接造成误解

    结语

    接口很简单,不过参数很复杂。不要紧,一起充电学习,进击吧!

    参考资料:

    · 明道云

    · e签宝

    · 明道云Web V6.4更新

    · token定时刷新

    相关文章

      网友评论

          本文标题:明道云对接案例之e签宝电子签章

          本文链接:https://www.haomeiwen.com/subject/dikwultx.html