接口描述
如果针对本地保存的签署文件进行验签,则通过“上传方式创建文档”接口上传文件,获取fileid,再传入文件id,进行验签;如果是针对某一签署流程对应的某一签署后的文件进行验签,则可直接传入签署流程id+文件id,直接进行验签。
接口
/v1/documents/{fileId}/verify
请求方式
GET
请求头
提供两种安全接入方式,开发者可选择其中一种方式进行对接,对应参数如何获取,参考文档【请点击】。
方式一:请求签名鉴权
请求头入参示例如下:
参数名称 | 类型 | 必选 | 参数说明 | 示例值 |
X-Tsign-Open-App-Id | string | 是 | 项目ID | |
Content-Type | string | 是 | application/json;charset=UTF-8 | |
X-Tsign-Open-Ca-Timestamp | string | 是 | API 调用者传递时间戳,值为当前时间的毫秒数,也就是从1970年1月1日起至今的时间转换为毫秒,时间戳有效时间为15分钟,为了防重放攻击 | |
Accept | string | 是 | 建议统一填写 */* | |
X-Tsign-Open-Ca-Signature | string | 是 | 签名字符串 | |
Content-MD5 | string | 否 | 当请求 Body 非 Form 表单时,可以计算 Body 的 MD5 值传递给云网关进行 Body MD5 校验。建议当请求 Body 非 Form 表单时,加上此请求头。 | |
X-Tsign-Open-Auth-Mode | string | 是 | 选择请求方式进行鉴权,固定值,Signature |
方式二:OAuth2.0鉴权
当安全接入选择OAuth2.0鉴权方式,请点击查阅详情,请求头入参示例如下:
参数名称 | 类型 | 必选 | 参数说明 |
X-Tsign-Open-App-Id | string | 是 | 项目ID |
X-Tsign-Open-Token | string | 是 | 通过获取鉴权Token接口返回 |
Content-Type | string | 是 | application/json; charset=UTF-8 |
请求参数
参数名称 | 类型 | 必选 | 参数类型 | 参数说明 |
fileId | string | 是 | path | 文件id,该参数需放在请求地址上,可参考请求示例 |
flowId | string | 否 | query | 流程id,需对已归档的签署流程进行验签 |
公共响应参数
参数名称 | 类型 | 必选 | 参数说明 |
code | int | 是 | 业务码,0表示成功 |
message | string | 否 | 信息 |
data | object | 否 | 业务信息 |
响应参数
展开全部参数参数名称 | 类型 | 必选 | 参数说明 | ||
signInfos | List | 否 | |||
cert | Object | 否 | 证书信息 | ||
owner | String | 否 | 所有者 | ||
serial | String | 否 | 序列号 | ||
startDate | String | 否 | 有效期开始时间 | ||
endDate | String | 否 | 有效期结束时间 | ||
issuerCN | String | 否 | 发布者名称 | ||
certBase64 | String | 否 | 证书信息(base64编码) | ||
signature | Object | 否 | 签名数据 | ||
modify | boolean | 否 | 是否篡改 | ||
timeFrom | String | 否 | 签署时间来源 | ||
signDate | String | 否 | 签署时间 | ||
sealData | String | 否 | 印章数据 |
请求示例
GET https://smlopenapi.esign.cn/v1/documents/f34a02f8a04b415e8e5a0d5a2/verify?flowId=6cca7a040d1a6bdff5ea9cc60a7
响应示例
{ "code": 0, "message": "成功", "data": { "signInfos": [ { "sealData": "iVBORw0KGgoAAAAN***2dSW7DMBAE/f9PM9ccLIvT7Blu1UCAIHIkWSxztkby+SCEEEIIIYQQQgghhBBCCCGEEEIIIYQQQm4119d/ffvZt+P/X9Nz3rdz/bqXp3ONHv9178IXgAAIgEiA9Cx2ZHEAxAyIIvX3lUWJQBWB2AmIKgABkLMAUR6yuv06AcmAXAVEhHV9QCKfxMjDBRAAARAAiS2aWpoq1Yr7usprAQRAAARAAGRKDpK1UKOltrNkBhAAAZCsPkg2IGr1AiALdlJHpZbXSr4S2RFptQPIvYBkT3OzX1t5rZHQxLg/aSEieRCAAAiAlNCxkLKaX45ZS+EzABAAARAAORkQNc46TULODq9yL+4SPwA5gADIpoCoU1XF8JMBUGQho+FsNHS9nfcoQBxdyNmAZJXXam4EIAByJiDquH50LK8ulOt4taFoiyoGQAAEQITkGUBMo3I1h8goR53nzTJFbTuLARAA2RKQCCTu80be11GAOON3RUmr5AUV3V6jZxVAAGTzEONoMjkBqDQyqTC6PKvXAVLxSQcQAAGQHWYxkQfiHOcr434HYNml9BGdVAABEAAR+y1XAJI13nbOWrIabdnWgeP6IAACIOEqxt0TGWltR+17LqOTY5obAP4sQNwei9F8x3VczakABEAAJBLvncYcRy7hyhUqcrLjDEPZ1j4AuRAQdpADAcmExdW0UktiZwOPJBVAAOQmQNwjgCsAyUpCnZ9qJRfI6o6qDrsAbAACIBv+CSrHomX5QUfDherGr7zWFeN+ABnf2QAEQPYFZNJ425ajuBfdqWPH/QACIAACIDFHWbVZxpnvjC7ULPPQVp5UAAGQYUBmyN3qdjXazO9x305qxq5Q4SPJMkUlQQ4gAHLRLKby4TomzgpAzrnNddNcAAEQALkZkKxGWYYRKQKhY36SYWTquC8AARAAmQKI6j8FkGCjzLForo6ns1zNOpfZ0gAgALIRIKNvqHLSGYVqxBPrME293dd2VczugDiS1NGczGCABhAA2dwPUpHhV/pQ3SEiOUcBkBUAcTjdrgUk+iAB5GBAss09FY6yAp9o2v+Z2b6TCiAAsjUgFdXT1YBkxddsF5ljcZyAjNobAARAzhnWVTSOspzmldXX6MQaQAAEQADkQkDUcf9oTHbmI9WvNdojAARAAGQ6IJEwlw1I8Bx3ABJZ9FHYnHlBVj4SyL0ABEAAJGVyOyusqC5/MRwCyAqAOHyvAAIgAJLVKFO2dQeMznxmtBJjFgMgAAIgADL133ao8V29hjMHGYV8u0YZgAAIQgjtp3b49VDRgkVj9NOxp3jegGtdQCKJWev4/gmG9rLQreOe0CQwej6xrROWJxiasBsAxSIhpnUC0joW/9t5f+0IrWO3AZQNQkzPokd2qJ7wRYhZAIzeBWuBcPJ5+d3WGbKAYuEqphmSyPYDkA+AnAdIT1LbXnaN6E6DFklSozlID2wtkBi/AQIsC+cgPed62xGizTV6IQghhBBCCFXoD9GuzoVfBl6eAAAAAElFTkSuQmCC", "cert": { "owner": "杭州天谷有限公司", "serial": "536deb6bfce98a9143f143ca", "startDate": "2020-04-13 11:46:18", "endDate": "2021-04-13 11:46:18", "issuerCN": "智慧CA_测试CA" }, "signature": { "modify": false, "timeFrom": "tsa", "signDate": "2021-01-14 17:03:43" } } ] } }
错误码
错误码 | 错误描述 | 解决方案 |
1435002 | 参数错误: flowId和fileId不匹配 | 流程下没有相应的文档 |
1435002 | 参数错误: appId和fileId不匹配 | 当前appId不能查看相应的文档 |