合同验签
1. 接口描述
接口请求域名: essbasic.tencentcloudapi.com 。
对合同流程文件进行数字签名验证,判断数字签名是否有效,合同文件内容是否被篡改。
补充: 可以到控制台合同验签体验验签功能,界面如下
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:ChannelVerifyPdf。 |
Version | 是 | String | 公共参数,本接口取值:2021-05-26。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
FlowId | 是 | String | 合同流程ID,为32位字符串。 |
Agent | 否 | Agent | 关于渠道应用的相关信息,包括渠道应用标识、第三方平台子客企业标识及第三方平台子客企业中的员工标识等内容,您可以参阅开发者中心所提供的 Agent 结构体以获取详细定义。 此接口下面信息必填。
第三方平台子客企业和员工必须已经经过实名认证 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
VerifyResult | Integer | 验签结果代码,代码的含义如下:
|
PdfVerifyResults | Array of PdfVerifyResult | 验签结果详情,所有签署区(包括签名区, 印章区, 日期签署区,骑缝章等)的签署验签结果 |
VerifySerialNo | String | 验签序列号, 为11为数组组成的字符串 |
PdfResourceMd5 | String | 合同文件MD5哈希值 示例值:C39BBA405153FB9A0705BEF095351CBD |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 验证通过
示例-验证通过
输入示例
POST / HTTP/1.1
Host: essbasic.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ChannelVerifyPdf
<公共请求参数>
{
"FlowId": "yDSLVUUckpo1c11xUxtOq8cvKy24by9M",
"Agent": {
"AppId": "yDwhxUUckp3gl8j5UuFX33LSNozpRsbi",
"ProxyOrganizationOpenId": "org_dianziqian",
"ProxyOperator": {
"OpenId": "n9527"
},
"ProxyAppId": ""
}
}
输出示例
{
"Response": {
"VerifyResult": 1,
"PdfVerifyResults": [
{
"VerifyResult": 1,
"SignPlatform": "腾讯电子签",
"SignerName": "ESS@典子谦示例企业@382919",
"SignTime": 1699252042000,
"SignAlgorithm": "SHA1withRSA",
"CertSn": "6c8e2911fadf70ea",
"CertNotBefore": 1699006057000,
"CertNotAfter": 1730542057000,
"SignType": 0,
"ComponentPosX": 361.0799865722656,
"ComponentPosY": 481.6199951171875,
"ComponentWidth": 119,
"ComponentHeight": 13.70001220703125,
"ComponentPage": 1
},
{
"VerifyResult": 1,
"SignPlatform": "腾讯电子签",
"SignerName": "ESS@典子谦示例企业@382919",
"SignTime": 1699252040000,
"SignAlgorithm": "SHA1withRSA",
"CertSn": "6c8e2911fadf70ea",
"CertNotBefore": 1699006057000,
"CertNotAfter": 1730542057000,
"SignType": 0,
"ComponentPosX": 361.0799865722656,
"ComponentPosY": 359.45001220703125,
"ComponentWidth": 119,
"ComponentHeight": 119,
"ComponentPage": 1
},
{
"VerifyResult": 1,
"SignPlatform": "腾讯电子签",
"SignerName": "ESS@张三@37000019890303000X@808854",
"SignTime": 1699252071000,
"SignAlgorithm": "SHA1withRSA",
"CertSn": "1000000000087449",
"CertNotBefore": 1681301253000,
"CertNotAfter": 1712837253000,
"SignType": 0,
"ComponentPosX": 193.55999755859375,
"ComponentPosY": 43.90997314453125,
"ComponentWidth": 86,
"ComponentHeight": 43,
"ComponentPage": 1
},
{
"VerifyResult": 1,
"SignPlatform": "腾讯电子签",
"SignerName": "ESS@张三@37000019890303000X@808854",
"SignTime": 1699252071000,
"SignAlgorithm": "SHA1withRSA",
"CertSn": "1000000000087449",
"CertNotBefore": 1681301253000,
"CertNotAfter": 1712837253000,
"SignType": 0,
"ComponentPosX": 177.05999755859375,
"ComponentPosY": 90.25,
"ComponentWidth": 119,
"ComponentHeight": 13.70001220703125,
"ComponentPage": 1
}
],
"VerifySerialNo": "16992543927198",
"PdfResourceMd5": "708BE88A797843094A74FA10ABF08F01",
"RequestId": "80c66dcb-fc07-48d4-8914-eb0171bbf1ac"
}
}
示例2 验证不通过
验证不通过
输入示例
POST / HTTP/1.1
Host: essbasic.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ChannelVerifyPdf
<公共请求参数>
{
"FlowId": "yDSLWUUckposmpkvUyb9xvpEQeni94od",
"Agent": {
"AppId": "yDwhxUUckp3gl8j5UuFX33LSNozpRsbi",
"ProxyOrganizationOpenId": "org_dianziqian",
"ProxyOperator": {
"OpenId": "n9527"
},
"ProxyAppId": ""
}
}
输出示例
{
"Response": {
"VerifyResult": 4,
"PdfVerifyResults": [],
"VerifySerialNo": "16992543927198",
"PdfResourceMd5": "708BE88A797843094A74FA10ABF08F01",
"RequestId": "e5064ef6-4743-461a-9024-3120576f3f6b"
}
}
5. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
InternalError | 内部错误。 |
InvalidParameter.ParamError | 参数错误。 |
OperationDenied | 操作被拒绝。 |
OperationDenied.ErrNoResourceAccess | 无资源访问权限。 |
ResourceNotFound | 资源不存在。 |
UnauthorizedOperation.NoPermissionFeature | 请升级到对应版本后即可使用该接口。 |