tencentcloud-sdk-python-essbasic 3.1.160__tar.gz → 3.1.166__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/PKG-INFO +2 -2
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/setup.py +1 -1
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/__init__.py +1 -1
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20210526/essbasic_client.py +150 -4
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20210526/essbasic_client_async.py +145 -4
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20210526/models.py +171 -2
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud_sdk_python_essbasic.egg-info/PKG-INFO +2 -2
- tencentcloud_sdk_python_essbasic-3.1.166/tencentcloud_sdk_python_essbasic.egg-info/requires.txt +1 -0
- tencentcloud_sdk_python_essbasic-3.1.160/tencentcloud_sdk_python_essbasic.egg-info/requires.txt +0 -1
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/README.rst +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/setup.cfg +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/__init__.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20201222/__init__.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20201222/errorcodes.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20201222/essbasic_client.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20201222/essbasic_client_async.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20201222/models.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20210526/__init__.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud/essbasic/v20210526/errorcodes.py +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud_sdk_python_essbasic.egg-info/SOURCES.txt +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud_sdk_python_essbasic.egg-info/dependency_links.txt +0 -0
- {tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/tencentcloud_sdk_python_essbasic.egg-info/top_level.txt +0 -0
{tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-essbasic
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.166
|
|
4
4
|
Summary: Tencent Cloud Essbasic SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.166
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
{tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/setup.py
RENAMED
|
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='tencentcloud-sdk-python-essbasic',
|
|
11
|
-
install_requires=["tencentcloud-sdk-python-common>=3.1.
|
|
11
|
+
install_requires=["tencentcloud-sdk-python-common>=3.1.166,<4.0.0"],
|
|
12
12
|
|
|
13
13
|
version=tencentcloud.__version__,
|
|
14
14
|
description='Tencent Cloud Essbasic SDK for Python',
|
|
@@ -266,9 +266,9 @@ class EssbasicClient(AbstractClient):
|
|
|
266
266
|
**注意:**
|
|
267
267
|
1. 该接口可生成签署人的批量、合同组签署/查看链接 。
|
|
268
268
|
2. 该签署链接**默认有效期为30分钟**,过期后将失效,如需签署可重新创建批量签署链接 。
|
|
269
|
-
4. 该接口返回的签署链接适用于APP集成的场景,支持APP
|
|
270
|
-
跳转到小程序的实现,参考微信官方文档(分为<a href="https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html">全屏</a>、<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html">半屏</a>两种方式),如何配置也可以请参考: <a href="https://qian.tencent.com/developers/company/openwxminiprogram">跳转电子签小程序配置</a>。
|
|
269
|
+
4. 该接口返回的签署链接适用于APP集成的场景,支持APP打开或浏览器直接打开,**不支持微信小程序嵌入**。配置方式请参考:[跳转电子签H5](https://qian.tencent.com/developers/partner/openqianh5)。
|
|
271
270
|
6. 因h5涉及人脸身份认证能力基于慧眼人脸核身,对Android和iOS系统均有一定要求, 因此<font color='red'>App嵌入H5签署合同需要按照慧眼提供的<a href="https://cloud.tencent.com/document/product/1007/61076">慧眼人脸核身兼容性文档</a>做兼容性适配</font>。
|
|
271
|
+
7. <font color='red'>iframe 嵌入暂不支持人脸相关操作</font>,包括设置密码等需要进行的人脸核验。
|
|
272
272
|
|
|
273
273
|
:param request: Request instance for ChannelCreateBatchQuickSignUrl.
|
|
274
274
|
:type request: :class:`tencentcloud.essbasic.v20210526.models.ChannelCreateBatchQuickSignUrlRequest`
|
|
@@ -807,9 +807,9 @@ class EssbasicClient(AbstractClient):
|
|
|
807
807
|
|
|
808
808
|
⚠️ **注意**
|
|
809
809
|
1. 该签署链接**默认有效期为30分钟**,过期后将失效,如需签署可重新创建签署链接 。
|
|
810
|
-
2. 该接口返回的签署链接适用于APP集成的场景,支持在支付宝、APP打开、浏览器直接打开,**不支持微信小程序嵌入**。配置方式请参考:<a href="https://qian.tencent.com/developers/company/openqianh5/">跳转电子签H5</a
|
|
811
|
-
如需跳转到小程序的实现,参考微信官方文档(分为<a href="https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html">全屏</a>、<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html">半屏</a>两种方式),如何配置也可以请参考: <a href="https://qian.tencent.com/developers/company/openwxminiprogram">跳转电子签小程序配置</a>。
|
|
810
|
+
2. 该接口返回的签署链接适用于APP集成的场景,支持在支付宝、APP打开、浏览器直接打开,**不支持微信小程序嵌入**。配置方式请参考:<a href="https://qian.tencent.com/developers/company/openqianh5/">跳转电子签H5</a>。。
|
|
812
811
|
3. 因h5涉及人脸身份认证能力基于慧眼人脸核身,对Android和iOS系统均有一定要求, 因此<font color='red'>App嵌入H5签署合同需要按照慧眼提供的<a href="https://cloud.tencent.com/document/product/1007/61076">慧眼人脸核身兼容性文档</a>做兼容性适配</font>。
|
|
812
|
+
4. <font color='red'>iframe 嵌入暂不支持人脸相关操作</font>,包括设置密码等需要进行的人脸核验。
|
|
813
813
|
|
|
814
814
|
:param request: Request instance for ChannelCreateFlowSignUrl.
|
|
815
815
|
:type request: :class:`tencentcloud.essbasic.v20210526.models.ChannelCreateFlowSignUrlRequest`
|
|
@@ -2170,6 +2170,9 @@ class EssbasicClient(AbstractClient):
|
|
|
2170
2170
|
1. `支持的文件类型有doc、docx、xls、xlsx、html、jpg、jpeg、png、bmp、txt`
|
|
2171
2171
|
2. `可通过发起合同时设置预览来检查转换文件是否达到预期效果`
|
|
2172
2172
|
|
|
2173
|
+
整体流程如下图
|
|
2174
|
+

|
|
2175
|
+
|
|
2173
2176
|
:param request: Request instance for CreateFileConvertTask.
|
|
2174
2177
|
:type request: :class:`tencentcloud.essbasic.v20210526.models.CreateFileConvertTaskRequest`
|
|
2175
2178
|
:rtype: :class:`tencentcloud.essbasic.v20210526.models.CreateFileConvertTaskResponse`
|
|
@@ -2519,6 +2522,146 @@ class EssbasicClient(AbstractClient):
|
|
|
2519
2522
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
2520
2523
|
|
|
2521
2524
|
|
|
2525
|
+
def CreateRequestWithEncryption(self, request):
|
|
2526
|
+
r"""该接口支持对请求内容进行加密传输。调用方需使用约定的 AES-CBC 或 SM4-CBC 算法对请求内容进行加密,并使用 HMAC-SHA256 或 HMAC-SM3 算法对 IV 和加密后的数据进行完整性校验,防止请求内容被篡改。
|
|
2527
|
+
|
|
2528
|
+

|
|
2529
|
+
|
|
2530
|
+
**请求端加密流程**
|
|
2531
|
+
1. 每次请求使用密码学安全的随机源生成 16 字节 的 IV。每次请求必须重新生成,严禁复用。
|
|
2532
|
+
2. 使用约定的 AES-CBC 或 SM4-CBC 算法对原始请求体进行加密,使用 PKCS#7 Padding。
|
|
2533
|
+
3. 将加密后的密文原始字节进行标准 Base64 编码,作为 EncryptedData 参数。
|
|
2534
|
+
4. 将 IV 原始字节进行标准 Base64 编码,作为 IV 参数。
|
|
2535
|
+
5. 对 IV 原始字节和密文原始字节直接拼接(不添加分隔符),计算 HMAC-SHA256 或 HMAC-SM4:HMAC(Key, IVBytes || CiphertextBytes)
|
|
2536
|
+
6. 将 HMAC 的结果进行 标准 Base64 编码,作为 EncryptionSignature 参数。
|
|
2537
|
+
|
|
2538
|
+
**响应端解密流程**
|
|
2539
|
+
1. 先判断本接口自身是否返回外层错误,此时错误为明文(标准腾讯云错误体),有则直接失败处理。
|
|
2540
|
+
2. 分别对 IV、EncryptedData、EncryptionSignature 做标准 Base64 解码,得到原始字节。
|
|
2541
|
+
3. 将 IV 与密文原始字节直接拼接(无分隔符),计算 HMAC-SHA256 或 HMAC-SM4:HMAC(Key, IVBytes || CiphertextBytes)。
|
|
2542
|
+
4. 与响应中 EncryptionSignature 解码后的字节做恒定时间比较,不一致立即失败,不得继续解密。
|
|
2543
|
+
5. 使用约定的 AES-CBC 或 SM4-CBC,以 IV 和密钥解密 EncryptedData,去除 PKCS#7 Padding 得到明文。
|
|
2544
|
+
6. 先用腾讯云标准错误体反序列化明文,判断被加密业务接口是否返回 Error。
|
|
2545
|
+
7. 无业务错误时,再用目标业务接口的响应结构体反序列化明文,取出实际业务参数。
|
|
2546
|
+
|
|
2547
|
+
**响应端错误处理**
|
|
2548
|
+
1. 外层错误(本接口本身调用失败):返回标准腾讯云错误 JSON(含 Error.Code / Error.Message),无 EncryptedData,不需要解密即可处理。
|
|
2549
|
+
2. 内层错误(业务接口执行失败):外层成功,但解密后的明文里包含 Error.Code / Error.Message,按目标业务接口的错误规范处理。
|
|
2550
|
+
|
|
2551
|
+
**处理过程示例**
|
|
2552
|
+
```
|
|
2553
|
+
# ========== 前置约定 ==========
|
|
2554
|
+
AESKey : 加密 密钥(AES 32 字节,SM4 16 字节)
|
|
2555
|
+
HMACKey : HMAC 密钥(与加密密钥需要不同)
|
|
2556
|
+
ALGO : AES-CBC 或 SM4-CBC,双方约定
|
|
2557
|
+
HMAC : ALGO == AES-CBC ? HMAC-SHA256 : HMAC-SM3
|
|
2558
|
+
|
|
2559
|
+
# ========== 请求端:加密并调用 ==========
|
|
2560
|
+
function CallWithEncryption(bizAction, bizApplicationId, bizRequestObj):
|
|
2561
|
+
# 1. 序列化业务请求
|
|
2562
|
+
plaintext = JSON.stringify(bizRequestObj)
|
|
2563
|
+
# 2. 生成 16 字节随机 IV(每次新生成,禁止复用)
|
|
2564
|
+
iv = SecureRandom(16)
|
|
2565
|
+
# 3. 对称加密(PKCS#7 Padding)
|
|
2566
|
+
ciphertext = SymmetricEncrypt(ALGO, AESKey, iv, plaintext)
|
|
2567
|
+
# 4. 计算完整性签名:HMAC(Key, IV || Ciphertext)
|
|
2568
|
+
signature = HMAC(HMACKey, concat(iv, ciphertext))
|
|
2569
|
+
# 5. 组装外层请求参数(三段均为标准 Base64)
|
|
2570
|
+
encReq = {
|
|
2571
|
+
RequestAction: bizAction,
|
|
2572
|
+
ApplicationId: bizApplicationId,
|
|
2573
|
+
IV: Base64(iv),
|
|
2574
|
+
EncryptedData: Base64(ciphertext),
|
|
2575
|
+
EncryptionSignature: Base64(signature),
|
|
2576
|
+
}
|
|
2577
|
+
# 6. 调用 CreateRequestWithEncryption
|
|
2578
|
+
# TC3-HMAC-SHA256 鉴权由官方 SDK 自动完成
|
|
2579
|
+
encResp = CloudAPI.CreateRequestWithEncryption(encReq)
|
|
2580
|
+
# 7. 外层错误:明文,直接抛出
|
|
2581
|
+
if encResp.Error != nil:
|
|
2582
|
+
raise OuterError(encResp.Error)
|
|
2583
|
+
# 8. 解密并返回业务响应
|
|
2584
|
+
return DecryptResponse(encResp.Response)
|
|
2585
|
+
|
|
2586
|
+
# ========== 响应端:校验并解密 ==========
|
|
2587
|
+
function DecryptResponse(resp):
|
|
2588
|
+
# 1. Base64 解码
|
|
2589
|
+
ivBytes = Base64Decode(resp.IV)
|
|
2590
|
+
ctBytes = Base64Decode(resp.EncryptedData)
|
|
2591
|
+
sigBytes = Base64Decode(resp.EncryptionSignature)
|
|
2592
|
+
# 2. 重新计算 HMAC
|
|
2593
|
+
expected = HMAC(HMACKey, concat(ivBytes, ctBytes))
|
|
2594
|
+
# 3. 恒定时间比较,失败立即终止(不得继续解密)
|
|
2595
|
+
if not ConstantTimeEqual(expected, sigBytes):
|
|
2596
|
+
raise SignatureMismatch
|
|
2597
|
+
# 4. 对称解密,去除 PKCS#7 Padding
|
|
2598
|
+
plaintext = SymmetricDecrypt(ALGO, AESKey, ivBytes, ctBytes)
|
|
2599
|
+
# 5. 先按腾讯云错误体解析,判断业务是否失败
|
|
2600
|
+
bizErr = TryParseTencentCloudError(plaintext)
|
|
2601
|
+
if bizErr != nil:
|
|
2602
|
+
raise BusinessError(bizErr)
|
|
2603
|
+
# 6. 按目标业务接口的响应结构反序列化
|
|
2604
|
+
return JSON.parse(plaintext, BizResponseSchema)
|
|
2605
|
+
```
|
|
2606
|
+
|
|
2607
|
+
**AES-CBC 示例**
|
|
2608
|
+
以下示例参数及结果可用于验证 AES-CBC 加密和 HMAC-SHA256 签名算法的实现是否正确。
|
|
2609
|
+
|
|
2610
|
+
加密密钥:AES-CBC-Key-1234
|
|
2611
|
+
签名密钥:AES-HMAC-Key-123
|
|
2612
|
+
IV:1234567890abcdef
|
|
2613
|
+
请求内容:{"Request": "This is a test."}
|
|
2614
|
+
|
|
2615
|
+
最终请求参数:
|
|
2616
|
+
```
|
|
2617
|
+
{
|
|
2618
|
+
"RequestAction": "DescribeFlowComponents",
|
|
2619
|
+
"ApplicationId: "yD******************************,
|
|
2620
|
+
"IV": "MTIzNDU2Nzg5MGFiY2RlZg==",
|
|
2621
|
+
"EncryptedData": "Iqp2W1jislwMNmE7bH9dKZZiMQsfkAPyvAAqDFRnWLw=",
|
|
2622
|
+
"EncryptionSignature": "4TT3PUCZgZT7YmEPtXDm5PDcM6xT7FoYHfMW8xunB5I="
|
|
2623
|
+
}
|
|
2624
|
+
```
|
|
2625
|
+
|
|
2626
|
+
**SM4-CBC 示例**
|
|
2627
|
+
以下示例参数及结果可用于验证 SM4-CBC 加密和 HMAC-SM4 签名算法的实现是否正确。
|
|
2628
|
+
|
|
2629
|
+
加密密钥:SM4-CBC-Key-1234
|
|
2630
|
+
签名密钥:SM4-HMAC-Key-123
|
|
2631
|
+
IV:fedcba0987654321
|
|
2632
|
+
请求内容:{"Request": "This is a test."}
|
|
2633
|
+
|
|
2634
|
+
最终请求参数:
|
|
2635
|
+
```
|
|
2636
|
+
{
|
|
2637
|
+
"RequestAction": "DescribeFlowComponents",
|
|
2638
|
+
"ApplicationId: "yD******************************,
|
|
2639
|
+
"IV": "ZmVkY2JhMDk4NzY1NDMyMQ==",
|
|
2640
|
+
"EncryptedData": "GwUovQhNUPaUnVM/UDXMtPOYTpTSi2B1oyZDFbyyvns=",
|
|
2641
|
+
"EncryptionSignature": "nHB/v/AvOaDCQ66esFNnp12lHKcGkwaLGid0Warl/KE="
|
|
2642
|
+
}
|
|
2643
|
+
```
|
|
2644
|
+
|
|
2645
|
+
:param request: Request instance for CreateRequestWithEncryption.
|
|
2646
|
+
:type request: :class:`tencentcloud.essbasic.v20210526.models.CreateRequestWithEncryptionRequest`
|
|
2647
|
+
:rtype: :class:`tencentcloud.essbasic.v20210526.models.CreateRequestWithEncryptionResponse`
|
|
2648
|
+
|
|
2649
|
+
"""
|
|
2650
|
+
try:
|
|
2651
|
+
params = request._serialize()
|
|
2652
|
+
headers = request.headers
|
|
2653
|
+
body = self.call("CreateRequestWithEncryption", params, headers=headers)
|
|
2654
|
+
response = json.loads(body)
|
|
2655
|
+
model = models.CreateRequestWithEncryptionResponse()
|
|
2656
|
+
model._deserialize(response["Response"])
|
|
2657
|
+
return model
|
|
2658
|
+
except Exception as e:
|
|
2659
|
+
if isinstance(e, TencentCloudSDKException):
|
|
2660
|
+
raise
|
|
2661
|
+
else:
|
|
2662
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
2663
|
+
|
|
2664
|
+
|
|
2522
2665
|
def CreateSealByImage(self, request):
|
|
2523
2666
|
r"""1. 可以**通过图片**为子客企业代创建印章,图片最大5MB
|
|
2524
2667
|
|
|
@@ -2845,6 +2988,9 @@ class EssbasicClient(AbstractClient):
|
|
|
2845
2988
|
1. `大文件转换所需的时间可能会比较长。`
|
|
2846
2989
|
2. `本接口返回的文件资源ID就是PDF资源ID,可以直接用于【用PDF文件创建签署流程】接口发起合同。`
|
|
2847
2990
|
|
|
2991
|
+
整体流程如下图
|
|
2992
|
+

|
|
2993
|
+
|
|
2848
2994
|
:param request: Request instance for DescribeFileConvertTask.
|
|
2849
2995
|
:type request: :class:`tencentcloud.essbasic.v20210526.models.DescribeFileConvertTaskRequest`
|
|
2850
2996
|
:rtype: :class:`tencentcloud.essbasic.v20210526.models.DescribeFileConvertTaskResponse`
|
|
@@ -235,9 +235,9 @@ class EssbasicClient(AbstractClient):
|
|
|
235
235
|
**注意:**
|
|
236
236
|
1. 该接口可生成签署人的批量、合同组签署/查看链接 。
|
|
237
237
|
2. 该签署链接**默认有效期为30分钟**,过期后将失效,如需签署可重新创建批量签署链接 。
|
|
238
|
-
4. 该接口返回的签署链接适用于APP集成的场景,支持APP
|
|
239
|
-
跳转到小程序的实现,参考微信官方文档(分为<a href="https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html">全屏</a>、<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html">半屏</a>两种方式),如何配置也可以请参考: <a href="https://qian.tencent.com/developers/company/openwxminiprogram">跳转电子签小程序配置</a>。
|
|
238
|
+
4. 该接口返回的签署链接适用于APP集成的场景,支持APP打开或浏览器直接打开,**不支持微信小程序嵌入**。配置方式请参考:[跳转电子签H5](https://qian.tencent.com/developers/partner/openqianh5)。
|
|
240
239
|
6. 因h5涉及人脸身份认证能力基于慧眼人脸核身,对Android和iOS系统均有一定要求, 因此<font color='red'>App嵌入H5签署合同需要按照慧眼提供的<a href="https://cloud.tencent.com/document/product/1007/61076">慧眼人脸核身兼容性文档</a>做兼容性适配</font>。
|
|
240
|
+
7. <font color='red'>iframe 嵌入暂不支持人脸相关操作</font>,包括设置密码等需要进行的人脸核验。
|
|
241
241
|
"""
|
|
242
242
|
|
|
243
243
|
kwargs = {}
|
|
@@ -716,9 +716,9 @@ class EssbasicClient(AbstractClient):
|
|
|
716
716
|
|
|
717
717
|
⚠️ **注意**
|
|
718
718
|
1. 该签署链接**默认有效期为30分钟**,过期后将失效,如需签署可重新创建签署链接 。
|
|
719
|
-
2. 该接口返回的签署链接适用于APP集成的场景,支持在支付宝、APP打开、浏览器直接打开,**不支持微信小程序嵌入**。配置方式请参考:<a href="https://qian.tencent.com/developers/company/openqianh5/">跳转电子签H5</a
|
|
720
|
-
如需跳转到小程序的实现,参考微信官方文档(分为<a href="https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html">全屏</a>、<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html">半屏</a>两种方式),如何配置也可以请参考: <a href="https://qian.tencent.com/developers/company/openwxminiprogram">跳转电子签小程序配置</a>。
|
|
719
|
+
2. 该接口返回的签署链接适用于APP集成的场景,支持在支付宝、APP打开、浏览器直接打开,**不支持微信小程序嵌入**。配置方式请参考:<a href="https://qian.tencent.com/developers/company/openqianh5/">跳转电子签H5</a>。。
|
|
721
720
|
3. 因h5涉及人脸身份认证能力基于慧眼人脸核身,对Android和iOS系统均有一定要求, 因此<font color='red'>App嵌入H5签署合同需要按照慧眼提供的<a href="https://cloud.tencent.com/document/product/1007/61076">慧眼人脸核身兼容性文档</a>做兼容性适配</font>。
|
|
721
|
+
4. <font color='red'>iframe 嵌入暂不支持人脸相关操作</font>,包括设置密码等需要进行的人脸核验。
|
|
722
722
|
"""
|
|
723
723
|
|
|
724
724
|
kwargs = {}
|
|
@@ -1863,6 +1863,9 @@ class EssbasicClient(AbstractClient):
|
|
|
1863
1863
|
注:
|
|
1864
1864
|
1. `支持的文件类型有doc、docx、xls、xlsx、html、jpg、jpeg、png、bmp、txt`
|
|
1865
1865
|
2. `可通过发起合同时设置预览来检查转换文件是否达到预期效果`
|
|
1866
|
+
|
|
1867
|
+
整体流程如下图
|
|
1868
|
+

|
|
1866
1869
|
"""
|
|
1867
1870
|
|
|
1868
1871
|
kwargs = {}
|
|
@@ -2158,6 +2161,141 @@ class EssbasicClient(AbstractClient):
|
|
|
2158
2161
|
|
|
2159
2162
|
return await self.call_and_deserialize(**kwargs)
|
|
2160
2163
|
|
|
2164
|
+
async def CreateRequestWithEncryption(
|
|
2165
|
+
self,
|
|
2166
|
+
request: models.CreateRequestWithEncryptionRequest,
|
|
2167
|
+
opts: Dict = None,
|
|
2168
|
+
) -> models.CreateRequestWithEncryptionResponse:
|
|
2169
|
+
"""
|
|
2170
|
+
该接口支持对请求内容进行加密传输。调用方需使用约定的 AES-CBC 或 SM4-CBC 算法对请求内容进行加密,并使用 HMAC-SHA256 或 HMAC-SM3 算法对 IV 和加密后的数据进行完整性校验,防止请求内容被篡改。
|
|
2171
|
+
|
|
2172
|
+

|
|
2173
|
+
|
|
2174
|
+
**请求端加密流程**
|
|
2175
|
+
1. 每次请求使用密码学安全的随机源生成 16 字节 的 IV。每次请求必须重新生成,严禁复用。
|
|
2176
|
+
2. 使用约定的 AES-CBC 或 SM4-CBC 算法对原始请求体进行加密,使用 PKCS#7 Padding。
|
|
2177
|
+
3. 将加密后的密文原始字节进行标准 Base64 编码,作为 EncryptedData 参数。
|
|
2178
|
+
4. 将 IV 原始字节进行标准 Base64 编码,作为 IV 参数。
|
|
2179
|
+
5. 对 IV 原始字节和密文原始字节直接拼接(不添加分隔符),计算 HMAC-SHA256 或 HMAC-SM4:HMAC(Key, IVBytes || CiphertextBytes)
|
|
2180
|
+
6. 将 HMAC 的结果进行 标准 Base64 编码,作为 EncryptionSignature 参数。
|
|
2181
|
+
|
|
2182
|
+
**响应端解密流程**
|
|
2183
|
+
1. 先判断本接口自身是否返回外层错误,此时错误为明文(标准腾讯云错误体),有则直接失败处理。
|
|
2184
|
+
2. 分别对 IV、EncryptedData、EncryptionSignature 做标准 Base64 解码,得到原始字节。
|
|
2185
|
+
3. 将 IV 与密文原始字节直接拼接(无分隔符),计算 HMAC-SHA256 或 HMAC-SM4:HMAC(Key, IVBytes || CiphertextBytes)。
|
|
2186
|
+
4. 与响应中 EncryptionSignature 解码后的字节做恒定时间比较,不一致立即失败,不得继续解密。
|
|
2187
|
+
5. 使用约定的 AES-CBC 或 SM4-CBC,以 IV 和密钥解密 EncryptedData,去除 PKCS#7 Padding 得到明文。
|
|
2188
|
+
6. 先用腾讯云标准错误体反序列化明文,判断被加密业务接口是否返回 Error。
|
|
2189
|
+
7. 无业务错误时,再用目标业务接口的响应结构体反序列化明文,取出实际业务参数。
|
|
2190
|
+
|
|
2191
|
+
**响应端错误处理**
|
|
2192
|
+
1. 外层错误(本接口本身调用失败):返回标准腾讯云错误 JSON(含 Error.Code / Error.Message),无 EncryptedData,不需要解密即可处理。
|
|
2193
|
+
2. 内层错误(业务接口执行失败):外层成功,但解密后的明文里包含 Error.Code / Error.Message,按目标业务接口的错误规范处理。
|
|
2194
|
+
|
|
2195
|
+
**处理过程示例**
|
|
2196
|
+
```
|
|
2197
|
+
# ========== 前置约定 ==========
|
|
2198
|
+
AESKey : 加密 密钥(AES 32 字节,SM4 16 字节)
|
|
2199
|
+
HMACKey : HMAC 密钥(与加密密钥需要不同)
|
|
2200
|
+
ALGO : AES-CBC 或 SM4-CBC,双方约定
|
|
2201
|
+
HMAC : ALGO == AES-CBC ? HMAC-SHA256 : HMAC-SM3
|
|
2202
|
+
|
|
2203
|
+
# ========== 请求端:加密并调用 ==========
|
|
2204
|
+
function CallWithEncryption(bizAction, bizApplicationId, bizRequestObj):
|
|
2205
|
+
# 1. 序列化业务请求
|
|
2206
|
+
plaintext = JSON.stringify(bizRequestObj)
|
|
2207
|
+
# 2. 生成 16 字节随机 IV(每次新生成,禁止复用)
|
|
2208
|
+
iv = SecureRandom(16)
|
|
2209
|
+
# 3. 对称加密(PKCS#7 Padding)
|
|
2210
|
+
ciphertext = SymmetricEncrypt(ALGO, AESKey, iv, plaintext)
|
|
2211
|
+
# 4. 计算完整性签名:HMAC(Key, IV || Ciphertext)
|
|
2212
|
+
signature = HMAC(HMACKey, concat(iv, ciphertext))
|
|
2213
|
+
# 5. 组装外层请求参数(三段均为标准 Base64)
|
|
2214
|
+
encReq = {
|
|
2215
|
+
RequestAction: bizAction,
|
|
2216
|
+
ApplicationId: bizApplicationId,
|
|
2217
|
+
IV: Base64(iv),
|
|
2218
|
+
EncryptedData: Base64(ciphertext),
|
|
2219
|
+
EncryptionSignature: Base64(signature),
|
|
2220
|
+
}
|
|
2221
|
+
# 6. 调用 CreateRequestWithEncryption
|
|
2222
|
+
# TC3-HMAC-SHA256 鉴权由官方 SDK 自动完成
|
|
2223
|
+
encResp = CloudAPI.CreateRequestWithEncryption(encReq)
|
|
2224
|
+
# 7. 外层错误:明文,直接抛出
|
|
2225
|
+
if encResp.Error != nil:
|
|
2226
|
+
raise OuterError(encResp.Error)
|
|
2227
|
+
# 8. 解密并返回业务响应
|
|
2228
|
+
return DecryptResponse(encResp.Response)
|
|
2229
|
+
|
|
2230
|
+
# ========== 响应端:校验并解密 ==========
|
|
2231
|
+
function DecryptResponse(resp):
|
|
2232
|
+
# 1. Base64 解码
|
|
2233
|
+
ivBytes = Base64Decode(resp.IV)
|
|
2234
|
+
ctBytes = Base64Decode(resp.EncryptedData)
|
|
2235
|
+
sigBytes = Base64Decode(resp.EncryptionSignature)
|
|
2236
|
+
# 2. 重新计算 HMAC
|
|
2237
|
+
expected = HMAC(HMACKey, concat(ivBytes, ctBytes))
|
|
2238
|
+
# 3. 恒定时间比较,失败立即终止(不得继续解密)
|
|
2239
|
+
if not ConstantTimeEqual(expected, sigBytes):
|
|
2240
|
+
raise SignatureMismatch
|
|
2241
|
+
# 4. 对称解密,去除 PKCS#7 Padding
|
|
2242
|
+
plaintext = SymmetricDecrypt(ALGO, AESKey, ivBytes, ctBytes)
|
|
2243
|
+
# 5. 先按腾讯云错误体解析,判断业务是否失败
|
|
2244
|
+
bizErr = TryParseTencentCloudError(plaintext)
|
|
2245
|
+
if bizErr != nil:
|
|
2246
|
+
raise BusinessError(bizErr)
|
|
2247
|
+
# 6. 按目标业务接口的响应结构反序列化
|
|
2248
|
+
return JSON.parse(plaintext, BizResponseSchema)
|
|
2249
|
+
```
|
|
2250
|
+
|
|
2251
|
+
**AES-CBC 示例**
|
|
2252
|
+
以下示例参数及结果可用于验证 AES-CBC 加密和 HMAC-SHA256 签名算法的实现是否正确。
|
|
2253
|
+
|
|
2254
|
+
加密密钥:AES-CBC-Key-1234
|
|
2255
|
+
签名密钥:AES-HMAC-Key-123
|
|
2256
|
+
IV:1234567890abcdef
|
|
2257
|
+
请求内容:{"Request": "This is a test."}
|
|
2258
|
+
|
|
2259
|
+
最终请求参数:
|
|
2260
|
+
```
|
|
2261
|
+
{
|
|
2262
|
+
"RequestAction": "DescribeFlowComponents",
|
|
2263
|
+
"ApplicationId: "yD******************************,
|
|
2264
|
+
"IV": "MTIzNDU2Nzg5MGFiY2RlZg==",
|
|
2265
|
+
"EncryptedData": "Iqp2W1jislwMNmE7bH9dKZZiMQsfkAPyvAAqDFRnWLw=",
|
|
2266
|
+
"EncryptionSignature": "4TT3PUCZgZT7YmEPtXDm5PDcM6xT7FoYHfMW8xunB5I="
|
|
2267
|
+
}
|
|
2268
|
+
```
|
|
2269
|
+
|
|
2270
|
+
**SM4-CBC 示例**
|
|
2271
|
+
以下示例参数及结果可用于验证 SM4-CBC 加密和 HMAC-SM4 签名算法的实现是否正确。
|
|
2272
|
+
|
|
2273
|
+
加密密钥:SM4-CBC-Key-1234
|
|
2274
|
+
签名密钥:SM4-HMAC-Key-123
|
|
2275
|
+
IV:fedcba0987654321
|
|
2276
|
+
请求内容:{"Request": "This is a test."}
|
|
2277
|
+
|
|
2278
|
+
最终请求参数:
|
|
2279
|
+
```
|
|
2280
|
+
{
|
|
2281
|
+
"RequestAction": "DescribeFlowComponents",
|
|
2282
|
+
"ApplicationId: "yD******************************,
|
|
2283
|
+
"IV": "ZmVkY2JhMDk4NzY1NDMyMQ==",
|
|
2284
|
+
"EncryptedData": "GwUovQhNUPaUnVM/UDXMtPOYTpTSi2B1oyZDFbyyvns=",
|
|
2285
|
+
"EncryptionSignature": "nHB/v/AvOaDCQ66esFNnp12lHKcGkwaLGid0Warl/KE="
|
|
2286
|
+
}
|
|
2287
|
+
```
|
|
2288
|
+
"""
|
|
2289
|
+
|
|
2290
|
+
kwargs = {}
|
|
2291
|
+
kwargs["action"] = "CreateRequestWithEncryption"
|
|
2292
|
+
kwargs["params"] = request._serialize()
|
|
2293
|
+
kwargs["resp_cls"] = models.CreateRequestWithEncryptionResponse
|
|
2294
|
+
kwargs["headers"] = request.headers
|
|
2295
|
+
kwargs["opts"] = opts or {}
|
|
2296
|
+
|
|
2297
|
+
return await self.call_and_deserialize(**kwargs)
|
|
2298
|
+
|
|
2161
2299
|
async def CreateSealByImage(
|
|
2162
2300
|
self,
|
|
2163
2301
|
request: models.CreateSealByImageRequest,
|
|
@@ -2433,6 +2571,9 @@ class EssbasicClient(AbstractClient):
|
|
|
2433
2571
|
注:
|
|
2434
2572
|
1. `大文件转换所需的时间可能会比较长。`
|
|
2435
2573
|
2. `本接口返回的文件资源ID就是PDF资源ID,可以直接用于【用PDF文件创建签署流程】接口发起合同。`
|
|
2574
|
+
|
|
2575
|
+
整体流程如下图
|
|
2576
|
+

|
|
2436
2577
|
"""
|
|
2437
2578
|
|
|
2438
2579
|
kwargs = {}
|
|
@@ -12614,7 +12614,7 @@ class Component(AbstractModel):
|
|
|
12614
12614
|
:type ComponentPosX: float
|
|
12615
12615
|
:param _ComponentPosY: <p><strong>在绝对定位方式下</strong>,可以指定控件纵向位置的位置,单位为pt(点)。</p>
|
|
12616
12616
|
:type ComponentPosY: float
|
|
12617
|
-
:param _ComponentExtra: <p><strong>在所有的定位方式下</strong>,控件的扩展参数,为<font color="red">JSON格式</font>,不同类型的控件会有部分非通用参数。</p><p><font color="red">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li><li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li><li> <b>Bold</b>是否加粗:true/false</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12,"Bold":false}</code><p><font color="red">ComponentType为DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12}</code><p><font color="red">ComponentType为WATERMARK时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>Opacity</b>: 透明度,范围0 :1</li><li> <b>Rotate</b>: 水印旋转角度,范围0 :359</li><li> <b>Density</b>: 水印样式,1-宽松,2-标准(默认值),3-密集,</li><li> <b>Position</b>: 水印位置,None-平铺(默认值),LeftTop-左上,LeftBottom-左下,RightTop-右上,RightBottom-右下,Center-居中</li><li> <b>SubType</b>: 水印类型:CUSTOM_WATERMARK-自定义内容,PERSON_INFO_WATERMARK-访问者信息</li></ul><b>参数样例</b>:<code>"{\"Font\":\"黑体\",\"FontSize\":20,\"Opacity\":0.1,\"Density\":2,\"SubType\":\"PERSON_INFO_WATERMARK\"}"</code><p><font color="red">ComponentType为FILL_IMAGE时</font>,支持以下参数:</p><ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li><li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul><p><font color="red">ComponentType为SELECTOR时</font>,支持以下参数:</p><ul><li> <b>WordWrap</b>:bool。是否支持选择控件内容自动折行合成。false:不支持(默认)。 true : 支持自动折行合成</li></ul><p><font color="red">ComponentType为SIGN_SIGNATURE、SIGN_PAGING_SIGNATURE类型时</font>,可以<strong>ComponentTypeLimit</strong>参数控制签署方式</p><ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li><li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li><li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li><li> <b>ESIGN</b> : 个人印章类型</li><li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li><li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul><b>参考样例</b>:<code>{"ComponentTypeLimit": ["SYSTEM_ESIGN"]}</code>印章的对应关系参考下图<br><br><font color="red">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型<ul><li> <b>OFFICIAL</b> : 企业公章</li><li> <b>CONTRACT</b> : 合同专用章</li><li> <b>FINANCE</b> : 财务专用章</li><li> <b>PERSONNEL</b> : 人事专用章</li><li> <b>OTHER</b> : 其他</li></ul><b>参考样例</b>:<code>{\"ComponentTypeLimit\":[\"PERSONNEL\",\"FINANCE\"]}</code> 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br><p><font color="red">ComponentType为SIGN_DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b> :字符串类型目前只支持"黑体"、"宋体"、仿宋,如果不填默认为"黑体"</li><li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li><li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li><li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li><li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)<b>参数样例</b>: <code>"{"Format":"yyyy m d","FontSize":12,"Gaps":"2,2", "FontAlign":"Right"}"</code><p><font color="red">ComponentType为SIGN_SEAL、SIGN_SIGNATURE类型时</font>,支持以下参数:</p><ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul><b>参数样例</b>:<code>"{"PageRanges":[{"BeginPage":1,"EndPage":-1}]}"</code><p><font color="red">签署印章旋转功能,当ComponentType为SIGN_SIGNATURE、SIGN_DATE、SIGN_SEAL时</font>,可以通过以下参数设置签署图片的旋转角度:</p><ul><li> <b>Rotate</b>:旋转角度,支持范围:-360:360,为正整数时,为顺时针旋转;为负整数时,为逆时针旋转。</li><li> <b>RotateRelation</b>:旋转关联控件,用于指定关联旋转的控件。例如:让印章控件和签署日期控件按照印章控件为中心旋转(此时,设置印章控件的RotateRelation为日期控件的ComponentId,设置日期签署控件的RotateRelation为印章控件的ComponentId)。</li></ul><b>参数样例</b>:<code>{"Rotate":-30,"RotateRelation":"Component_Id1"}</code><p><font color="red">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:</p><ul><li> <b>Opacity</b>:印章透明度,支持范围:0-1,0.7表示70%的透明度,1表示无透明度</li></ul><b>参数样例</b>:<code>{"Opacity":0.7}</code><p><font color="red">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:</p><ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul><b>参数样例</b>:<code>{"UseSealSize":true}</code><p><font color="red">签署意见功能设置,</font>当ComponentType为SIGN_OPINION时,可以通过以下参数设置签署意见的相关内容:</p><ul><li> <b>Values</b>:签署意见预设的需要用户填写的文本</li><li> <b>ValuesArray</b>:签署意见需要用户按顺序点击的分词(组合后应和Values内容一致)</li></ul><b>参数样例</b>:<code>{"Values":"我已知晓内容并同意签署","ValuesArray":["我","已知晓","内容","并","同意","签署"]}</code><p><font color="red">关键字模式下支持关键字找不到的情况下不进行报错的设置</font></p><ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置"IgnoreKeywordError"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。<b>参数样例</b>:<code>"{"IgnoreKeywordError":1}"</code><p><font color="red">ComponentType为SIGN_VIRTUAL_COMBINATION或者VIRTUAL_COMBINATION时</font>,支持以下参数:</p><ul><li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li><b>参数样例</b>:<br><code>{"Children":["ComponentId_29","ComponentId_27","ComponentId_28","ComponentId_30"]}</code><li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>ChildrenComponent结构体定义:<table border="1"> <thead> <tr> <th>字段名称</th> <th>类型</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>ComponentType</td> <td>string</td> <td>子控件类型-可选值:SIGN_SIGNATURE,SIGN_DATE,SIGN_SELECTOR,SIGN_MULTI_LINE_TEXT</td> </tr> <tr> <td>ComponentName</td> <td>string</td> <td>子控件名称</td> </tr> <tr> <td>Placeholder</td> <td>string</td> <td>子控件提示语</td></tr><tr> <td>ComponentValue</td> <td>string</td> <td>子控件值(签署方不可设置)</td> </tr> <tr> <td>ComponentOffsetX</td> <td>float</td> <td>控件偏移位置X(相对于父控件(签批控件的ComponentX))</td> </tr> <tr> <td>ComponentOffsetY</td> <td>float</td> <td>控件偏移位置Y 相对于父控件(签批控件的ComponentY))</td> </tr> <tr> <td>ComponentWidth</td> <td>float</td> <td>控件宽</td> </tr> <tr> <td>ComponentHeight</td> <td>float</td> <td>控件高</td> </tr> <tr> <td>ComponentExtra</td> <td>string</td> <td>控件的附属信息,根据ComponentType设置</td> </tr> </tbody> </table><b>参数样例</b>:<pre>{ "ChildrenComponents": [ { "ComponentType": "SIGN_SIGNATURE", "ComponentName": "个人签名", "Placeholder": "请签名", "ComponentOffsetX": 10, "ComponentOffsetY": 30, "ComponentWidth": 119, "ComponentHeight": 43, "ComponentExtra": "{\"ComponentTypeLimit\":[\"SYSTEM_ESIGN\"]}" }, { "ComponentType": "SIGN_SELECTOR", "ComponentName": "是否同意此协议", "Placeholder": "", "ComponentOffsetX": 50, "ComponentOffsetY": 130, "ComponentWidth": 120, "ComponentHeight": 43, "ComponentExtra": "{\"Values\":[\"同意\",\"不同意\",\"再想想\"],\"FontSize\":12,\"FontAlign\":\"Left\",\"Font\":\"黑体\",\"MultiSelect\":false}" }, { "ComponentType": "SIGN_MULTI_LINE_TEXT", "ComponentName": "批注附言", "Placeholder": "", "ComponentOffsetX": 150, "ComponentOffsetY": 300, "ComponentWidth": 200, "ComponentHeight": 86, "ComponentExtra": "" } ]}</pre></ul>
|
|
12617
|
+
:param _ComponentExtra: <p><strong>在所有的定位方式下</strong>,控件的扩展参数,为<font color="red">JSON格式</font>,不同类型的控件会有部分非通用参数。</p><p><font color="red">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li><li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li><li> <b>Bold</b>是否加粗:true/false</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12,"Bold":false}</code><p><font color="red">ComponentType为DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12}</code><p><font color="red">ComponentType为WATERMARK时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>Opacity</b>: 透明度,范围0 :1</li><li> <b>Rotate</b>: 水印旋转角度,范围0 :359</li><li> <b>Density</b>: 水印样式,1-宽松,2-标准(默认值),3-密集,</li><li> <b>Position</b>: 水印位置,None-平铺(默认值),LeftTop-左上,LeftBottom-左下,RightTop-右上,RightBottom-右下,Center-居中</li><li> <b>SubType</b>: 水印类型:CUSTOM_WATERMARK-自定义内容,PERSON_INFO_WATERMARK-访问者信息</li></ul><b>参数样例</b>:<code>"{\"Font\":\"黑体\",\"FontSize\":20,\"Opacity\":0.1,\"Density\":2,\"SubType\":\"PERSON_INFO_WATERMARK\"}"</code><p><font color="red">ComponentType为FILL_IMAGE时</font>,支持以下参数:</p><ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li><li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul><p><font color="red">ComponentType为SELECTOR时</font>,支持以下参数:</p><ul><li> <b>WordWrap</b>:bool。是否支持选择控件内容自动折行合成。false:不支持(默认)。 true : 支持自动折行合成</li></ul><p><font color="red">ComponentType为SIGN_SIGNATURE、SIGN_PAGING_SIGNATURE类型时</font>,可以<strong>ComponentTypeLimit</strong>参数控制签署方式</p><ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li><li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li><li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li><li> <b>ESIGN</b> : 个人印章类型</li><li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li><li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul><b>参考样例</b>:<code>{"ComponentTypeLimit": ["SYSTEM_ESIGN"]}</code>印章的对应关系参考下图<br><br><font color="red">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型<ul><li> <b>OFFICIAL</b> : 企业公章</li><li> <b>CONTRACT</b> : 合同专用章</li><li> <b>FINANCE</b> : 财务专用章</li><li> <b>PERSONNEL</b> : 人事专用章</li><li> <b>OTHER</b> : 其他</li></ul><b>参考样例</b>:<code>{\"ComponentTypeLimit\":[\"PERSONNEL\",\"FINANCE\"]}</code> 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br><p><font color="red">ComponentType为SIGN_DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b> :字符串类型目前只支持"黑体"、"宋体"、仿宋,如果不填默认为"黑体"</li><li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li><li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li><li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li><li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)<b>参数样例</b>: <code>"{"Format":"yyyy m d","FontSize":12,"Gaps":"2,2", "FontAlign":"Right"}"</code><p><font color="red">ComponentType为SIGN_SEAL、SIGN_SIGNATURE类型时</font>,支持以下参数:</p><ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul><b>参数样例</b>:<code>"{"PageRanges":[{"BeginPage":1,"EndPage":-1}]}"</code><p><font color="red">签署印章旋转功能,当ComponentType为SIGN_SIGNATURE、SIGN_DATE、SIGN_SEAL时</font>,可以通过以下参数设置签署图片的旋转角度:</p><ul><li> <b>Rotate</b>:旋转角度,支持范围:-360:360,为正整数时,为顺时针旋转;为负整数时,为逆时针旋转。</li><li> <b>RotateRelation</b>:旋转关联控件,用于指定关联旋转的控件。例如:让印章控件和签署日期控件按照印章控件为中心旋转(此时,设置印章控件的RotateRelation为日期控件的ComponentId,设置日期签署控件的RotateRelation为印章控件的ComponentId)。</li></ul><b>参数样例</b>:<code>{"Rotate":-30,"RotateRelation":"Component_Id1"}</code><p><font color="red">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:</p><ul><li> <b>Opacity</b>:印章透明度,支持范围:0.6-1,0.7表示70%的透明度,1表示无透明度</li></ul><b>参数样例</b>:<code>{"Opacity":0.7}</code><p><font color="red">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:</p><ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul><b>参数样例</b>:<code>{"UseSealSize":true}</code><p><font color="red">签署意见功能设置,</font>当ComponentType为SIGN_OPINION时,可以通过以下参数设置签署意见的相关内容:</p><ul><li> <b>Values</b>:签署意见预设的需要用户填写的文本</li><li> <b>ValuesArray</b>:签署意见需要用户按顺序点击的分词(组合后应和Values内容一致)</li></ul><b>参数样例</b>:<code>{"Values":"我已知晓内容并同意签署","ValuesArray":["我","已知晓","内容","并","同意","签署"]}</code><p><font color="red">关键字模式下支持关键字找不到的情况下不进行报错的设置</font></p><ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置"IgnoreKeywordError"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。<b>参数样例</b>:<code>"{"IgnoreKeywordError":1}"</code><p><font color="red">ComponentType为SIGN_VIRTUAL_COMBINATION或者VIRTUAL_COMBINATION时</font>,支持以下参数:</p><ul><li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li><b>参数样例</b>:<br><code>{"Children":["ComponentId_29","ComponentId_27","ComponentId_28","ComponentId_30"]}</code><li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>ChildrenComponent结构体定义:<table border="1"> <thead> <tr> <th>字段名称</th> <th>类型</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>ComponentType</td> <td>string</td> <td>子控件类型-可选值:SIGN_SIGNATURE,SIGN_DATE,SIGN_SELECTOR,SIGN_MULTI_LINE_TEXT</td> </tr> <tr> <td>ComponentName</td> <td>string</td> <td>子控件名称</td> </tr> <tr> <td>Placeholder</td> <td>string</td> <td>子控件提示语</td></tr><tr> <td>ComponentValue</td> <td>string</td> <td>子控件值(签署方不可设置)</td> </tr> <tr> <td>ComponentOffsetX</td> <td>float</td> <td>控件偏移位置X(相对于父控件(签批控件的ComponentX))</td> </tr> <tr> <td>ComponentOffsetY</td> <td>float</td> <td>控件偏移位置Y 相对于父控件(签批控件的ComponentY))</td> </tr> <tr> <td>ComponentWidth</td> <td>float</td> <td>控件宽</td> </tr> <tr> <td>ComponentHeight</td> <td>float</td> <td>控件高</td> </tr> <tr> <td>ComponentExtra</td> <td>string</td> <td>控件的附属信息,根据ComponentType设置</td> </tr> </tbody> </table><b>参数样例</b>:<pre>{ "ChildrenComponents": [ { "ComponentType": "SIGN_SIGNATURE", "ComponentName": "个人签名", "Placeholder": "请签名", "ComponentOffsetX": 10, "ComponentOffsetY": 30, "ComponentWidth": 119, "ComponentHeight": 43, "ComponentExtra": "{\"ComponentTypeLimit\":[\"SYSTEM_ESIGN\"]}" }, { "ComponentType": "SIGN_SELECTOR", "ComponentName": "是否同意此协议", "Placeholder": "", "ComponentOffsetX": 50, "ComponentOffsetY": 130, "ComponentWidth": 120, "ComponentHeight": 43, "ComponentExtra": "{\"Values\":[\"同意\",\"不同意\",\"再想想\"],\"FontSize\":12,\"FontAlign\":\"Left\",\"Font\":\"黑体\",\"MultiSelect\":false}" }, { "ComponentType": "SIGN_MULTI_LINE_TEXT", "ComponentName": "批注附言", "Placeholder": "", "ComponentOffsetX": 150, "ComponentOffsetY": 300, "ComponentWidth": 200, "ComponentHeight": 86, "ComponentExtra": "" } ]}</pre></ul>
|
|
12618
12618
|
:type ComponentExtra: str
|
|
12619
12619
|
:param _ComponentValue: <p>控件填充vaule,ComponentType和传入值类型对应关系:</p><ul><li> <b>TEXT</b> : 文本内容</li><li> <b>MULTI_LINE_TEXT</b> : 文本内容, 可以用 \n 来控制换行位置</li><li> <b>CHECK_BOX</b> : true/false</li><li> <b>FILL_IMAGE、ATTACHMENT</b> : 附件的FileId,需要通过UploadFiles接口上传获取</li><li> <b>SELECTOR</b> : 选项值</li><li> <b>DYNAMIC_TABLE</b> - 传入json格式的表格内容,详见说明:[数据表格](https://qian.tencent.com/developers/company/dynamic_table)</li><li> <b>DATE</b> : 格式化:xxxx年xx月xx日(例如:2024年05月28日)</li><li> <b>SIGN_SEAL</b> : 印章ID,于控制台查询获取,[点击查看在控制上的位置](https://qcloudimg.tencent-cloud.cn/raw/cd403a5b949fce197fd9e88bb6db1517.png)</li><li> <b>SIGN_PAGING_SEAL</b> : 可以指定印章ID,于控制台查询获取,[点击查看在控制上的位置](https://qcloudimg.tencent-cloud.cn/raw/cd403a5b949fce197fd9e88bb6db1517.png)</li></ul><p><b>控件值约束说明</b>:</p><table> <thead> <tr> <th>特殊控件</th> <th>填写约束</th> </tr> </thead> <tbody> <tr> <td>企业全称控件</td> <td>企业名称中文字符中文括号</td> </tr> <tr> <td>统一社会信用代码控件</td> <td>企业注册的统一社会信用代码</td> </tr> <tr> <td>法人名称控件</td> <td>最大50个字符,2到25个汉字或者1到50个字母</td> </tr> <tr> <td>签署意见控件</td> <td>签署意见最大长度为50字符</td> </tr> <tr> <td>签署人手机号控件</td> <td>国内手机号 13,14,15,16,17,18,19号段长度11位</td> </tr> <tr> <td>签署人身份证控件</td> <td>合法的身份证号码检查</td> </tr> <tr> <td>控件名称</td> <td>控件名称最大长度为20字符,不支持表情</td> </tr> <tr> <td>单行文本控件</td> <td>只允许输入中文,英文,数字,中英文标点符号,不支持表情</td> </tr> <tr> <td>多行文本控件</td> <td>只允许输入中文,英文,数字,中英文标点符号,不支持表情</td> </tr> <tr> <td>勾选框控件</td> <td>选择填字符串true,不选填字符串false</td> </tr> <tr> <td>选择器控件</td> <td>同单行文本控件约束,填写选择值中的字符串</td> </tr> <tr> <td>数字控件</td> <td>请输入有效的数字(可带小数点)</td> </tr> <tr> <td>日期控件</td> <td>格式:yyyy年mm月dd日</td> </tr> <tr> <td>附件控件</td> <td>JPG或PNG图片,上传数量限制,1到6个,最大6个附件,填写上传的资源ID</td> </tr> <tr> <td>图片控件</td> <td>JPG或PNG图片,填写上传的图片资源ID</td> </tr> <tr> <td>邮箱控件</td> <td>有效的邮箱地址, w3c标准</td> </tr> <tr> <td>地址控件</td> <td>只允许输入中文,英文,数字,中英文标点符号,不支持表情</td> </tr> <tr> <td>省市区控件</td> <td>只允许输入中文,英文,数字,中英文标点符号,不支持表情</td> </tr> <tr> <td>性别控件</td> <td>选择值中的字符串</td> </tr> <tr> <td>学历控件</td> <td>选择值中的字符串</td> </tr><tr> <td>水印控件</td> <td>水印控件设置为CUSTOM_WATERMARK类型时的水印内容</td> </tr> </tbody> </table>注: <code>部分特殊控件需要在控制台配置模板形式创建</code>
|
|
12620
12620
|
:type ComponentValue: str
|
|
@@ -12807,7 +12807,7 @@ class Component(AbstractModel):
|
|
|
12807
12807
|
|
|
12808
12808
|
@property
|
|
12809
12809
|
def ComponentExtra(self):
|
|
12810
|
-
r"""<p><strong>在所有的定位方式下</strong>,控件的扩展参数,为<font color="red">JSON格式</font>,不同类型的控件会有部分非通用参数。</p><p><font color="red">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li><li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li><li> <b>Bold</b>是否加粗:true/false</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12,"Bold":false}</code><p><font color="red">ComponentType为DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12}</code><p><font color="red">ComponentType为WATERMARK时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>Opacity</b>: 透明度,范围0 :1</li><li> <b>Rotate</b>: 水印旋转角度,范围0 :359</li><li> <b>Density</b>: 水印样式,1-宽松,2-标准(默认值),3-密集,</li><li> <b>Position</b>: 水印位置,None-平铺(默认值),LeftTop-左上,LeftBottom-左下,RightTop-右上,RightBottom-右下,Center-居中</li><li> <b>SubType</b>: 水印类型:CUSTOM_WATERMARK-自定义内容,PERSON_INFO_WATERMARK-访问者信息</li></ul><b>参数样例</b>:<code>"{\"Font\":\"黑体\",\"FontSize\":20,\"Opacity\":0.1,\"Density\":2,\"SubType\":\"PERSON_INFO_WATERMARK\"}"</code><p><font color="red">ComponentType为FILL_IMAGE时</font>,支持以下参数:</p><ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li><li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul><p><font color="red">ComponentType为SELECTOR时</font>,支持以下参数:</p><ul><li> <b>WordWrap</b>:bool。是否支持选择控件内容自动折行合成。false:不支持(默认)。 true : 支持自动折行合成</li></ul><p><font color="red">ComponentType为SIGN_SIGNATURE、SIGN_PAGING_SIGNATURE类型时</font>,可以<strong>ComponentTypeLimit</strong>参数控制签署方式</p><ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li><li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li><li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li><li> <b>ESIGN</b> : 个人印章类型</li><li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li><li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul><b>参考样例</b>:<code>{"ComponentTypeLimit": ["SYSTEM_ESIGN"]}</code>印章的对应关系参考下图<br><br><font color="red">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型<ul><li> <b>OFFICIAL</b> : 企业公章</li><li> <b>CONTRACT</b> : 合同专用章</li><li> <b>FINANCE</b> : 财务专用章</li><li> <b>PERSONNEL</b> : 人事专用章</li><li> <b>OTHER</b> : 其他</li></ul><b>参考样例</b>:<code>{\"ComponentTypeLimit\":[\"PERSONNEL\",\"FINANCE\"]}</code> 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br><p><font color="red">ComponentType为SIGN_DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b> :字符串类型目前只支持"黑体"、"宋体"、仿宋,如果不填默认为"黑体"</li><li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li><li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li><li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li><li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)<b>参数样例</b>: <code>"{"Format":"yyyy m d","FontSize":12,"Gaps":"2,2", "FontAlign":"Right"}"</code><p><font color="red">ComponentType为SIGN_SEAL、SIGN_SIGNATURE类型时</font>,支持以下参数:</p><ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul><b>参数样例</b>:<code>"{"PageRanges":[{"BeginPage":1,"EndPage":-1}]}"</code><p><font color="red">签署印章旋转功能,当ComponentType为SIGN_SIGNATURE、SIGN_DATE、SIGN_SEAL时</font>,可以通过以下参数设置签署图片的旋转角度:</p><ul><li> <b>Rotate</b>:旋转角度,支持范围:-360:360,为正整数时,为顺时针旋转;为负整数时,为逆时针旋转。</li><li> <b>RotateRelation</b>:旋转关联控件,用于指定关联旋转的控件。例如:让印章控件和签署日期控件按照印章控件为中心旋转(此时,设置印章控件的RotateRelation为日期控件的ComponentId,设置日期签署控件的RotateRelation为印章控件的ComponentId)。</li></ul><b>参数样例</b>:<code>{"Rotate":-30,"RotateRelation":"Component_Id1"}</code><p><font color="red">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:</p><ul><li> <b>Opacity</b>:印章透明度,支持范围:0-1,0.7表示70%的透明度,1表示无透明度</li></ul><b>参数样例</b>:<code>{"Opacity":0.7}</code><p><font color="red">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:</p><ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul><b>参数样例</b>:<code>{"UseSealSize":true}</code><p><font color="red">签署意见功能设置,</font>当ComponentType为SIGN_OPINION时,可以通过以下参数设置签署意见的相关内容:</p><ul><li> <b>Values</b>:签署意见预设的需要用户填写的文本</li><li> <b>ValuesArray</b>:签署意见需要用户按顺序点击的分词(组合后应和Values内容一致)</li></ul><b>参数样例</b>:<code>{"Values":"我已知晓内容并同意签署","ValuesArray":["我","已知晓","内容","并","同意","签署"]}</code><p><font color="red">关键字模式下支持关键字找不到的情况下不进行报错的设置</font></p><ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置"IgnoreKeywordError"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。<b>参数样例</b>:<code>"{"IgnoreKeywordError":1}"</code><p><font color="red">ComponentType为SIGN_VIRTUAL_COMBINATION或者VIRTUAL_COMBINATION时</font>,支持以下参数:</p><ul><li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li><b>参数样例</b>:<br><code>{"Children":["ComponentId_29","ComponentId_27","ComponentId_28","ComponentId_30"]}</code><li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>ChildrenComponent结构体定义:<table border="1"> <thead> <tr> <th>字段名称</th> <th>类型</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>ComponentType</td> <td>string</td> <td>子控件类型-可选值:SIGN_SIGNATURE,SIGN_DATE,SIGN_SELECTOR,SIGN_MULTI_LINE_TEXT</td> </tr> <tr> <td>ComponentName</td> <td>string</td> <td>子控件名称</td> </tr> <tr> <td>Placeholder</td> <td>string</td> <td>子控件提示语</td></tr><tr> <td>ComponentValue</td> <td>string</td> <td>子控件值(签署方不可设置)</td> </tr> <tr> <td>ComponentOffsetX</td> <td>float</td> <td>控件偏移位置X(相对于父控件(签批控件的ComponentX))</td> </tr> <tr> <td>ComponentOffsetY</td> <td>float</td> <td>控件偏移位置Y 相对于父控件(签批控件的ComponentY))</td> </tr> <tr> <td>ComponentWidth</td> <td>float</td> <td>控件宽</td> </tr> <tr> <td>ComponentHeight</td> <td>float</td> <td>控件高</td> </tr> <tr> <td>ComponentExtra</td> <td>string</td> <td>控件的附属信息,根据ComponentType设置</td> </tr> </tbody> </table><b>参数样例</b>:<pre>{ "ChildrenComponents": [ { "ComponentType": "SIGN_SIGNATURE", "ComponentName": "个人签名", "Placeholder": "请签名", "ComponentOffsetX": 10, "ComponentOffsetY": 30, "ComponentWidth": 119, "ComponentHeight": 43, "ComponentExtra": "{\"ComponentTypeLimit\":[\"SYSTEM_ESIGN\"]}" }, { "ComponentType": "SIGN_SELECTOR", "ComponentName": "是否同意此协议", "Placeholder": "", "ComponentOffsetX": 50, "ComponentOffsetY": 130, "ComponentWidth": 120, "ComponentHeight": 43, "ComponentExtra": "{\"Values\":[\"同意\",\"不同意\",\"再想想\"],\"FontSize\":12,\"FontAlign\":\"Left\",\"Font\":\"黑体\",\"MultiSelect\":false}" }, { "ComponentType": "SIGN_MULTI_LINE_TEXT", "ComponentName": "批注附言", "Placeholder": "", "ComponentOffsetX": 150, "ComponentOffsetY": 300, "ComponentWidth": 200, "ComponentHeight": 86, "ComponentExtra": "" } ]}</pre></ul>
|
|
12810
|
+
r"""<p><strong>在所有的定位方式下</strong>,控件的扩展参数,为<font color="red">JSON格式</font>,不同类型的控件会有部分非通用参数。</p><p><font color="red">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li><li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li><li> <b>Bold</b>是否加粗:true/false</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12,"Bold":false}</code><p><font color="red">ComponentType为DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li></ul><b>参数样例</b>:<code>{"FontColor":"255,0,0","FontSize":12}</code><p><font color="red">ComponentType为WATERMARK时</font>,支持以下参数:</p><ul><li> <b>Font</b>:目前只支持黑体、宋体、仿宋</li><li> <b>FontSize</b>: 范围6 :72</li><li> <b>Opacity</b>: 透明度,范围0 :1</li><li> <b>Rotate</b>: 水印旋转角度,范围0 :359</li><li> <b>Density</b>: 水印样式,1-宽松,2-标准(默认值),3-密集,</li><li> <b>Position</b>: 水印位置,None-平铺(默认值),LeftTop-左上,LeftBottom-左下,RightTop-右上,RightBottom-右下,Center-居中</li><li> <b>SubType</b>: 水印类型:CUSTOM_WATERMARK-自定义内容,PERSON_INFO_WATERMARK-访问者信息</li></ul><b>参数样例</b>:<code>"{\"Font\":\"黑体\",\"FontSize\":20,\"Opacity\":0.1,\"Density\":2,\"SubType\":\"PERSON_INFO_WATERMARK\"}"</code><p><font color="red">ComponentType为FILL_IMAGE时</font>,支持以下参数:</p><ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li><li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul><p><font color="red">ComponentType为SELECTOR时</font>,支持以下参数:</p><ul><li> <b>WordWrap</b>:bool。是否支持选择控件内容自动折行合成。false:不支持(默认)。 true : 支持自动折行合成</li></ul><p><font color="red">ComponentType为SIGN_SIGNATURE、SIGN_PAGING_SIGNATURE类型时</font>,可以<strong>ComponentTypeLimit</strong>参数控制签署方式</p><ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li><li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li><li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li><li> <b>ESIGN</b> : 个人印章类型</li><li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li><li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul><b>参考样例</b>:<code>{"ComponentTypeLimit": ["SYSTEM_ESIGN"]}</code>印章的对应关系参考下图<br><br><font color="red">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型<ul><li> <b>OFFICIAL</b> : 企业公章</li><li> <b>CONTRACT</b> : 合同专用章</li><li> <b>FINANCE</b> : 财务专用章</li><li> <b>PERSONNEL</b> : 人事专用章</li><li> <b>OTHER</b> : 其他</li></ul><b>参考样例</b>:<code>{\"ComponentTypeLimit\":[\"PERSONNEL\",\"FINANCE\"]}</code> 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br><p><font color="red">ComponentType为SIGN_DATE时</font>,支持以下参数:</p><ul><li> <b>Font</b> :字符串类型目前只支持"黑体"、"宋体"、仿宋,如果不填默认为"黑体"</li><li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li><li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li><li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li><li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)<b>参数样例</b>: <code>"{"Format":"yyyy m d","FontSize":12,"Gaps":"2,2", "FontAlign":"Right"}"</code><p><font color="red">ComponentType为SIGN_SEAL、SIGN_SIGNATURE类型时</font>,支持以下参数:</p><ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul><b>参数样例</b>:<code>"{"PageRanges":[{"BeginPage":1,"EndPage":-1}]}"</code><p><font color="red">签署印章旋转功能,当ComponentType为SIGN_SIGNATURE、SIGN_DATE、SIGN_SEAL时</font>,可以通过以下参数设置签署图片的旋转角度:</p><ul><li> <b>Rotate</b>:旋转角度,支持范围:-360:360,为正整数时,为顺时针旋转;为负整数时,为逆时针旋转。</li><li> <b>RotateRelation</b>:旋转关联控件,用于指定关联旋转的控件。例如:让印章控件和签署日期控件按照印章控件为中心旋转(此时,设置印章控件的RotateRelation为日期控件的ComponentId,设置日期签署控件的RotateRelation为印章控件的ComponentId)。</li></ul><b>参数样例</b>:<code>{"Rotate":-30,"RotateRelation":"Component_Id1"}</code><p><font color="red">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:</p><ul><li> <b>Opacity</b>:印章透明度,支持范围:0.6-1,0.7表示70%的透明度,1表示无透明度</li></ul><b>参数样例</b>:<code>{"Opacity":0.7}</code><p><font color="red">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:</p><ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul><b>参数样例</b>:<code>{"UseSealSize":true}</code><p><font color="red">签署意见功能设置,</font>当ComponentType为SIGN_OPINION时,可以通过以下参数设置签署意见的相关内容:</p><ul><li> <b>Values</b>:签署意见预设的需要用户填写的文本</li><li> <b>ValuesArray</b>:签署意见需要用户按顺序点击的分词(组合后应和Values内容一致)</li></ul><b>参数样例</b>:<code>{"Values":"我已知晓内容并同意签署","ValuesArray":["我","已知晓","内容","并","同意","签署"]}</code><p><font color="red">关键字模式下支持关键字找不到的情况下不进行报错的设置</font></p><ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置"IgnoreKeywordError"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。<b>参数样例</b>:<code>"{"IgnoreKeywordError":1}"</code><p><font color="red">ComponentType为SIGN_VIRTUAL_COMBINATION或者VIRTUAL_COMBINATION时</font>,支持以下参数:</p><ul><li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li><b>参数样例</b>:<br><code>{"Children":["ComponentId_29","ComponentId_27","ComponentId_28","ComponentId_30"]}</code><li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>ChildrenComponent结构体定义:<table border="1"> <thead> <tr> <th>字段名称</th> <th>类型</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>ComponentType</td> <td>string</td> <td>子控件类型-可选值:SIGN_SIGNATURE,SIGN_DATE,SIGN_SELECTOR,SIGN_MULTI_LINE_TEXT</td> </tr> <tr> <td>ComponentName</td> <td>string</td> <td>子控件名称</td> </tr> <tr> <td>Placeholder</td> <td>string</td> <td>子控件提示语</td></tr><tr> <td>ComponentValue</td> <td>string</td> <td>子控件值(签署方不可设置)</td> </tr> <tr> <td>ComponentOffsetX</td> <td>float</td> <td>控件偏移位置X(相对于父控件(签批控件的ComponentX))</td> </tr> <tr> <td>ComponentOffsetY</td> <td>float</td> <td>控件偏移位置Y 相对于父控件(签批控件的ComponentY))</td> </tr> <tr> <td>ComponentWidth</td> <td>float</td> <td>控件宽</td> </tr> <tr> <td>ComponentHeight</td> <td>float</td> <td>控件高</td> </tr> <tr> <td>ComponentExtra</td> <td>string</td> <td>控件的附属信息,根据ComponentType设置</td> </tr> </tbody> </table><b>参数样例</b>:<pre>{ "ChildrenComponents": [ { "ComponentType": "SIGN_SIGNATURE", "ComponentName": "个人签名", "Placeholder": "请签名", "ComponentOffsetX": 10, "ComponentOffsetY": 30, "ComponentWidth": 119, "ComponentHeight": 43, "ComponentExtra": "{\"ComponentTypeLimit\":[\"SYSTEM_ESIGN\"]}" }, { "ComponentType": "SIGN_SELECTOR", "ComponentName": "是否同意此协议", "Placeholder": "", "ComponentOffsetX": 50, "ComponentOffsetY": 130, "ComponentWidth": 120, "ComponentHeight": 43, "ComponentExtra": "{\"Values\":[\"同意\",\"不同意\",\"再想想\"],\"FontSize\":12,\"FontAlign\":\"Left\",\"Font\":\"黑体\",\"MultiSelect\":false}" }, { "ComponentType": "SIGN_MULTI_LINE_TEXT", "ComponentName": "批注附言", "Placeholder": "", "ComponentOffsetX": 150, "ComponentOffsetY": 300, "ComponentWidth": 200, "ComponentHeight": 86, "ComponentExtra": "" } ]}</pre></ul>
|
|
12811
12811
|
:rtype: str
|
|
12812
12812
|
"""
|
|
12813
12813
|
return self._ComponentExtra
|
|
@@ -17355,6 +17355,175 @@ class CreatePersonAuthCertificateImageResponse(AbstractModel):
|
|
|
17355
17355
|
self._RequestId = params.get("RequestId")
|
|
17356
17356
|
|
|
17357
17357
|
|
|
17358
|
+
class CreateRequestWithEncryptionRequest(AbstractModel):
|
|
17359
|
+
r"""CreateRequestWithEncryption请求参数结构体
|
|
17360
|
+
|
|
17361
|
+
"""
|
|
17362
|
+
|
|
17363
|
+
def __init__(self):
|
|
17364
|
+
r"""
|
|
17365
|
+
:param _RequestAction: <p>操作的接口名称。取值参考接口文档输入参数章节关于公共参数 Action 的说明。</p>
|
|
17366
|
+
:type RequestAction: str
|
|
17367
|
+
:param _ApplicationId: <p>第三方应用的唯一标识,对应通用参数 Agent.AppId。</p>
|
|
17368
|
+
:type ApplicationId: str
|
|
17369
|
+
:param _IV: <p>加密算法使用的初始化向量。固定为 16 字节,将 IV 原始字节使用标准 Base64 编码后传入。</p>
|
|
17370
|
+
:type IV: str
|
|
17371
|
+
:param _EncryptedData: <p>使用 AES-CBC 或 SM4-CBC 加密请求内容得到的密文。加密前请求内容采用 PKCS#7 Padding;将密文原始字节使用标准 Base64 编码后传入。</p>
|
|
17372
|
+
:type EncryptedData: str
|
|
17373
|
+
:param _EncryptionSignature: <p>用于校验请求数据完整性。对 IV 原始字节和密文原始字节直接拼接(不加拼接符)后计算 HMAC-SHA256,再将计算结果使用标准 Base64 编码后传入。</p>
|
|
17374
|
+
:type EncryptionSignature: str
|
|
17375
|
+
"""
|
|
17376
|
+
self._RequestAction = None
|
|
17377
|
+
self._ApplicationId = None
|
|
17378
|
+
self._IV = None
|
|
17379
|
+
self._EncryptedData = None
|
|
17380
|
+
self._EncryptionSignature = None
|
|
17381
|
+
|
|
17382
|
+
@property
|
|
17383
|
+
def RequestAction(self):
|
|
17384
|
+
r"""<p>操作的接口名称。取值参考接口文档输入参数章节关于公共参数 Action 的说明。</p>
|
|
17385
|
+
:rtype: str
|
|
17386
|
+
"""
|
|
17387
|
+
return self._RequestAction
|
|
17388
|
+
|
|
17389
|
+
@RequestAction.setter
|
|
17390
|
+
def RequestAction(self, RequestAction):
|
|
17391
|
+
self._RequestAction = RequestAction
|
|
17392
|
+
|
|
17393
|
+
@property
|
|
17394
|
+
def ApplicationId(self):
|
|
17395
|
+
r"""<p>第三方应用的唯一标识,对应通用参数 Agent.AppId。</p>
|
|
17396
|
+
:rtype: str
|
|
17397
|
+
"""
|
|
17398
|
+
return self._ApplicationId
|
|
17399
|
+
|
|
17400
|
+
@ApplicationId.setter
|
|
17401
|
+
def ApplicationId(self, ApplicationId):
|
|
17402
|
+
self._ApplicationId = ApplicationId
|
|
17403
|
+
|
|
17404
|
+
@property
|
|
17405
|
+
def IV(self):
|
|
17406
|
+
r"""<p>加密算法使用的初始化向量。固定为 16 字节,将 IV 原始字节使用标准 Base64 编码后传入。</p>
|
|
17407
|
+
:rtype: str
|
|
17408
|
+
"""
|
|
17409
|
+
return self._IV
|
|
17410
|
+
|
|
17411
|
+
@IV.setter
|
|
17412
|
+
def IV(self, IV):
|
|
17413
|
+
self._IV = IV
|
|
17414
|
+
|
|
17415
|
+
@property
|
|
17416
|
+
def EncryptedData(self):
|
|
17417
|
+
r"""<p>使用 AES-CBC 或 SM4-CBC 加密请求内容得到的密文。加密前请求内容采用 PKCS#7 Padding;将密文原始字节使用标准 Base64 编码后传入。</p>
|
|
17418
|
+
:rtype: str
|
|
17419
|
+
"""
|
|
17420
|
+
return self._EncryptedData
|
|
17421
|
+
|
|
17422
|
+
@EncryptedData.setter
|
|
17423
|
+
def EncryptedData(self, EncryptedData):
|
|
17424
|
+
self._EncryptedData = EncryptedData
|
|
17425
|
+
|
|
17426
|
+
@property
|
|
17427
|
+
def EncryptionSignature(self):
|
|
17428
|
+
r"""<p>用于校验请求数据完整性。对 IV 原始字节和密文原始字节直接拼接(不加拼接符)后计算 HMAC-SHA256,再将计算结果使用标准 Base64 编码后传入。</p>
|
|
17429
|
+
:rtype: str
|
|
17430
|
+
"""
|
|
17431
|
+
return self._EncryptionSignature
|
|
17432
|
+
|
|
17433
|
+
@EncryptionSignature.setter
|
|
17434
|
+
def EncryptionSignature(self, EncryptionSignature):
|
|
17435
|
+
self._EncryptionSignature = EncryptionSignature
|
|
17436
|
+
|
|
17437
|
+
|
|
17438
|
+
def _deserialize(self, params):
|
|
17439
|
+
self._RequestAction = params.get("RequestAction")
|
|
17440
|
+
self._ApplicationId = params.get("ApplicationId")
|
|
17441
|
+
self._IV = params.get("IV")
|
|
17442
|
+
self._EncryptedData = params.get("EncryptedData")
|
|
17443
|
+
self._EncryptionSignature = params.get("EncryptionSignature")
|
|
17444
|
+
memeber_set = set(params.keys())
|
|
17445
|
+
for name, value in vars(self).items():
|
|
17446
|
+
property_name = name[1:]
|
|
17447
|
+
if property_name in memeber_set:
|
|
17448
|
+
memeber_set.remove(property_name)
|
|
17449
|
+
if len(memeber_set) > 0:
|
|
17450
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
17451
|
+
|
|
17452
|
+
|
|
17453
|
+
|
|
17454
|
+
class CreateRequestWithEncryptionResponse(AbstractModel):
|
|
17455
|
+
r"""CreateRequestWithEncryption返回参数结构体
|
|
17456
|
+
|
|
17457
|
+
"""
|
|
17458
|
+
|
|
17459
|
+
def __init__(self):
|
|
17460
|
+
r"""
|
|
17461
|
+
:param _IV: <p>加密算法使用的初始化向量。固定为 16 字节,将 IV 原始字节使用标准 Base64 编码后传入。</p>
|
|
17462
|
+
:type IV: str
|
|
17463
|
+
:param _EncryptedData: <p>使用 AES-CBC 或 SM4-CBC 加密返回内容得到的密文。加密前返回内容采用 PKCS#7 Padding;将密文原始字节使用标准 Base64 编码后传入。</p>
|
|
17464
|
+
:type EncryptedData: str
|
|
17465
|
+
:param _EncryptionSignature: <p>用于校验请求数据完整性。对 IV 原始字节和密文原始字节直接拼接(不加拼接符)后计算 HMAC-SHA256,再将计算结果使用标准 Base64 编码后传入。</p>
|
|
17466
|
+
:type EncryptionSignature: str
|
|
17467
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
17468
|
+
:type RequestId: str
|
|
17469
|
+
"""
|
|
17470
|
+
self._IV = None
|
|
17471
|
+
self._EncryptedData = None
|
|
17472
|
+
self._EncryptionSignature = None
|
|
17473
|
+
self._RequestId = None
|
|
17474
|
+
|
|
17475
|
+
@property
|
|
17476
|
+
def IV(self):
|
|
17477
|
+
r"""<p>加密算法使用的初始化向量。固定为 16 字节,将 IV 原始字节使用标准 Base64 编码后传入。</p>
|
|
17478
|
+
:rtype: str
|
|
17479
|
+
"""
|
|
17480
|
+
return self._IV
|
|
17481
|
+
|
|
17482
|
+
@IV.setter
|
|
17483
|
+
def IV(self, IV):
|
|
17484
|
+
self._IV = IV
|
|
17485
|
+
|
|
17486
|
+
@property
|
|
17487
|
+
def EncryptedData(self):
|
|
17488
|
+
r"""<p>使用 AES-CBC 或 SM4-CBC 加密返回内容得到的密文。加密前返回内容采用 PKCS#7 Padding;将密文原始字节使用标准 Base64 编码后传入。</p>
|
|
17489
|
+
:rtype: str
|
|
17490
|
+
"""
|
|
17491
|
+
return self._EncryptedData
|
|
17492
|
+
|
|
17493
|
+
@EncryptedData.setter
|
|
17494
|
+
def EncryptedData(self, EncryptedData):
|
|
17495
|
+
self._EncryptedData = EncryptedData
|
|
17496
|
+
|
|
17497
|
+
@property
|
|
17498
|
+
def EncryptionSignature(self):
|
|
17499
|
+
r"""<p>用于校验请求数据完整性。对 IV 原始字节和密文原始字节直接拼接(不加拼接符)后计算 HMAC-SHA256,再将计算结果使用标准 Base64 编码后传入。</p>
|
|
17500
|
+
:rtype: str
|
|
17501
|
+
"""
|
|
17502
|
+
return self._EncryptionSignature
|
|
17503
|
+
|
|
17504
|
+
@EncryptionSignature.setter
|
|
17505
|
+
def EncryptionSignature(self, EncryptionSignature):
|
|
17506
|
+
self._EncryptionSignature = EncryptionSignature
|
|
17507
|
+
|
|
17508
|
+
@property
|
|
17509
|
+
def RequestId(self):
|
|
17510
|
+
r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
17511
|
+
:rtype: str
|
|
17512
|
+
"""
|
|
17513
|
+
return self._RequestId
|
|
17514
|
+
|
|
17515
|
+
@RequestId.setter
|
|
17516
|
+
def RequestId(self, RequestId):
|
|
17517
|
+
self._RequestId = RequestId
|
|
17518
|
+
|
|
17519
|
+
|
|
17520
|
+
def _deserialize(self, params):
|
|
17521
|
+
self._IV = params.get("IV")
|
|
17522
|
+
self._EncryptedData = params.get("EncryptedData")
|
|
17523
|
+
self._EncryptionSignature = params.get("EncryptionSignature")
|
|
17524
|
+
self._RequestId = params.get("RequestId")
|
|
17525
|
+
|
|
17526
|
+
|
|
17358
17527
|
class CreateResultPageConfig(AbstractModel):
|
|
17359
17528
|
r"""发起流程的可嵌入页面操作结果页配置
|
|
17360
17529
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-essbasic
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.166
|
|
4
4
|
Summary: Tencent Cloud Essbasic SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.166
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
tencentcloud_sdk_python_essbasic-3.1.166/tencentcloud_sdk_python_essbasic.egg-info/requires.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tencentcloud-sdk-python-common<4.0.0,>=3.1.166
|
tencentcloud_sdk_python_essbasic-3.1.160/tencentcloud_sdk_python_essbasic.egg-info/requires.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tencentcloud-sdk-python-common<4.0.0,>=3.1.160
|
{tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/README.rst
RENAMED
|
File without changes
|
{tencentcloud_sdk_python_essbasic-3.1.160 → tencentcloud_sdk_python_essbasic-3.1.166}/setup.cfg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|