集成方式说明

1 初始化

对接方预设页面需要引入JS-SDK ,目前JS-SDK由3个部分组成。

目录名称 作用
fonts JS-SDK字体资源文件
img JS-SDK图片资源文件
js JS-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>
    <script src=https://res.wx.qq.com/mmbizwap/zh_CN/htmledition/js/vconsole/3.0.0/vconsole.min.js> </script> <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 布尔值,认证失败后是否允许使用契约锁人工审核通过认证
callbackUrl 认证结果回调地址
authSuccessCb 认证成功后的操作,需对接方自行进行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,签署成功后会停留认证成功页面,同时会返回认证成功信息userInfo,前端可获取到用户认证信息
authFailCb 用户认证过程中,点击页面上的 “退出认证” 按钮后触发的操作,需对接方自行维护代码逻辑,完成类似于页面跳转等操作,若不维护当前方法,用户点击按钮后不会触发任何操作
modifyFields 认证可修改项 (姓名-USERNAME,身份证-IDCARDNO,银行卡号-BANKNO,银行卡预留手机号-BANKMOBILE)

默认认证模式说明:

默认认证流程顺序由前往后为:手机三要素(身份证、手机号、姓名)认证、人脸认证,其中流程中任一一步通过认证,均不再往下认证,即:如果三要素认证通过则不会继续进行人脸认证。

认证成功函数说明:

认证成功的函数会返回当前认证成功的信息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>
    <script src=https://res.wx.qq.com/mmbizwap/zh_CN/htmledition/js/vconsole/3.0.0/vconsole.min.js> </script> 
    <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次。

参数说明:

参数名称 类型 描述
mode String 认证模式:IVS:手机三要素认证、FACE:人脸认证、BANK:银行卡认证、MANUAL:人工审核
status String 1:认证通过,2:认证不通过

接收回调请求接口的返回值:
接口返回值必须包含以下参数,且转换成json字符串返回。

名称 类型 描述
code Int 接收回调消息 响应码

返回值说明:

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>
    <script src=https://res.wx.qq.com/mmbizwap/zh_CN/htmledition/js/vconsole/3.0.0/vconsole.min.js> </script> <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('认证退出');
                         },
                     }
                );

参数说明:

名称 类型 必须 描述
companyName String 待认证公司名称
companyAuthBean CompanyAuthBean 待认证企业相关信息

companyAuthBean(企业认证相关信息,提交后将在对应页面显示相关信息)

参数名称 类型 必须 描述
companyName String 待认证公司名称
applicant UserInfo 认证提交人,企业认证通过后,认证提交人会自动成为该企业的系统管理员
registerNo String 待认证公司注册号
legalPerson String 待认证公司法人姓名
callbackUrl String 认证回调地址
closeButton Boolean 是否显示关闭按钮,默认为true

UserInfo(提交人信息,企业认证通过后,提交人对应的账号会自动成为该公司的管理员) :

名称 类型 必须 描述
name String 申请者姓名
contact String 联系方式
contactType String 联系方式类型: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>
    <script src=https://res.wx.qq.com/mmbizwap/zh_CN/htmledition/js/vconsole/3.0.0/vconsole.min.js> </script> 
    <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次。

参数说明:

名称 类型 描述
status Integer 认证结果状态:0(“认证中”)、1(“认证成功”)、2(“认证失败”)
actionEvent Integer 认证行为状态:0(“提交基本信息”)、1(“基本信息审核通过”)、2(“基础信息审核失败”)、4(“授权书审核失败”)、6(“反向打款失败”)、7(“认证成功”)、9(“法人实名认证人工审核失败”)
requestId String 认证请求Id
authInfo String 认证详情内容参考CorpAuthDetail

CorpAuthDetail:

名称 类型 描述
name String 认证公司名称
registerNo String 认证公司工商注册号
legalPerson String 认证公司法人代表姓名

接收回调请求接口的返回值:
接口返回值必须包含以下参数,且转换成json字符串返回。

名称 类型 描述
code Int 接收回调消息 响应码
/本节结束/

上一篇:JS SDK 简介

下一篇:对接方接口说明

联系我们
全国热线
400-888-9792