企业云签章网关接口手册

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方式

接口调用流程:

img

请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/getAuthType

请求方式: post

请求类型: application/JSON

请求参数:

参数名 类型 是否必填 参数说明
appId String 应用ID

请求示例:

img

返回参数:

参数名 类型 参数说明
authType Array 认证方式数组

响应示例:

img

3.2 认证初始化

功能说明:

​ 该接口调用方为业务系统,被调用方为网关,根据认证方式进行认证初始化,得到二维码,使用小程序扫码进行签名完成认证初始化

接口调用流程:

img

请求地址: [http: //ip:13001](http: //lctest.isignet.cn:13001/)/mssg2/enterprise/authInit

请求方式: post

请求类型: application/JSON

请求参数:

参数名 类型 是否必填 参数说明
userId String 用户唯一标识,可以是人,也可以是机构,或者一些管理员角色
authType String SIGN方式,具体类型,由认证查询中的类型决定
expiry String 有效期 默认30min

请求示例:

img
返回参数:

参数名 类型 参数说明
authId String 认证事务ID
challenge String 登录信息,如果是签名,返回是二维码数据

响应示例:

img

3.3 认证接口

功能说明:

​ 该接口调用方为业务系统,被调用方为网关,进行认证,得到认证状态

接口调用流程:

img

请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/auth

请求方式: post

请求类型: application/JSON

请求参数:

参数名 类型 是否必填 参数说明
authId String 认证事务ID
credential String 完成的挑战
ext String 挑战的扩展信息,备用

请求示例:

img
返回参数:

参数名 类型 参数说明
status 状态 WAITING_SIG(等待签名)/TIME_OUT(超时)/FINISH_SIGN(完成签名)
token String 如果成功,返回Token
refressToken String 更新token用的Token,备用
expires String token有效期,单位秒

返回示例:

img

3.4 查询印章

功能说明:

​ 该接口调用方为业务系统,被调用方为网关,进行印章列表查询,得到公章|合同章|人力章,印章过滤器,如果不填,返回所有印章,如果有过滤器,只返回有权限且在集合范围内的印章信息

接口调用流程:

img

请求地址: http: //ip:13001/mssg2/enterprise/getSealByToken

请求参数:

参数名 类型 是否必填 参数说明
token String 登录认证的Token,如果无需认证,此项为空
sealFilter String 公章|合同章|人力章,印章过滤器,如果不填,返回所有印章,如果有过滤器,只返回有权限且在集合范围内的印章(查询条件为JSON 格式)

请求示例:

img
返回参数:

参数名 类型 参数说明
sealInfoList sealInfo结构体List2Json 印章列表

返回示例:

img

3.5 签章(不同文档不同章)

功能说明:

​ 该接口调用方为业务系统,被调用方为网关,对pdf文档进行签署

接口调用流程:

img

请求地址: [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结构 骑缝章规则

请求示例:

img
返回参数:

参数名 类型 参数说明
jobId String 签名任务ID 协同的时候返回
fileStampList List2JSON
fileList fileList结构2JSON 文件信息

返回示例:

img

3.6 文档验章

功能说明:

​ 该接口调用方为业务系统,被调用方为网关,对已签署的pdf文档进行签署验证

接口调用流程:

img

请求地址: [http: //ip:13001]http: //lctest.isignet.cn:13001//mssg2/enterprise/fileVerify

请求方式: post

请求类型: application/JSON

请求参数:

参数名 类型 是否必填 参数说明
file File结构 file信息

请求示例:

img
返回参数:

参数名 类型 参数说明
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

请求示例:
img

{
"name": "文件上传",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": {
"key": "file",
"type": "file",
"src": "C:/Users/LILINGLING/Desktop/11.pdf"
}
}
},
"url": {
"raw": "http://beta.isignet.cn:13001/mssg2/enterprise/fileUploadByStream",
"protocol": "http",
"host": {
"beta",
"isignet",
"cn"
},
""
}
}

返回参数:

参数名 类型 参数说明
id String 文件唯一标识

返回示例:


{
"status": 200,
"message": "成功",
"data": {
"id": "2af44cfd-768e-4ec7-8ed0-all71870a5b8"
}
}

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 服务端异常