签盾开放平台-电子签约服务
  1. 合同相关
签盾开放平台-电子签约服务
  • 接入流程介绍
  • 应用创建流程
  • 前端接入文档
  • 开发前必读
    • 常用接口清单和关键流程
    • 公共请求格式
  • 帮助文档
    • 印章指定位置
    • 静默签使用说明
  • 实名认证
    • 个人认证
      • 个人认证项
        • 个人身份二要素核验
        • 个人运营商三要素核验
        • 个人人脸核验(H5适配)
        • 个人人脸核验查询
        • 发送短信验证码
        • 校验短信验证码
        • 个人银行卡四要素核验
      • 个人实名认证地址(页面)
    • 企业认证
      • 企业认证项
        • 企业四要素核验
        • 企业三要素核验
        • 发起打款认证(正向打款)
        • 验证打款金额(正向打款)
        • 查询打款进度(正向打款)
        • 企业经办人授权书认证-上传
        • 企业经办人授权书认证-查询
        • 查询打款银行信息
      • 企业实名认证地址(页面)
    • 查询认证信息
      GET
  • 用户管理
    • 个人用户
      • 修改个人用户
      • 创建已认证个人用户
      • 查询个人用户信息
    • 企业用户
      • 查询企业用户信息
      • 创建已认证企业用户
    • 创建未认证用户(暂不支持企业)
      POST
  • 文件相关
    • 上传文件
      POST
    • 基于模板生成文件
      POST
  • 合同相关
    • 通过文件发起合同
      POST
    • 查询签署方信息
      GET
    • 下载合同文件及附件
      GET
    • 合同查询
      GET
    • 获取合同签署链接(页面)
      POST
    • 无感签署(申请开放)
      POST
    • 获取拖章定位页面
      POST
  • 印章管理
    • 查询印章列表
      GET
    • 查询印章详情
      GET
    • 印章静默签授权地址(H5页面)
      POST
  • 接口回调
    • 回调接入文档
    • 获取回调信息
    • 回调成功确认
  • 开放接口
    • 短信验证码
    • 通知短信发送
    • 身份证OCR
    • 营业执照OCR
    • 银行卡OCR
  1. 合同相关

通过文件发起合同

POST
/open/contract/start
V1.1.0
合同发起接口
上传文件发起合同需进行以下2步
(1)步骤一:通过【上传文件】接口或者【基于模板生成文件】接口生成合同源文件,生成的文件可重复使用
(2)步骤二:通过合同文件发起合同
注意
1.
签署坐标相关详见印章指定位置
2.
若签署场景需要签署人相对无感,且需要签署人授权,则可以使用静默签,若需要使用静默签,详见静默签使用说明
3.
若签署场景需要签署人无感,且无须签署人授权,在签署人无感知情况下完成签署,可使用无感签署(申请开放),无感签能力需要申请开放
4.
发起合同时若未指定签署位置,通过获取合同签署链接接口获取签署链接进行页面签署时,所有合同文件都必须进行落章
可能出现的错误码
错误码错误信息解决办法
500服务繁忙,请重试.联系客服
400参数错误.参数与接口文档进行核对
oc_10011用户未认证进行认证
oc_30005上传文件格式不支持更换支持发起合同以及附件格式的文件
oc_30006文件处理失败重新发起,或联系客服
oc_40001签署截止时间不能超过12个月检查参数
oc_40002签署截止时间不能小于当前时间检查参数
oc_40003签署方不可重复检查参数
oc_40014合同doc文件不能重复检查参数
oc_40016签署位置不能重复检查参数
oc_40020单页合同文件不能进行骑缝签章检查参数
oc_40027同一签署方不能同时配置静默签和普通签署检查参数

请求参数

Body 参数application/json
signFileType
enum<string> 
签署文件类型
可选
PDF(默认)
枚举值:
PDF
docs
array [object {4}] 
合同doc
必需
fileId
string 
集成方自定义文件编号
可选
可用于签署,为了数据准确性,请使用系统唯一值。建议填写,简化签署传值。不大于64个字符
fileCode
string 
文件代码
必需
上传文件或基于模板创建文件接口获取
fileOrder
integer 
文档顺序
必需
从1开始,用于页面文档顺序显示
fileName
string 
文档名称
可选
attachmentFiles
array [object {2}]  | null 
合同附件
可选
fileCode
string 
文件代码
必需
上传文件或基于模板创建文件接口获取
fileOrder
integer 
文档顺序
必需
从1开始,用于页面文档顺序显示
signFlowInitiator
object 
合同发起方
必需
accountId
string 
发起方的accountId
必需
signers
array [object {6}] 
签署人
必需
accountId
string 
签署人accountId
必需
seqNo
integer 
签署顺序
可选
从1开始。注:若为顺序签署则必填
signFields
array [object {5}] 
指定签署位置
可选
若上传指定签署位置,签署是位置必须与指定签署位置一致
authConfig
object 
意愿认证配置
可选
不传则不指定意愿认证方式,否则必须使用配置意愿认证方式进行签署,无感签和静默签此项配置不生效
audioVideoInfos
object 
视频双录配置
可选
noticeConfig
object 
通知配置
可选
signFlowConfigs
object 
签署流程配置
必需
flowConfig
object 
流程信息
必需
integrationConfig
object 
集成配置
可选
示例
{
    "signFileType": "PDF",
    "docs": [
        {
            "fileId": "1",
            "fileCode": "FC_20241212171254RkztvLleUICgRSe",
            "fileOrder": 1,
            "fileName": "test_file1.docx"
        }
    ],
    "attachmentFiles": [
        {
            "fileCode": "FC_20241212164445yYmxlZvwHGQysio",
            "fileOrder": 1
        }
    ],
    "signFlowInitiator": {
        "accountId": "CORP_TEST_001"
    },
    "signers": [
        {
            "accountId": "PSN_TEST_001",
            "seqNo": 1,
            "signFields": [
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "RkztvLleUICgRSe",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 280,
                        "positionY": 420
                    }
                },
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "RkztvLleUICgRSe",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 400,
                        "positionY": 300
                    }
                }
            ],
            "authConfig": {
                "willingnessAuthModes": [
                    "CODE_SMS"
                ]
            },
            "noticeConfig": {
                "noticeTypes": 0
            }
        },
        {
            "accountId": "PSN_TEST_002",
            "seqNo": 2,
            "signFields": [
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "vLleUI7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 600,
                        "positionY": 200
                    }
                },
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "vLleUI7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 100,
                        "positionY": 500
                    }
                }
            ],
            "authConfig": {
                "willingnessAuthModes": [
                    "CODE_SMS"
                ]
            },
            "noticeConfig": {
                "noticeTypes": 0
            }
        },
        {
            "accountId": "PSN_TEST_003",
            "seqNo": 1,
            "signFields": [
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 28,
                        "positionY": 42
                    }
                },
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 28,
                        "positionY": 42
                    }
                }
            ],
            "authConfig": {
                "willingnessAuthModes": [
                    "CODE_SMS"
                ]
            },
            "noticeConfig": {
                "noticeTypes": 0
            }
        }
    ],
    "signFlowConfigs": {
        "flowConfig": {
            "contractName": "测试合同",
            "businessCode": "241212171254RkztvLle",
            "seqSigning": false,
            "signDeadline": "2025-12-31"
        },
        "integrationConfig": {
            "signRedirectConfig": {
                "redirectUrl": "https://spanish-gray.net/",
                "redirectDelayTime": 3
            },
            "evidenceConfig": [3]
        }
    }
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'api.pre-qiandun365.com/api/open/contract/start' \
--header 'Content-Type: application/json' \
--data-raw '{
    "signFileType": "PDF",
    "docs": [
        {
            "fileId": "1",
            "fileCode": "FC_20241212171254RkztvLleUICgRSe",
            "fileOrder": 1,
            "fileName": "test_file1.docx"
        }
    ],
    "attachmentFiles": [
        {
            "fileCode": "FC_20241212164445yYmxlZvwHGQysio",
            "fileOrder": 1
        }
    ],
    "signFlowInitiator": {
        "accountId": "CORP_TEST_001"
    },
    "signers": [
        {
            "accountId": "PSN_TEST_001",
            "seqNo": 1,
            "signFields": [
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "RkztvLleUICgRSe",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 280,
                        "positionY": 420
                    }
                },
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "RkztvLleUICgRSe",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 400,
                        "positionY": 300
                    }
                }
            ],
            "authConfig": {
                "willingnessAuthModes": [
                    "CODE_SMS"
                ]
            },
            "noticeConfig": {
                "noticeTypes": 0
            }
        },
        {
            "accountId": "PSN_TEST_002",
            "seqNo": 2,
            "signFields": [
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "vLleUI7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 600,
                        "positionY": 200
                    }
                },
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "vLleUI7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 100,
                        "positionY": 500
                    }
                }
            ],
            "authConfig": {
                "willingnessAuthModes": [
                    "CODE_SMS"
                ]
            },
            "noticeConfig": {
                "noticeTypes": 0
            }
        },
        {
            "accountId": "PSN_TEST_003",
            "seqNo": 1,
            "signFields": [
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 28,
                        "positionY": 42
                    }
                },
                {
                    "fileCode": "FC_20241212171254RkztvLleUICgRSe",
                    "signFieldStyle": 1,
                    "dateFormat": "YYYY-MM-DD",
                    "authorizeCode": "7",
                    "signFieldPosition": {
                        "positionPage": 1,
                        "positionX": 28,
                        "positionY": 42
                    }
                }
            ],
            "authConfig": {
                "willingnessAuthModes": [
                    "CODE_SMS"
                ]
            },
            "noticeConfig": {
                "noticeTypes": 0
            }
        }
    ],
    "signFlowConfigs": {
        "flowConfig": {
            "contractName": "测试合同",
            "businessCode": "241212171254RkztvLle",
            "seqSigning": false,
            "signDeadline": "2025-12-31"
        },
        "integrationConfig": {
            "signRedirectConfig": {
                "redirectUrl": "https://spanish-gray.net/",
                "redirectDelayTime": 3
            },
            "evidenceConfig": [3]
        }
    }
}'

返回响应

🟢200成功
application/json
Body
code
string 
请求返回code
必需
msg
string 
请求返回msg
必需
result
object  | null 
必需
contractId
number 
合同id
必需
businessCode
string 
第三方签署流程业务id
可选
  signersInfos
array [object {2}] 
必需
success
boolean 
是否成功
必需
logKey
string 
日志key
必需
ts
string 
时间戳
必需
示例
{
    "code": "string",
    "msg": "string",
    "result": {
        "contractId": 0,
        "businessCode": "string",
        "  signersInfos": [
            {
                "accountId": "string",
                "seqNo": 0
            }
        ]
    },
    "success": true,
    "logKey": "string",
    "ts": "string"
}
上一页
基于模板生成文件
下一页
查询签署方信息
Built with