企业云签章网关接口手册
1. 引言
1.1 编写目的
本文的预期读者为公司研发人员、公司测试人员、公司实施人员等。
本说明书为开发人员、测试人员、客户之间提供共同的协议而建立基础,指导软件功能的实现。
本说明书做为项目结项验收文档的一部分,提供技术委员会评审通过后,做为正式文档进行归档。
2. 接口说明
2.1 请求方式:
见具体接口
2.2 公共请求参数
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
appId | String | 是 | 应用id(由BJCA提供) |
2.3 公共返回参数
参数名 | 类型 | 参数说明 |
---|---|---|
status | String | 结果码(200表示成功) |
message | String | 结果信息 |
data | JSON | 接口返回JSON |
接口返回值JSON | JSON | JSON |
3. 接口
3.1 获取认证方式
功能说明:
该接口调用方为业务系统,被调用方为网关,为业务方提供认证方式的选择,目前只支持SING方式
接口调用流程:
请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/getAuthType
请求方式: post
请求类型: application/JSON
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
appId | String | 是 | 应用ID |
请求示例:
返回参数:
参数名 | 类型 | 参数说明 |
---|---|---|
authType | Array | 认证方式数组 |
响应示例:
3.2 认证初始化
功能说明:
该接口调用方为业务系统,被调用方为网关,根据认证方式进行认证初始化,得到二维码,使用小程序扫码进行签名完成认证初始化
接口调用流程:
请求地址: [http: //ip:13001](http: //lctest.isignet.cn:13001/)/mssg2/enterprise/authInit
请求方式: post
请求类型: application/JSON
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
userId | String | 否 | 用户唯一标识,可以是人,也可以是机构,或者一些管理员角色 |
authType | String | 是 | SIGN方式,具体类型,由认证查询中的类型决定 |
expiry | String | 否 | 有效期 默认30min |
请求示例:
返回参数:
参数名 | 类型 | 参数说明 |
---|---|---|
authId | String | 认证事务ID |
challenge | String | 登录信息,如果是签名,返回是二维码数据 |
响应示例:
3.3 认证接口
功能说明:
该接口调用方为业务系统,被调用方为网关,进行认证,得到认证状态
接口调用流程:
请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/auth
请求方式: post
请求类型: application/JSON
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
authId | String | 是 | 认证事务ID |
credential | String | 否 | 完成的挑战 |
ext | String | 否 | 挑战的扩展信息,备用 |
请求示例:
返回参数:
参数名 | 类型 | 参数说明 |
---|---|---|
status | 状态 | WAITING_SIG(等待签名)/TIME_OUT(超时)/FINISH_SIGN(完成签名) |
token | String | 如果成功,返回Token |
refressToken | String | 更新token用的Token,备用 |
expires | String | token有效期,单位秒 |
返回示例:
3.4 查询印章
功能说明:
该接口调用方为业务系统,被调用方为网关,进行印章列表查询,得到公章|合同章|人力章,印章过滤器,如果不填,返回所有印章,如果有过滤器,只返回有权限且在集合范围内的印章信息
接口调用流程:
请求地址: http: //ip:13001/mssg2/enterprise/getSealByToken
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
token | String | 是 | 登录认证的Token,如果无需认证,此项为空 |
sealFilter | String | 否 | 公章|合同章|人力章,印章过滤器,如果不填,返回所有印章,如果有过滤器,只返回有权限且在集合范围内的印章(查询条件为JSON 格式) |
请求示例:
返回参数:
参数名 | 类型 | 参数说明 |
---|---|---|
sealInfoList | sealInfo结构体List2Json | 印章列表 |
返回示例:
3.5 签章(不同文档不同章)
功能说明:
该接口调用方为业务系统,被调用方为网关,对pdf文档进行签署
接口调用流程:
请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/flexibleSealFile
请求方式: post
请求类型: application/JSON
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
token | String | 否 | 登录认证的Token,如果无需认证,此项为空 |
fileStampList | List2JSON | 文件和印章规则信息 | |
fileList | File结构的List2JSON | 是 | 文件信息 |
sealList | List2JSON | 印章和规则信息 | |
sealInfo | sealInfo结构 | 是 | 印章信息 |
ruleInfo | JSON | ||
version | 是 | ||
ruleId | 否 | 印章规则编号,用于远端已经构建了印章规则,通过ID来代替该规则 | |
ruleType | 是 | RECTANGLE|KEYWORD|ACROSS(规则ID和自定义规则二选一) | |
rectangleRule | rectangleRule结构 | 否 | 坐标规则 |
keyWordRule | keyWordRule结构 | 否 | 关键字规则 |
acrossRule | acrossRule结构 | 否 | 骑缝章规则 |
请求示例:
返回参数:
参数名 | 类型 | 参数说明 |
---|---|---|
jobId | String | 签名任务ID 协同的时候返回 |
fileStampList | List2JSON | |
fileList | fileList结构2JSON | 文件信息 |
返回示例:
3.6 文档验章
功能说明:
该接口调用方为业务系统,被调用方为网关,对已签署的pdf文档进行签署验证
接口调用流程:
请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/fileVerify
请求方式: post
请求类型: application/JSON
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
file | File结构 | 是 | file信息 |
请求示例:
返回参数:
参数名 | 类型 | 参数说明 |
---|---|---|
result | String | 返回值 |
resultMsg | String | 返回信息 |
sealList | verifyStampInfo结构体List2JSON | 印章验签信息 |
3.7 上传文档 Multipart/form-data
请求地址:
请求地址: [http: //ip:13001] http: //lctest.isignet.cn:13001//mssg2/enterprise/fileUploadByStream
请求方式: post
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
file | 文件流 | 是 | 文件 |
fileJson | String | 否 | |
token | String | 否 | token |
请求示例:
{ |
返回参数:
参数名 | 类型 | 参数说明 |
---|---|---|
id | String | 文件唯一标识 |
返回示例:
|
3.8 下载文档
请求地址:
请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/fileDownloadByStream
请求方式:get
请求参数:
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
id | String | 是 | 文件ID |
返回File
4. 结构说明
4.1 file 结构
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
title | String | 是 | 采购合同 |
fileB64 | String | 是 | BASE64格式的数据,不能过大.MIIClzCCAjygAwIBAgIQdd/IV… |
fileType | String | 是 | PDF|OFD |
templateData | String | 否 | 填充模板的数据文件,可以是JSON也可以是XML的 |
classify | String | 否 | 根据客户业务进行的业务分类,用于做后期数据分析,如在医疗领域内,这可以是知情同意书,病历,处方,政务可以是公告,证照等等 |
fileDesc | String | 是 | 文档描述信息,用于描述文档作用,签章目的等 |
4.2 sealInfo结构
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
sealId | String | 是 | 印章编号 |
4.3 rectangleRule结构
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
page | String | 否 | 页码数 |
bottom | String | 是 | 底坐标 |
top | String | 是 | 上坐标 |
left | String | 是 | 左坐标 |
right | String | 是 | 右坐标 |
moveType | String | 否 | 覆盖类型 CENTER|RIGHT|BOTTOM |
4.4 keyWordRule结构
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
keyword | String | 是 | 关键字 |
moveType | String | 否 | 覆盖类型 CENTER|RIGHT|BOTTOM |
searchOrder | String | 否 | 搜索顺序 DESC|ASC|ALL |
keywordIndex | String | 否 | 第几个关键字 |
4.5 verifyStampInfo 结构
参数名 | 类型 | 是否必填 | 参数说明 |
---|---|---|---|
statusCode | String | 否 | 状态码 |
errInfos | String | 否 | errInfos错误信息 |
pageNo | String | 否 | 页码数 |
certList | List |
否 | 签名证书 |
certDNList | List |
否 | 签名证书DN |
signDate | String | 否 | 签名时间 |
timeStampDate | String | 否 | 时间戳签名时间 |
signAlg | String | 否 | 签名算法 |
certSN | String | 否 | 证书序列号 |
commonName | String | 否 | 签名方名称 |
sigValue | String | 否 | 签名值 |
sealImg | String | 否 | 印章图片 |
isTss | Boolean | 否 | 是否使用时间戳 |
5. 错误码说明
状态码 | 说明 | 备注 |
---|---|---|
200 | 成功 | |
300 | 参数错误 | |
301 | 请求服务不支持错误 | |
302 | 调用第三方服务异常 | 查看具体Message,或者查看日志 |
400 | 连接服务器错误 | |
408 | 请求超时错误 | |
500 | 服务内部错误 | |
600 | PDF文档错误 | |
700 | 参数长度越界 | |
6101 | 印章无效 | |
6109 | PDF签章失败 | 需查看日志 |
300000 | 参数错误 | |
100001 | 印章无效 | |
100002 | 调用第三方机构服务出错 | |
100003 | 调用第三方机构服务返回错误 | |
100004 | 印章验证出错 | |
100005 | 获取印章规则出错 | |
200001 | 文件上传出错 | |
200002 | 文件下载出错 | |
200003 | 文件不存在 | |
99995 | 调用云服务出错 | 查看具体Message |
999996 | API签名出错 | |
999997 | 文件验签出错 | |
999998 | 文件签章出错 | |
999999 | 服务端异常 |