结论:低代码接电子签章,难点不在调通接口,而在把「谁签、签什么、签完去哪、出错谁兜」固定进流程。平台管表单、流程、权限与归档,签章厂商管身份核验、证书与存证。六段分别对接,再补一张签署状态机,比写一个大接口更稳。
一、先看整条链路:六段缺一段就返工
不少人以为接签章就是在合同页加一个「签署」按钮。真正上线才发现,签署只是中间一段,前后的认证、存证、归档一段都省不得。
| 阶段 | 主要动作 | 责任方 | 漏了会怎样 |
|---|---|---|---|
| 身份认证 | 个人实名、企业四要素、经办人授权 | 厂商为主,平台传参 | 签署主体不成立,效力存疑 |
| 文档生成 | 模板套变量、生成 PDF、定位签章位 | 平台或厂商模板服务 | 印章盖错位置、页码错乱 |
| 签署 | 顺序签与会签、手写签名、意愿校验 | 厂商 | 代签、误签、顺序错乱 |
| 存证 | 文件哈希、时间戳、签署日志 | 厂商 | 纠纷时拿不出证据 |
| 回传归档 | 回调通知、成品下载、有效期管理 | 平台 | 文件散落、链接失效 |
| 异常处理 | 驳回重签、过期作废、部分签署 | 平台与厂商配合 | 流程卡死,无人接手 |
二、身份认证:先证明你是你,公司是你的公司
个人实名
三类主流方式:身份证信息核验、人脸识别活体检测、银行卡要素核验。金额较大或涉及授权的场景,人脸识别的证据强度更高。
企业四要素
核对企业名称、统一社会信用代码、法定代表人姓名、法人证件号。核验由厂商对接权威数据源,平台负责准确传参,并把返回的认证流水号与合同编号绑定。
经办人授权
员工代公司签合同,少了授权书,签署主体会被认定为个人而非企业。做法是把授权委托书作为附件随合同送签,或在审批流里加「授权文件上传」节点,不上传不放行。
三、文档生成:模板、变量与签章位置
模板有两种路线:平台侧用 HTML 或 Word 转 PDF,能复用已有合同模板库;直接用厂商模板服务,签章坐标配置更省事。两条路线都要解决三个问题。
变量只能取终态值
金额、期限、甲乙方名称必须取审批通过后的最终值,不能取草稿值;金额同时存数字与中文大写,生成后比对一次,防止大小写不一致。
页码与骑缝章
多页合同必须带「第 X 页 / 共 Y 页」,缺页码存在抽页风险。骑缝章盖在页面边缘,每页一枚,位置由模板坐标参数控制。生成后人工抽检末页签字区与附件是否完整。
版本与命名
文件统一命名为「合同编号_版本号_签署轮次」,驳回重签时版本递增,避免同名覆盖。完整实践可参考站内的合同管理系统搭建实战。
四、签署环节:顺序、意愿与印章调用
顺序签与会签
顺序签按角色依次触发,前一位签完才通知下一位;会签是同节点多人并行,全部完成才流转。企业合同常用「我方先盖章、对方后签署」;个人签署用手写签名,笔迹与证书一并存证。
签署顺序本质是流程编排问题,与多级审批流的条件路由与加签同源,节点配置可复用。
意愿校验
意愿校验(Will Verification)解决的是「这一下是不是本人自愿点的」。常见手段为短信验证码、人脸识别、签署密码。企业场景至少保留一种强校验,并把方式与结果写进签署日志。
印章调用
平台上传的图片章只是视觉占位,厂商托管、带证书可验签的电子印章才有法律效力。企业用章走「申请、审批、调用」三步,审批结果作为调用凭据回传厂商。
五、存证、回传与归档
存证四件套:文件哈希(Hash)、可信时间戳(Timestamp)、签署日志、存证报告,缺一件举证力度就降一档。
签署日志至少记录:签署人身份、认证流水号、证书序列号、签署时间与方式、意愿校验结果、客户端 IP 与设备、文档哈希。
回传必须做幂等。同一份合同的完成回调通常会重复推送,按合同编号加事件类型去重,只处理一次。回调还要验签,具体写法见Webhook 回调签名与消息推送。
签署完成后立刻下载成品 PDF 与存证报告,存进自己的对象存储。厂商链接普遍有有效期,等归档时才发现失效很常见。
归档字段建议包含:合同编号、签署主体、完成时间、成品地址、报告地址、哈希值、证书序列号。
六、状态机、集成方式与合规验收
签署状态机
状态定义清楚,前端按钮显隐、后端幂等、异常处理才有依据。
| 状态 | 含义 | 允许动作 | 流转条件 |
|---|---|---|---|
| 草稿 | 合同已创建,未发起签署 | 编辑、删除、提交签署 | 文档生成与任务创建成功 |
| 待签署 | 任务已建,等待首位签署人 | 催签、撤回、作废 | 首位签署人完成,或到达截止时间 |
| 签署中 | 至少一人已签,未全部完成 | 催签、查看进度、驳回 | 全部完成、有人驳回、或过期 |
| 已完成 | 全部签署人完成签署 | 下载、归档、验签 | 终态,不可回退 |
| 已驳回 | 某签署人拒绝签署 | 修改后重签、作废 | 发起新轮次,生成新任务 |
| 已过期 | 超过签署截止时间 | 重新发起、作废 | 新建任务并通知发起人 |
硬规则:状态单向推进。「已完成」不能改回「签署中」,「已驳回」不能原地续签,必须生成新一轮任务,旧文件只读保留。
三种集成方式
集成方式有三种,取舍如下。
| 方式 | 做法 | 优点 | 代价 | 适用 |
|---|---|---|---|---|
| API 直连 | 平台后端直接调厂商接口 | 链路短,字段可控 | 重试、幂等、验签自己实现 | 单一厂商、合同量稳定 |
| 回调加轮询 | 回调为主,定时任务兜底 | 容错好,漏推不卡死 | 多一套定时与去重逻辑 | 回调不稳定或内网受限 |
| 网关收敛 | 统一出口,下挂多家厂商 | 可换厂商,日志集中 | 维护适配层,联调周期长 | 多主体、多厂商并行 |
合规三件事与上线验收
合规只讲确定的三件事。第一,具备法律效力的是可靠电子签名(Reliable Electronic Signature),需绑定签署人、能检测签署后篡改。第二,要保留 CA 证书(Certificate Authority)信息与证书序列号。第三,要保留可信时间戳与存证报告。
《中华人民共和国电子签名法》对可靠电子签名与数据电文的效力有明确规定,具体条文以官方发布文本为准。
上线前按下面八条逐项打勾,每条留截图或日志。
- 个人实名与企业四要素各跑通一单,认证流水号已回写平台
- 经办人授权书能作为附件随合同存证,归档包里可检索
- 多页合同页码正确,每页有骑缝章,末页签字区未被压字
- 顺序签在首位完成后才通知下一位,会签全部完成才流转
- 意愿校验失败时任务停在待签署,不会自动重试通过
- 同一合同重复回调只处理一次,日志可查到去重记录
- 成品 PDF 与存证报告离线可打开,哈希值与记录一致
- 驳回、过期、部分签署各演练一次,有人收到通知
实施上,签章调用、用章审批、存证文件都应收在服务端。猫拽低代码(CatPull)是 Apache-2.0 开源的自托管低代码平台,走可视化设计器加 DSL Schema 路线,页面可导出 uniapp 工程接手,适合把合同表单、审批节点与签章回调放进同一套权限体系;签章能力通过厂商开放接口等方式对接。
FAQs
Q1:没有 CA 证书的图片章,能当电子签章用吗?
A:不能。图片章只是一张图,无法证明谁盖的、何时盖的、盖完有没有被改。只有绑定证书、带时间戳与存证的签署才具备可靠电子签名特征,图片章只能用于内部预览。
Q2:签署中途有人驳回,原来的文件还能继续签吗?
A:不能。驳回意味着本轮任务终止,正确做法是旧文件只读保留,修改内容与版本号后生成新一轮任务,重新走认证与签署。原地续签会让签署日志断裂,证据链不完整。
Q3:签章厂商的回调一直收不到,怎么办?
A:先确认回调地址可达、签名校验通过、返回 200;再把轮询兜底打开,按任务编号定时查状态。回调与轮询要共用同一套状态更新逻辑并做幂等,否则两条路径会互相覆盖状态。
猫拽智库