电子合同平台操作文档

电子合同平台操作

配置-报表配置:

配置入口:

站点级: 智能云顶部->操作->系统配置->报表配置 / 系统级: qb软件->xml

image-20211020152208296

image-20211020152318370

新版配置案例:

配置具体作用请查询开发手册

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{
"beforeCreateContract": {
"column": "sign_target_id,sign_target_phone,sign_target_email",
"sql": "SELECT k.ID as sign_target_id,k.kehushouji as sign_target_phone,if(ifnull(k.dzyx,'')='',x.jfdzyx,k.dzyx) sign_target_email FROM t_xsdd x left join t_kehu k on k.ID = x.khbh WHERE x.ID = '[OID]'"
},
"beforeSignPDF": [
{
"action": "camera",
"camera": [
{
"column": "id_card_front",
"chname": "身份证正面",
"remind": "请拍摄身份证正面",
"required": true
},
{
"column": "head_picture",
"chname": "头像",
"remind": "请拍摄本人头像"
}
],
"actionHook": {
"sql": [
"update t_xsdd set htspg='[id_card_front],[head_picture]' where ID = '[OID]'"
],
"api": []
}
}
],
"afterSignPDF": {
"needApproval": {
"sql": [
"UPDATE `t_xsdd` SET `htfj` = if(ifnull(htfj,'')='','[FILE_NAME]',concat(htfj,',','[FILE_NAME]')) ,updated_at=NOW() WHERE `ID` = '[OID]' AND _site = '[SITE]'"
],
"api": [
{
"target": "https://xxxxxx/api/v1.Api.Approve",
"post": {
"Func": "Core",
"Token": "88888888",
"Pack": {
"Builder": "[module]",
"Record_ID": "[OID]",
"User_ID": "[createuser]",
"Use_Site": "[SITE]",
"Action": "SUBMIT"
}
}
}
]
},
"approveSuccess": {
"sql": [],
"api": [
{
"target": "https://xxxxxx/api/push",
"post": {
"Package": {
"Version": "V1",
"Func": "SendEmail",
"Body": {
"config": {
"MAIL_DRIVER": "smtp",
"MAIL_HOST": "smtphz.qiye.163.com",
"MAIL_PORT": "994",
"MAIL_ENCRYPTION": "ssl",
"MAIL_FROM_ADDRESS": "xxxxxx",
"MAIL_FROM_NAME": "全筑e家",
"MAIL_USERNAME": "xxxxxx",
"MAIL_PASSWORD": "xxxxxx"
},
"from": "全筑e家",
"to": "[EMAIL]",
"message": "您好,感谢您对我公司的支持与信任!附件为您的合同文件,请查收。您线上签署的电子合同已经生效,此合同与纸质合同具有同等法律效力。谢谢~",
"title": "请查收您的合同文件",
"file": "[FILE_URL]"
}
}
}
}
]
}
}
}

配置分析:

  • 该配置比普通电子签约多出一项 beforeSignPDF, 用于用户签约前验证信息的填写, 用户签约提交后会执行该项下actionHook 配置, 将验证信息通过SQL或接口存入指定字段

  • 该配置afterSignPDF使用了第二种模式: 审批模式.

    • 通过配置 下属 needApproval 项, 实现了将签约后文件存入对应单据字段, 且自动提交对应单据审批的动作.
    • 通过配置 下属 approveSuccess 项, 提供了归档触发回调接口, 实现归档后自动修改推送状态为审批完成, 并发送配置邮件通知

配置-审批流程

配置入口:

智能云顶部->操作->系统配置->审批流程

image-20211020153526829

配置案例:

  • 无前置配置接口, 直接配置如下:

    1
    [HTTP_DIR]/core/sign_report.php?opr=approveCallBack&type=[MODULE]&ID=[ID]
  • 存在前置配置 , 修改对应文件, 加入如下代码:

    1
    2
    3
    4
    5
    <?php
    $showFileProtocol = ( (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || ( isset($_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') ) ? 'https' : 'http';
    # 请自行替换参数: type为当前模块, 替换ID为当前单据ID
    $url = $showFileProtocol."://".$_SERVER['HTTP_HOST']."/core/sign_report.php?opr=approveCallBack&type={$_GET['type']}&ID={$_GET['ID']}";
    file_get_contents($url);

操作流程

业务人员发起签约

发起电子合同签约

image-20211020155751967

确认信息后发送给用户

image-20211020155828123

确认发送结果

image-20211020155900876

用户签约

用户打开链接查看合同

image-20211021145427335

用户签约

无标题

后台执行配置动作

平台级别动作
  • 修改签约清单对应模板记录为已签约, 并存储签约后合同及签名数据

    image-20211021151358186

  • 修改推送记录中审批状态为 审批中

    image-20211021151439787

配置级别动作
  • 存储验证图片到订单单据字段 beforeSignPDF -> afterHook

    image-20211021150955258

  • 存储签约后合同到订单单据字段就 afterSignPDF -> needApprovel -> sql

    image-20211021151136475

  • 提交对应订单单据审批 afterSignPDF -> needApprovel -> api

    image-20211021151213782

流程审批归档

完成归档后触发归档脚本接口

image-20211021151607989

image-20211021151624472

image-20211021151712158

后台执行动作

平台级别动作
  • 修改推送记录审批状态为 审批通过

    image-20211021151840421

配置级别动作
  • 审批完成, 发送通知给用户 afterSignPDF -> approveSuccess -> api

    image-20211021152029270

扩展能力

审批状态单据无法发起电子合同

image-20211021152204118

废弃当前合同重新签约

修改存储状态为废弃, 即可保证用户无法查看之前推送, 且可以在对应单据重新发起签约

image-20211021152249944

image-20211021152344740

image-20211021152430706