平台简介
新手指南
API协议
API文档
单点登录集成
小程序插件
常见问题
开放平台API接口调用常见报错以及解决方法汇总
帮助中心 / 开放平台帮助文档 / 接入示例
接入示例
开放平台V2版本接入示例内容,提供两种示例内容

合同签署示例

该文档介绍两种常见的合同签署流程,提供对应示例代码,用以帮助用户快速对接。

(1)示例一:签署方类型、数量不固定,无统一格式的合同文件的场景。

(2)示例二:签署方类型、数量固定,有统一格式的合同文件的场景。

1 示例一

1.1 流程概览

该流程模拟发起一份人事合同,并完成签署。通过以下几个方面介绍该模式的实现过程:
(1)签署流程说明;
(2)实现示例;

1.2 流程说明

1.2.1 创建合同草稿

调用接口”创建合同草稿“,完成合同草稿的创建,该接口需要指定如下参数:

合同主题名称(subject);
合同签署方(signatories):参与合同签署的签署方、签署流程(actions)等信息,其中,签署流程中需要指定签署所用到的印章(sealId)。
是否发起合同(send),设置为不发起;

1.2.2 添加合同文档

合同草稿创建成功之后,需要为合同添加待签署的文档,契约锁提供两种方式进行合同文档的上传:

调用 ”用文件添加合同文档“ 接口,上传文件作为合同文档,并绑定合同;
调用 ”用模板添加合同文档“ 接口,用模板转换为合同文档,并绑定合同;

1.2.3 指定签署位置并发起合同

完成合同文档添加之后,调用”发起合同“接口即可完成合同的发起,此处需要传递的参数有:

合同ID(contractId);
签署位置(stampers):若指定公司签署方的签署位置,需要传入签署动作ID(actionId)与之关联,若指定个人签署方的签署位置,需要传递签署方ID(signatoryId)与之关联。

1.2.4 对接方签署

1.2.4.1 签署公章

调用接口“签署公章”,完成公章签署节点,以下是需要指定的参数:

合同ID(contractId)。

1.2.5 接收方签署

在对接方签署完成后,合同流转到个人接收方。个人接收方可通过以下三种方式进行签署:

  • 登录契约锁签署

    合同流转到接收方时,契约锁会给接收方发送消息,通知接收方签署合同。接收方可以登录契约锁完成合同签署(契约锁签署支持:PC端网页、移动端网页、契约锁APP等多种签署方式)。

  • 内嵌页面签署

    对接方调用“签署页面”接口,获取签署合同链接,用户打开链接即可查看、签署合同。页面支持跨哉,可以嵌入对接方的网站或APP中。

    若对接方不希望用户接收短信通知,可以在“业务分类配置 -> 短信设置”中,关闭消息提醒。

  • JS-SDK方式签署

    若对接方希望客户在其页面上完成签署操作,但无法内嵌页面,即可采用该方案,该方案需要部署JS-SDK以及请求转发接口。 若对接方不希望用户接收短信通知,可以在“业务分类配置 -> 短信设置”中,关闭消息提醒。

1.3 代码示例

  • JAVA 示例代码

https://github.com/qiyuesuo/sdk-java-sample/blob/master/src/main/java/com/qiyuesuo/sdk/sample/SendByCodeSetting.java

  • .NET 示例代码

https://github.com/qiyuesuo/sdk-csharp-sample/blob/master/sdk-csharp-sample-v2/SendByCodeSetting.cs

  • PHP 示例代码

https://github.com/qiyuesuo/sdk-php-sample/blob/master/V2/com.qiyuesuo.simple.test/ContractCreate.test.php

  • PYTHON示例代码

https://github.com/qiyuesuo/sdk-python-sample/blob/master/sample/SendByCodeSetting.py

2 示例二

2.1 流程概览

该流程模拟发起一份人事合同,并完成签署。通过以下几个方面介绍该模式的实现过程:
(1)业务分类配置说明;
(2)签署流程说明;
(3)实现示例;

2.2 业务分类配置说明

(1)登录契约锁云平台(生产环境地址: https://cloud.qiyuesuo.com, 测试环境地址: https://cloud.qiyuesuo.cn )。

(2)进入左侧目录 “文件 -> 业务分类” ,新建业务分类。

(3)点击业务分类右上角“高级配置”,进入配置页配置业务分类。

2.2.1 配置签署方

基本信息设置 - 签署方 中,选择“按预设方式添加签署方” ,并根据业务需求设置接收方。

2.2.2 配置合同模板

基本信息设置 - 合同模板 中,配置合同模板。在创建合同时,合同模板将自动转换为合同文档。

2.2.3 配置签署流程

  • 在选项 签署流程设置 中,选择 “按下方预设流程发合同并签署”。

  • 为“企业签章”节点指定印章。

    2.2.4 签署位置配置

    在选项 指定签署位置 中,指定公章、个人签名、法人签名以及时间戳的签署位置。

2.2.5 参数配置

在选项 参数设置 中指定模板参数的填写方、是否必填等内容。

2.2.6 回调配置

在选项 回调设置 中配置回调地址。

合同在签署过程中,若发生签署、拒绝签署、撤回、退回等事件时,契约锁会回调通知对接方系统。

2.3 流程说明

完成业务分类配置后,即可调用接口创建、签署合同。

2.3.1 创建合同草稿并发起合同

调用接口“创建合同草稿” ,完成合同的创建与发起,以下是需要指定的参数:

合同主体名称(subject);
业务分类(category),即上一节配置好的业务分类;
设置合同签署方(signatories),签署方设置的类型与顺序需要与业务分类中的签署方配置保持一致;
是否发起合同(send),设置为发起;
发起方填写的参数模板参数值(templateParams)。

2.3.2 对接方签署

创建合同成功后。依次调用“签署公章”和“签署法人章”两个接口,完成发起方签署。

2.3.2.1 签署公章

调用接口“签署公章”,完成公章签署节点,以下是需要指定的参数:

合同ID(contractId)。

2.3.3 接收方签署

在对接方签署完成后,合同流转到个人接收方。个人接收方可通过以下三种方式进行签署:

  • 登录契约锁签署

    合同流转到接收方时,契约锁会给接收方发送消息,通知接收方签署合同。接收方可以登录契约锁完成合同签署(契约锁签署支持:PC端网页、移动端网页、契约锁APP等多种签署方式)。

  • 内嵌页面签署

    对接方调用“签署页面”接口,获取签署合同链接,用户打开链接即可查看、签署合同。页面支持跨哉,可以嵌入对接方的网站或APP中。

    若对接方不希望用户接收短信通知,可以在“业务分类配置 -> 短信设置”中,关闭消息提醒。

  • JS-SDK方式签署

    若对接方希望客户在其页面上完成签署操作,但无法内嵌页面,即可采用该方案,该方案需要部署JS-SDK以及请求转发接口。 若对接方不希望用户接收短信通知,可以在“业务分类配置 -> 短信设置”中,关闭消息提醒。

2.4 代码示例

  • JAVA 示例代码

https://github.com/qiyuesuo/sdk-java-sample/blob/master/src/main/java/com/qiyuesuo/sdk/sample/SendByCategory.java

  • .NET 示例代码

https://github.com/qiyuesuo/sdk-csharp-sample/blob/master/sdk-csharp-sample-v2/SendByCategory.cs

  • PHP 示例代码

https://github.com/qiyuesuo/sdk-php-sample/blob/master/V2/com.qiyuesuo.simple.test/ContractCreateByCategory.test.php

  • PYTHON示例代码

https://github.com/qiyuesuo/sdk-python-sample/blob/master/sample/SendByCategory.py