契约锁 API
  1. JS SDK文档
契约锁 API
  • 平台简介
    • 平台简介
  • 新手指南
    • 接入流程
    • 名称解释
    • 接入示例
  • API协议
    • API协议
  • API文档
    • 合同管理
      • 合同管理-创建合同草稿
      • 合同管理-用文件添加合同文档
      • 合同管理-多文件添加合同文档
      • 合同管理-用模板添加合同文档
      • 合同管理-发起合同
      • 合同管理-抄送合同
      • 合同管理-修改签署方
      • 合同管理-添加签署方
      • 合同管理-浏览页面
      • 合同管理-合同详情
      • 合同管理-获取合同列表
      • 合同管理-下载合同与附属文件
      • 合同管理-下载合同文档
      • 合同管理-强制结束合同
      • 合同管理-上传强制结束附件
      • 合同管理-合同文档添加水印
      • 合同管理-合同延期
      • 合同管理-获取合同操作记录
      • 合同管理-获取合同与附属文件下载链接
    • 签署服务
      • 签署服务-公章签署
      • 签署服务-签署法人章
      • 签署服务-审批
      • 签署服务-合同催签
      • 签署服务-签署页面
      • 签署服务-预签署页面
      • 签署服务-获取短链接
      • 签署服务-撤回/作废合同
      • 签署服务-自定义文件作废合同
      • 签署服务-自定义模板文件作废合同
      • 签署服务-签署作废合同
      • 签署服务-签署个人签名
    • 组织架构
      • 组织架构-子公司列表
      • 组织架构-发送子公司邀请
      • 组织架构-移除子公司
      • 组织架构-对接方信息
      • 组织架构-公司详情
      • 组织架构-获取企业信息变更链接
      • 组织架构-员工列表
      • 组织架构-添加员工
      • 组织架构-更新员工
      • 组织架构-员工详情
      • 组织架构-管理员工角色
      • 组织架构-移除员工
    • 印章管理
      • 印章管理-印章列表
      • 印章管理-印章图片
      • 印章管理-创建印章
      • 印章管理-印章详情
      • 印章管理-编辑印章
      • 印章管理-创建图片印章
      • 印章管理-管理印章状态
      • 印章管理-删除印章
      • 印章管理-公司印章
    • 模板管理
      • 模板管理-模板列表
      • 模板管理-模板详情
      • 模板管理-模版预览页面
      • 模板管理-创建Word模板
      • 模板管理-编辑模板
      • 模板管理-管理模板状态
      • 模板管理-下载模板
      • 模板管理-删除模板
    • 业务分类
      • 业务分类-业务分类列表
      • 业务分类-业务分类详情
    • 个人认证
      • 个人认证-获取个人认证链接
      • 个人认证-查询个人认证状态
    • 企业认证
      • 企业认证-获取企业认证链接PC
      • 企业认证-获取企业认证链接H5
      • 企业认证-获取企业认证链接-带营业执照PC
      • 企业认证-获取企业认证链接-带营业执照H5
      • 企业认证-查询认证结果
    • 外部客户
      • 外部客户-新增外部客户
    • 授权管理
      • 授权管理-单点登录模块授权页面
      • 授权管理-个人签名授权页面
      • 授权管理-取消个人签名授权
      • 授权管理-查询个人静默签授权记录
    • 辅助工具
      • 辅助工具-文件验签
    • 信息校验
      • 信息校验-个人身份校验
      • 信息校验-企业身份校验
  • 单点登录集成
    • 集成流程说明
    • 单点登录
    • 单点登出
    • CAS验证接口规范
  • JS SDK文档
    • JS SDK简介
    • 集成方式说明
    • 对接方服务端接口说明
  • 公告
    • 关于开发平台控制台的说明
  • 小程序插件
    • 插件简介
    • 插件集成说明
    • 生成合同签署令牌
    • 生成个人认证令牌
    • 生成企业认证令牌
    • 生成企业认证令牌(带营业执照)
    • 插件更新记录
  • 常见问题
    • 认证问题
    • 配置问题
    • 接口问题
    • 其他问题
  1. JS SDK文档

集成方式说明

1 初始化#

对接方预设页面需要引入JS-SDK ,目前JS-SDK由3个部分组成。
目录名称作用
fontsJS-SDK字体资源文件
imgJS-SDK图片资源文件
jsJS-SDK脚本资源文件
引入 Sdk 文件
对接方需要在预定签署的HTML文件中进入JS-SDK, 具体操作如下:
 <script src=/js/index.js/> 
该文件会在 windows 上挂载内嵌页面的构造函数qysSdk
实例化qysSdk
var url = 'http://192.168.53.135:8080/proxy';
var instance = new qysSdk(url, {
                    query: { a: 1, token: 'ab1234' },
                });
参数说明:
参数名称必须参数说明
url是对接方服务器接口地址,JS-SDK会请求该接口地址,实现要求见后续说明
query是自定义参数,JS-SDK会在请求时带上这些参数

2 个人签署页面接口#

描述: 个人签署页面提供个人认证以及合同签署相关服务,若用户未完成合同发起方指定的认证,则需要先行完成认证,再进行合同签署,签署方式支持使用验证码或者扫脸签署(需发起方指定)。
调用方式:
var contractId = '2603417854124281870';
var contact = '137******44';
var promise = instance.personalSign(contractId, contact , {
                    signSuccessCb: function() {
                        console.log('签署成功');
                    },
                    authFailCb: function() {
                        console.log('认证退出');
                    },
                });
参数说明:
参数名称必须描述
contractId是对接方将要将要用于页面签署的合同Id
contact是将要在页面上进行签署的用户联系方式,需要合同节点当前已经达到该用户的签署节点
signSuccessCb是签署成功后的操作,需对接方自行进行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,签署成功后会停留在合同页面
authFailCb是用户认证过程中,点击页面上的 “退出认证” 按钮后触发的操作,需对接方自行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,用户点击按钮后不会触发任何操作
页面生成示例:
<!DOCTYPE html>
<html lang=zh-CN>

<head>
    <meta charset=utf-8>
    <meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <meta name=apple-mobile-web-app-capable content=yes>
    <meta name=apple-mobile-web-app-status-bar-style content=black>
    <meta name=baidu-site-verification content=MHGvTSMXM0>
    <meta name=author content=契约锁>
    <meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
    <meta content="telephone=no" name=format-detection>
    <title>契约锁电子合同云平台</title>
    <link  href=/js/index.js rel=preload as=script>
        </head><body style="margin: 0"><div id=app></div > <script>
            setTimeout(() => {
                var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
                    query: {
                        a: 1,
                        token: 'ab1234'
                    },
                });

                var promise = instance.personalSign('2603417854124281870', '137******44', {
                    signSuccessCb: function () {
                        console.log('签署成功');
                    },
                    authFailCb: function () {
                        console.log('认证退出');
                    },
                });

                promise.then(data => {
                    var element = data;
                    element.style.border = '1px solid red';
                    element.style.width = '100%';
                    element.style.height = '100%';
                    element.style.position = 'fixed';

                    document.body.append(element);
                });
            }, 1000);
    </script>
    <script src=/js/index.js> </script> </body> </html>

3 个人认证页面接口#

描述: 个人认证页面提供个人认证的服务,对接方将想要认证的方式以及认证人的联系方式作为参数传递进来生成页面以供用户认证的效果,用户认证的结果会于契约锁云平台同步,该接口支持指定用户相关认证内容,但用户可以在页面上对指定内容进行修改,若待认证用户在契约锁云平台已经完成了实名认证,认证页面的姓名、身份证号以契约锁云平台的认证成功信息为准。
调用方式:
var promise = instance.personalAuth(
                    {
                        mode: 'FACE', // DEFAULT,FACE,BANK
                        contact: '137******44',
                    },
                    {
                        authSuccessCb: function(userInfo) {
                            console.log('认证成功 :', userInfo);
                            return userInfo;
                        },
                        authFailCb: function() {
                            console.log('认证退出');
                        },
                    }
                );
参数说明:
参数名称必须描述
mode是认证模式,DEFAULT(“默认认证模式”)、FACE(“人脸认证模式”)、BANK(“银行卡四要素认证模式”)
contact是待认证用户联系方式
username否指定的认证姓名,仅待认证用户未实名时生效
idCardNo否指定的身份证号码,仅待认证用户未实名时生效
bankNo否指定的银行卡卡号,仅认证模式为银行卡四要素认证时生效
bankMobile否指定的银行卡预留手机号,仅认证模式为银行卡四要素认证时生效
manual否布尔值,认证失败后是否允许使用契约锁人工审核通过认证,默认false
callbackUrl否认证结果回调地址
authSuccessCb是认证成功后的操作,需对接方自行进行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,签署成功后会停留认证成功页面,同时会返回认证成功信息userInfo,前端可获取到用户认证信息
authFailCb是用户认证过程中,点击页面上的 “退出认证” 按钮后触发的操作,需对接方自行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,用户点击按钮后不会触发任何操作
modifyFields否认证可修改项 (姓名-USERNAME,身份证-IDCARDNO,银行卡号-BANKNO,银行卡预留手机号-BANKMOBILE)
默认认证模式说明:
DEFAULT为不指定认证模式,由用户在页面上填完基本信息后选择认证模式,页面支持选择的认证模式有:手机号认证、银行卡认证、人脸识别认证模式。
认证成功函数说明:
认证成功的函数会返回当前认证成功的信息userInfo,具体字段如下:username("认证姓名")、mobile("认证联系方式")、cardNo("认证身份证号")、bankNo("认证银行卡号,仅银行卡认证成功后返回")、contact("认证银行卡预留手机号,仅银行卡认证后返回")
页面生成示例:
<!DOCTYPE html>
<html lang=zh-CN>

<head>
    <meta charset=utf-8>
    <meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <meta name=apple-mobile-web-app-capable content=yes>
    <meta name=apple-mobile-web-app-status-bar-style content=black>
    <meta name=baidu-site-verification content=MHGvTSMXM0>
    <meta name=author content=契约锁>
    <meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
    <meta content="telephone=no" name=format-detection>
    <title>契约锁电子合同云平台</title>
    <link href=/js/index.js rel=preload as=script>
        </head><body style="margin: 0"><div id=app></div > <script>
            setTimeout(() => {
                var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
                    query: {
                        a: 1,
                        token: 'ab1234'
                    },
                });

                var promise = instance.personalAuth(
                    {
                        mode: 'BANK', // DEFAULT,FACE,BANK
                        contact: '137******44',
                    },
                    {
                        authSuccessCb: function(userInfo) {
                            console.log('认证成功 :', userInfo);
                            return userInfo;
                        },
                        authFailCb: function() {
                            console.log('认证退出');
                        },
                    }
                );

                promise.then(data => {
                    var element = data;
                    element.style.border = '1px solid red';
                    element.style.width = '100%';
                    element.style.height = '100%';
                    element.style.position = 'fixed';

                    document.body.append(element);
                });
            }, 1000);
    </script>
    <script src=/js/index.js> </script> </body> </html>

4 个人认证回调说明#

描述: 接收回调请求的地址接口需要支持Content-Type: application/x-www-form-urlencoded 的post请求,每次回调不通会重复调用一次,如果调用不通,1分钟后再调用2次,一共调用4次。
参数说明:
参数名称类型描述
modeString认证模式:IVS:手机三要素认证、FACE:人脸认证、BANK:银行卡认证、MANUAL:人工审核
modeString1:认证通过,2:认证不通过
接收回调请求接口的返回值: 接口返回值必须包含以下参数,且转换成json字符串返回。
名称类型描述
codeint接收回调消息 响应码
返回值说明:
code为0表示接收回调消息成功: {"code":0} code不为0表示接收回调消息失败: {"code":1001}

5 企业签署页面接口#

描述: 企业签署页面提供企业认证以及合同签署相关服务,若用户未完成合同发起方指定的认证,则需要先行完成认证,再进行合同签署。
调用方式:
var contractId = '2603417854124281870';
var contact = '137******44';
var promise = instance.enterpriseSign(contractId, contact , {
                    signSuccessCb: function() {
                        console.log('签署成功');
                    },
                    authFailCb: function() {
                        console.log('认证退出');
                    },
                });
参数说明:
参数名称必须描述
contractId是对接方将要将要用于页面签署的合同Id
contact是将要在页面上进行签署的用户联系方式,需要合同节点当前已经达到该用户的签署节点
signSuccessCb是签署成功后的操作,需对接方自行进行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,签署成功后会停留在合同页面
authFailCb是用户认证过程中,点击页面上的 “退出认证” 按钮后触发的操作,需对接方自行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,用户点击按钮后不会触发任何操作
页面生成示例:
<!DOCTYPE html>
<html lang=zh-CN>

<head>
    <meta charset=utf-8>
    <meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <meta name=apple-mobile-web-app-capable content=yes>
    <meta name=apple-mobile-web-app-status-bar-style content=black>
    <meta name=baidu-site-verification content=MHGvTSMXM0>
    <meta name=author content=契约锁>
    <meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
    <meta content="telephone=no" name=format-detection>
    <title>契约锁电子合同云平台</title>
 <link  href=/js/index.js rel=preload as=script>
        </head><body style="margin: 0"><div id=app></div > <script>
            setTimeout(() => {
                var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
                    query: {
                        a: 1,
                        token: 'ab1234'
                    },
                });

                var promise = instance.enterpriseSign('2603417854124281870', '137******44', {
                    signSuccessCb: function () {
                        console.log('签署成功');
                    },
                    authFailCb: function () {
                        console.log('认证退出');
                    },
                });

                promise.then(data => {
                    var element = data;
                    element.style.border = '1px solid red';
                    element.style.width = '100%';
                    element.style.height = '100%';
                    element.style.position = 'fixed';

                    document.body.append(element);
                });
            }, 1000);
    </script>
    <script src=/js/index.js> </script> </body> </html>

6 企业认证页面接口#

描述: 企业认证页面提供企业认证的服务,对接方将想要认证的企业名称以及企业相关认证信息作为参数传递进来生成页面以供企业认证的效果,企业认证的结果会于契约锁云平台同步,该接口支持指定企业相关认证内容,但用户可以在页面上对指定内容进行修改,若待认证企业在契约锁云平台已经完成了实名认证,认证页面的相关信息以契约锁云平台的认证成功信息为准。
调用方式:
var promise = instance.enterpriseAuth(
                    {
                         companyName: '自测JSSDK企业认证x',
                         companyAuthBean: {
                             applicant: {
                                 name: '胡震坤',
                                 contact: '15164046497',
                             },
                             closeButton: true,
                         },
                     },
                     {
                         authSuccessCb: function(userInfo) {
                             console.log('认证成功 :', userInfo);
                             return userInfo;
                         },
                         authFailCb: function() {
                             console.log('认证退出');
                         },
                     }
                );
参数说明:
名称类型必须描述
companyNameString是待认证公司名称
companyAuthBeanCompanyAuthBean是待认证企业相关信息
companyAuthBean(企业认证相关信息,提交后将在对应页面显示相关信息)
参数名称类型必须描述
companyNameString否待认证公司名称
applicantUserInfo是认证提交人,企业认证通过后,认证提交人会自动成为该企业的系统管理员
registerNoString否待认证公司注册号
legalPersonString否待认证公司法人姓名
callbackUrlString否认证回调地址
closeButtonString否是否显示关闭按钮,默认为true
UserInfo(提交人信息,企业认证通过后,提交人对应的账号会自动成为该公司的管理员) :
名称类型必须描述
nameString否申请者姓名
contactString是联系方式
contactTypeString是联系方式类型:MOBILE、EMAIL
页面生成示例:
<!DOCTYPE html>
<html lang=zh-CN>

<head>
    <meta charset=utf-8>
    <meta name=viewport content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <meta name=apple-mobile-web-app-capable content=yes>
    <meta name=apple-mobile-web-app-status-bar-style content=black>
    <meta name=baidu-site-verification content=MHGvTSMXM0>
    <meta name=author content=契约锁>
    <meta name=description content=契约锁-守护我们的契约精神!告别纸质合同,契约锁为您永久保管好您在契约锁上签约的电子合同>
    <meta content="telephone=no" name=format-detection>
    <title>契约锁电子合同云平台</title>
    <link href=/js/index.js rel=preload as=script>
        </head><body style="margin: 0"><div id=app></div > <script>
            setTimeout(() => {
                var instance = new qysSdk('http://192.168.53.135:8080/proxy', {
                    query: {
                        a: 1,
                        token: 'ab1234'
                    },
                });

                var promise = instance.enterpriseAuth(
                    {
                        companyName: '自测JSSDK企业认证x',
                        companyAuthBean: {
                            applicant: {
                                name: 'AAA',
                                contact: '151****6497',
                            },
                            closeButton: true,
                        },
                    },
                    {
                        authSuccessCb: function(userInfo) {
                            console.log('认证成功 :', userInfo);
                            return userInfo;
                        },
                        authFailCb: function() {
                            console.log('认证退出');
                        },
                    }
                );

                promise.then(data => {
                    var element = data;
                    element.style.border = '1px solid red';
                    element.style.width = '100%';
                    element.style.height = '100%';
                    element.style.position = 'fixed';

                    document.body.append(element);
                });
            }, 1000);
    </script>
    <script src=/js/index.js> </script> </body> </html>

7 企业认证回调说明#

描述: 接收回调请求的地址接口需要支持Content-Type: application/x-www-form-urlencoded 的post请求,每次回调不通会重复调用一次,如果调用不通,1分钟后再调用2次,一共调用4次。
参数说明:
名称类型描述
statusInteger认证结果状态:0(“认证中”)、1(“认证成功”)、2(“认证失败”)
actionEventInteger认证行为状态:0(“提交基本信息”)、1(“基本信息审核通过”)、2(“基础信息审核失败”)、4(“授权书审核失败”)、6(“反向打款失败”)、7(“认证成功”)、9(“法人实名认证人工审核失败”)
requestIdString认证请求Id
authInfoString认证详情内容参考CorpAuthDetail
CorpAuthDetail:
名称类型描述
nameString认证公司名称
registerNoString认证公司工商注册号
legalPersonString认证公司法人代表姓名
接收回调请求接口的返回值: 接口返回值必须包含以下参数,且转换成json字符串返回。
名称类型描述
codeInt接收回调消息 响应码
上一页
JS SDK简介
下一页
对接方服务端接口说明
Built with