流程文件验签
1. 接口描述
接口请求域名: ess.tencentcloudapi.com 。
对合同流程文件进行数字签名验证,判断数字签名是否有效,合同文件内容是否被篡改。
补充: 可以到控制台合同验签体验验签功能,界面如下
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:VerifyPdf。 |
Version | 是 | String | 公共参数,本接口取值:2020-11-11。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
FlowId | 是 | String | 合同流程ID,为32位字符串。 可登录腾讯电子签控制台,在 "合同"->"合同中心" 中查看某个合同的FlowId(在页面中展示为合同ID)。 |
Operator | 否 | UserInfo | 执行本接口操作的员工信息。 注: `在调用此接口时,请确保指定的员工已获得所需的接口调用权限,并具备接口传入的相应资源的数据权限。 |
Agent | 否 | Agent | 代理企业和员工的信息。 在集团企业代理子企业操作的场景中,需设置此参数。在此情境下,ProxyOrganizationId(子企业的组织ID)为必填项。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
VerifyResult | Integer | 验签结果代码,代码的含义如下:
|
PdfVerifyResults | Array of PdfVerifyResult | 验签结果详情,每个签名域对应的验签结果。状态值如下
|
VerifySerialNo | String | 验签序列号, 为11为数组组成的字符串 |
PdfResourceMd5 | String | 合同文件MD5哈希值 示例值:C39BBA405153FB9A0705BEF095351CBD |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 示例
1.对流程合同yDwFdUUckpsveo27UEQPEVo14KnASuGI进行数字签名验证 2.流程合同yDwFdUUckpsveo27UEQPEVo14KnASuGI验证正常
输入示例
POST / HTTP/1.1
Host: ess.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: VerifyPdf
<公共请求参数>
{
"Operator": {
"UserId": "yDxVwUyKQWho8CUuO4zjEyQOAgwvr4Zy"
},
"FlowId": "yDwFdUUckpsveo27UEQPEVo14KnASuGI"
}
输出示例
{
"Response": {
"PdfVerifyResults": [
{
"CertNotAfter": 166300032000,
"CertNotBefore": 16630002000,
"CertSn": "166300032000",
"ComponentHeight": 33.340026855469,
"ComponentPage": 1,
"ComponentPosX": 160,
"ComponentPosY": 293.32995605469,
"ComponentWidth": 100,
"SignAlgorithm": "SHA1withRSA",
"SignPlatform": "腾讯电子签",
"SignTime": 1663304532000,
"SignerName": "ESS@xxx二@41xxxxx6635@666744",
"VerifyResult": 1
},
{
"CertNotAfter": 1663304655000,
"CertNotBefore": 1663304655000,
"CertSn": "2b42298dcxxxxx7527eaa1017e254e8",
"ComponentHeight": 75.680023193359,
"ComponentPage": 1,
"ComponentPosX": 260,
"ComponentPosY": 272.15997314453,
"ComponentWidth": 100,
"SignAlgorithm": "SHA1withRSA",
"SignPlatform": "腾讯电子签",
"SignTime": 1663304656000,
"SignerName": "张x x",
"VerifyResult": 1
}
],
"RequestId": "79900a28xxxxxx-4af8a90f7292",
"VerifySerialNo": "16698630779",
"VerifyResult": 1,
"PdfResourceMd5": "8879F721C764ABC918FD862B748F691C"
}
}
示例2 对流程合同文件进行验签-验签失败(文件被篡改)
1.对流程合同yDwFdUUckpsvet4jUEn0aFRxtu5TdalM进行数字签名验证 2.流程合同yDwFdUUckpsvet4jUEn0aFRxtu5TdalM的文件被篡改,验证失败
输入示例
POST / HTTP/1.1
Host: ess.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: VerifyPdf
<公共请求参数>
{
"Operator": {
"UserId": "yDxVwUyKQWho8CUuO4zjEyQOAgwvr4Zy"
},
"FlowId": "yDwFdUUckpsvet4jUEn0aFRxtu5TdalM"
}
输出示例
{
"Response": {
"PdfVerifyResults": [
{
"CertNotAfter": 16691000034000,
"CertNotBefore": 163700034000,
"CertSn": "5255f51cxxxxxx4d66f2a9eb8fb3d2bc1",
"ComponentHeight": 43,
"ComponentPage": 1,
"ComponentPosX": 210.25,
"ComponentPosY": 43,
"ComponentWidth": 96.75,
"SignAlgorithm": "SHA1withRSA",
"SignPlatform": "腾讯电子签",
"SignTime": 1663238861000,
"SignerName": "深圳市腾讯计算机系统有限公司",
"VerifyResult": 3
},
{
"CertNotAfter": 166300032000,
"CertNotBefore": 166300032000,
"CertSn": "5255f51c7xxx82c4d66f2a9eb8fb3d2bc1",
"ComponentHeight": 12,
"ComponentPage": 1,
"ComponentPosX": 223.64999389648,
"ComponentPosY": 86,
"ComponentWidth": 69.950012207031,
"SignAlgorithm": "SHA1withRSA",
"SignPlatform": "腾讯电子签",
"SignTime": 1663238861000,
"SignerName": "深圳xxxxx限公司",
"VerifyResult": 3
}
],
"RequestId": "57151f15-2xxxxxx46418d4b72a",
"VerifySerialNo": "16698630779",
"VerifyResult": 3,
"PdfResourceMd5": "49649219B8771ACB538D418810983716"
}
}
5. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
InternalError | 内部错误。 |
InvalidParameter.ParamError | 参数错误。 |
OperationDenied.ErrNoResourceAccess | 此企业无该资源使用权限。 |
OperationDenied.Forbid | 禁止此项操作。 |
OperationDenied.NoFlowPermission | 无权限操作签署流程,请联系客服了解权限,并在修改后重试。 |
UnauthorizedOperation.NoPermissionFeature | 请升级到对应版本后即可使用该接口。 |