-
Notifications
You must be signed in to change notification settings - Fork 96
/
ess_client.js
1238 lines (1070 loc) · 72.6 KB
/
ess_client.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Client = void 0;
/* eslint-disable @typescript-eslint/no-unused-vars */
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const abstract_client_1 = require("../../../common/abstract_client");
/**
* ess client
* @class
*/
class Client extends abstract_client_1.AbstractClient {
constructor(clientConfig) {
super("ess.tencentcloudapi.com", "2020-11-11", clientConfig);
}
/**
* 此接口用于启动流程。它是模板发起合同的最后一步。
在[创建签署流程](https://qian.tencent.com/developers/companyApis/startFlows/CreateFlow)和[创建电子文档](https://qian.tencent.com/developers/companyApis/startFlows/CreateDocument)之后,用于开始整个合同流程, 推进流程进入到签署环节。
![image](https://qcloudimg.tencent-cloud.cn/raw/06f2bc0f1772d8deac2f92b5df61a5ac.png)
注:
1.<font color="red">合同发起后就会扣减合同的额度</font>, 只有撤销没有参与方签署过或只有自动签署签署过的合同,才会返还合同额度。(过期,拒签,签署完成,解除完成等状态不会返还额度)
2.<font color="red">静默(自动)签署不支持非本企业合同签署方存在填写</font>功能
3.<font color="red">在发起签署流程之前,建议等待 [PDF合成完成的回调](https://qian.tencent.com/developers/company/callback_types_file_resources)</font>,尤其是当模板中存在动态表格等复杂填写控件时,因为合成过程可能会耗费秒级别的时间。
*/
async StartFlow(req, cb) {
return this.request("StartFlow", req, cb);
}
/**
* 此接口(DescribeFlowTemplates)用于查询本企业模板列表信息。
**适用场景**
该接口常用来配合<a href="https://qian.tencent.com/developers/companyApis/startFlows/CreateDocument" target="_blank">模板发起合同-创建电子文档</a>接口,作为创建电子文档的前置接口使用。
通过此接口查询到模板信息后,再通过调用创建电子文档接口,指定模板ID,指定模板中需要的填写控件内容等,完成电子文档的创建。
**一个模板通常会包含以下结构信息**
- 模板模板ID, 模板名字等基本信息
- 发起方参与信息Promoter、签署参与方 Recipients,后者会在模板发起合同时用于指定参与方
- 发起方和签署方的填写控件 Components
- 签署方的签署控件 SignComponents
![image](https://qcloudimg.tencent-cloud.cn/raw/ab81fa948a0a6fea14f48cac91d0e36a/channel_DescribeTemplates.png)
模板中各元素的层级关系, 所有的填写控件和签署控件都归属某一个角色(通过控件的ComponentRecipientId来关联)
![image](https://qcloudimg.tencent-cloud.cn/raw/45c638bd93f9c8024763add9ab47c27f.png)
*/
async DescribeFlowTemplates(req, cb) {
return this.request("DescribeFlowTemplates", req, cb);
}
/**
* 获取个人用户自动签的开通链接。
注意: `处方单等特殊场景专用,此接口为白名单功能,使用前请联系对接的客户经理沟通。`
*/
async CreateUserAutoSignEnableUrl(req, cb) {
return this.request("CreateUserAutoSignEnableUrl", req, cb);
}
/**
* 提交合同组签署流程审批结果的适用场景包括:
1. 在使用[通过多文件创建合同组签署流程](https://qian.tencent.com/developers/companyApis/startFlows/CreateFlowGroupByFiles)或[通过多模板创建合同组签署流程](https://qian.tencent.com/developers/companyApis/startFlows/CreateFlowGroupByTemplates)创建合同组签署流程时,若指定了以下参数 为true,则可以调用此接口提交企业内部签署审批结果。即使是自动签署也需要进行审核通过才会进行签署。
- [FlowGroupInfo.NeedSignReview](https://qian.tencent.com/developers/companyApis/dataTypes/#flowgroupinfo)
- [ApproverInfo.ApproverNeedSignReview](https://qian.tencent.com/developers/companyApis/dataTypes/#approverinfo)
2. 同一合同组,同一签署人可以多次提交签署审批结果,签署时的最后一个“审批结果”有效。
*/
async CreateFlowGroupSignReview(req, cb) {
return this.request("CreateFlowGroupSignReview", req, cb);
}
/**
* 客户可以主动调用生成实名链接去做C端用户实名,会对实名的用户进行打标记为调用链接客户的用户
使用场景:
用户集成场景
使用限制:
此接口需要购买单独的实名套餐包方可调用,如有需求请联系对接人员评估
*/
async CreateUserVerifyUrl(req, cb) {
return this.request("CreateUserVerifyUrl", req, cb);
}
/**
* 本接口(CreateEmbedWebUrl)用于创建嵌入Web的链接,支持以下类型的Web链接创建:
1. 创建印章
2. 创建模板
3. 修改模板
4. 预览模板
5. 预览合同流程
用户可以通过这些链接快速将其集成到自己的系统中。
*/
async CreateEmbedWebUrl(req, cb) {
return this.request("CreateEmbedWebUrl", req, cb);
}
/**
* 此接口用于获取企业批量认证异步任务的状态及结果。
前提条件:已调用 CreateBatchOrganizationRegistrationTasks创建企业批量认证链接任务接口,并得到了任务Id。
异步任务的处理完成时间视当前已提交的任务量、任务的复杂程度等因素决定,正常情况下 3~5 秒即可完成,但也可能需要更长的时间
*/
async DescribeBatchOrganizationRegistrationUrls(req, cb) {
return this.request("DescribeBatchOrganizationRegistrationUrls", req, cb);
}
/**
* 本接口(CreatePreparedPersonalEsign)用于创建导入个人印章(处方单场景专用,使用此接口请与客户经理确认)。
*/
async CreatePreparedPersonalEsign(req, cb) {
return this.request("CreatePreparedPersonalEsign", req, cb);
}
/**
* 提交企业流程审批结果
**当前存在两种审核操作:**
<ul>
<li>签署审核
<ul>
<li>在通过接口<ul>
<li>CreateFlowByFiles</li>
<li>CreateFlow</li>
<li>CreateFlowGroupByTemplates</li>
<li>CreateFlowGroupByFiles</li>
<li>CreatePrepareFlow</li>
</ul>
发起签署流程时,通过指定NeedSignReview为true,则可以调用此接口,并指定operate=SignReview,以提交企业内部签署审批结果</li>
<li>在通过接口
<ul>
<li>CreateFlowByFiles</li>
<li>CreateFlow</li>
<li>CreateFlowGroupByTemplates</li>
<li>CreateFlowGroupByFiles</li>
</ul>
发起签署流程时,通过指定签署人ApproverNeedSignReview为true,则可以调用此接口,并指定operate=SignReview,并指定RecipientId,以提交企业内部签署审批结果</li>
</ul>
</li>
<li>发起审核
<ul>
<li>通过接口CreatePrepareFlow指定发起后需要审核,那么可以调用此接口,并指定operate=CreateReview,以提交企业内部审批结果。可以多次提交审批结果,但一旦审批通过,后续提交的结果将无效
</li>
</ul>
</li>
</ul>
*/
async CreateFlowSignReview(req, cb) {
return this.request("CreateFlowSignReview", req, cb);
}
/**
* 创建签署流程电子文档<br />
### 调用流程
该接口需要给对应的流程指定一个模板id,并且填充该模板中需要补充的信息。需要配置<a href="https://qian.tencent.com/developers/companyApis/startFlows/CreateFlow" target="_blank">创建签署流程</a>和<a href="https://qian.tencent.com/developers/companyApis/startFlows/StartFlow" target="_blank">发起签署流程</a>接口使用。具体逻辑可以参考下图:
![image](https://qcloudimg.tencent-cloud.cn/raw/06f2bc0f1772d8deac2f92b5df61a5ac.png)
### 填充模板中定义的填写控件
模板中配置的<font color="red">发起人填充控件</font>可以通过本接口的**FormFields数组**字段填充
![image](https://qcloudimg.tencent-cloud.cn/raw/37457e0e450fc221effddfcb8b1bad55.png)
填充的传参示例如下
```
request.FormFields = [{
"ComponentName": "项目的名字",
"ComponentValue": "休闲山庄"
}, {
"ComponentName": "项目的地址",
"ComponentValue": "凤凰山北侧",
}, {
"ComponentName": "范围",
"ComponentValue": "凤凰山至107国道",
}, {
"ComponentName": "面积",
"ComponentValue": "100亩",
}, {
"ComponentName": "基本情况",
"ComponentValue": "完好",
}, , {
"ComponentName": "用途",
"ComponentValue": "经营农家乐",
}
]
```
合成后合同样子示例
![image](https://qcloudimg.tencent-cloud.cn/raw/140a2fb771ac66a185d0a000d37485f6.png)
*/
async CreateDocument(req, cb) {
return this.request("CreateDocument", req, cb);
}
/**
* 查询企业扩展服务的开通和授权情况,当前支持查询以下内容:
1. **企业自动签署**
2. **批量签署授权**
3. **企业与港澳台居民签署合同**
4. **拓宽签署方年龄限制**
5. **个人签署方仅校验手机号**
6. **隐藏合同经办人姓名**
7. **正楷临摹签名失败后更换其他签名类型**
8. **短信通知签署方**
9. **个人签署方手动签字**
10. **骑缝章**
11. **签署密码开通引导**
对应能力开通页面在Web控制台-更多-企业设置-拓展服务,如下图所示:
![image](https://qcloudimg.tencent-cloud.cn/raw/7d79746ecca1c5fe878a2ec36ed69c23.jpg)
注: <font color='red'>所在企业的超管、法人才有权限调用此接口</font>(Operator.UserId需要传递超管或者法人的UserId)
*/
async DescribeExtendedServiceAuthInfos(req, cb) {
return this.request("DescribeExtendedServiceAuthInfos", req, cb);
}
/**
* 通过此接口获取个人用户自动签的开通状态。
注意: `处方单等特殊场景专用,此接口为白名单功能,使用前请联系对接的客户经理沟通。`
*/
async DescribeUserAutoSignStatus(req, cb) {
return this.request("DescribeUserAutoSignStatus", req, cb);
}
/**
* 此接口(CreateFlowGroupByTemplates)可用于通过多个模板创建合同组签署流程。
适用场景:该接口适用于需要一次性完成多份合同签署的情况,多份合同一般具有关联性,用户以目录的形式查看合同。
注:`合同发起后就会扣减合同的额度, 如果未签署完成时撤销合同会返还此额度(过期,拒签,签署完成,解除完成等状态不会返还额度),合同组中每个合同会扣减一个合同额度`
*/
async CreateFlowGroupByTemplates(req, cb) {
return this.request("CreateFlowGroupByTemplates", req, cb);
}
/**
* 此接口(CreateFlowByFiles)用来通过上传后的pdf资源编号来创建待签署的合同流程。<br/>
适用场景:适用非制式的合同文件签署。一般开发者自己有完整的签署文件,可以通过该接口传入完整的PDF文件及流程信息生成待签署的合同流程。<br/>
<table>
<thead>
<tr>
<th>签署人类别</th>
<th>需要提前准备的信息</th>
</tr>
</thead>
<tbody>
<tr>
<td>自己企业的员工签署(未认证加入或已认证加入)</td>
<td>签署企业的名字、员工的真实名字、员工的触达手机号、员工的证件号(证件号非必传)</td>
</tr>
<tr>
<td>自己企业的员工签署(已认证加入)</td>
<td>签署企业的名字、员工在电子签平台的ID(UserId)</td>
</tr>
<tr>
<td>其他企业的员工签署</td>
<td>签署企业的名字、员工的真实名字、员工的触达手机号、员工的证件号(证件号非必传)</td>
</tr>
<tr>
<td>个人(自然人)签署</td>
<td>个人的真实名字、个人的触达手机号、个人的身份证(证件号非必传)</td>
</tr>
</tbody>
</table>
该接口需要依赖[上传文件](https://qian.tencent.com/developers/companyApis/templatesAndFiles/UploadFiles)接口生成pdf资源编号(FileIds)进行使用。(如果非pdf文件需要调用[创建文件转换任务](https://qian.tencent.com/developers/companyApis/templatesAndFiles/CreateConvertTaskApi)接口转换成pdf资源)<br/>
![image](https://qcloudimg.tencent-cloud.cn/raw/f097a74b289e3e1acd740936bdfe9843.png)
注:
- 合同**发起后就会扣减合同的额度**, 只有撤销没有参与方签署过或只有自动签署签署过的合同,才会返还合同额度。(**过期,拒签,签署完成,解除完成等状态不会返还额度**)
- **静默(自动)签署不支持合同签署方存在填写**功能
<font color="red">相关视频指引</font> <br>
1. <a href="https://dyn.ess.tencent.cn/guide/apivideo/ess_uploadfiles.mp4" target="_blank">上传用于合同发起的PDF文件代码编写示例</a><br>
2. <a href="https://dyn.ess.tencent.cn/guide/apivideo/ess-CreateFlowByFiles.mp4" target="_blank">用PDF文件创建签署流程编写示例</a><br>
*/
async CreateFlowByFiles(req, cb) {
return this.request("CreateFlowByFiles", req, cb);
}
/**
* 此接口(DescribeIntegrationRoles)用于分页查询企业角色列表,列表按照角色创建时间升序排列。
*/
async DescribeIntegrationRoles(req, cb) {
return this.request("DescribeIntegrationRoles", req, cb);
}
/**
* 此接口(DescribeIntegrationEmployees)用于分页查询企业员工信息列表,支持设置过滤条件以筛选员工查询结果。
*/
async DescribeIntegrationEmployees(req, cb) {
return this.request("DescribeIntegrationEmployees", req, cb);
}
/**
* 获取个人用户认证证书图片下载URL
个人用户认证证书图片样式如下图
![image](https://dyn.ess.tencent.cn/guide/capi/CreatePersonAuthCertificateImage.png)
注:
<ul>
<li>只能获取个人用户证明图片, 企业员工的暂不支持</li>
<li>处方单等特殊场景专用,此接口为白名单功能,使用前请联系对接的客户经理沟通。 </li>
</ul>
*/
async CreatePersonAuthCertificateImage(req, cb) {
return this.request("CreatePersonAuthCertificateImage", req, cb);
}
/**
* 此接口用于赋予员工指定的角色权限,如需解绑请使用 DeleteIntegrationRoleUsers 接口。
*/
async CreateIntegrationUserRoles(req, cb) {
return this.request("CreateIntegrationUserRoles", req, cb);
}
/**
* 通过此接口,可以创建小程序批量签署链接,个人/企业员工可通过此链接跳转至小程序进行批量签署。请确保生成链接时的身份信息与签署合同参与方的信息保持一致。
注意事项:
- 使用此接口生成链接,需要贵企业先开通 <font color="red">使用手机号验证签署方身份 </font>功能。您可以在 <b>【腾讯电子签网页端】->【企业设置】->【拓展服务】</b>中找到该功能。
- 生成批量签署链接时,<font color="red">合同目标参与方的状态必须为<b>待签署</b>状态</font>。签署人点击链接后需要输入短信验证码才能查看合同内容。
- 企业员工批量签署链接:需要传入签署方所在企业名称,用户名字和手机号(或者身份证件信息)参数来生成签署链接。<font color="red">该签署方企业必须已完成腾讯电子签企业认证</font>
- 个人批量签署链接:需要传入签署方用户名字和手机号(或者身份证件信息)参数来生成签署链接。个人批量签署进行的合同的签名区, 全部变成<font color="red">手写签名</font>(不管合同里边设置的签名限制)来进行。
*/
async CreateBatchSignUrl(req, cb) {
return this.request("CreateBatchSignUrl", req, cb);
}
/**
* 指定需要批量催办的签署流程ID,批量催办合同,最多100个。需要符合以下条件的合同才可被催办:
1. 发起合同时,**签署人的NotifyType需设置为sms**
2. 合同中当前状态为 **待签署** 的签署人是催办的对象
3. **每个合同只能催办一次**
**催办的效果**: 对方会收到如下的短信通知
![image](https://qcloudimg.tencent-cloud.cn/raw/3caf94b7f540fa5736270d38528d3a7b.png)
注:`合同催办是白名单功能,请联系客户经理申请开白后使用`
*/
async CreateFlowReminds(req, cb) {
return this.request("CreateFlowReminds", req, cb);
}
/**
* 此接口(DescribePersonCertificate)用于查询个人数字证书信息。<br />注:`1.目前仅用于查询开通了医疗自动签署功能的个人数字证书。`<br />`2.调用此接口需要开通白名单,使用前请联系相关人员开通白名单。`
*/
async DescribePersonCertificate(req, cb) {
return this.request("DescribePersonCertificate", req, cb);
}
/**
* 通过此接口可以关闭个人用户自动签功能。
无需对应的用户刷脸等方式同意即可关闭。
注意:
<ul><li>处方单等特殊场景专用,此接口为白名单功能,使用前请联系对接的客户经理沟通。</li>
<li>如果此用户在开通时候绑定过个人自动签账号许可, 关闭此用户的自动签不会归还个人自动签账号许可的额度。</li></ul>
*/
async DisableUserAutoSign(req, cb) {
return this.request("DisableUserAutoSign", req, cb);
}
/**
* 该接口(DeleteIntegrationEmployees)用于离职本企业员工,同时可选择是否进行离职交接。
- 如果该员工没有未处理的合同,可不设置交接人的ReceiveUserId或ReceiveOpenId进行离职操作。
- 如果该员工有未处理的合同,需要设置ReceiveUserId或ReceiveOpenId表示交接的负责人,交接后员工会进行离职操作。
未处理的合同包括以下:
- 待签署的合同(包括顺序签署还没有轮到的合同,此类合同某些情况可能不会出现在用户的列表中)。
- 待填写的合同。
- 待解除的合同等。
注:
1. <font color="red">超管或法人身份的员工不能被离职</font>, 需要在控制台或小程序更换法人和超管后进行离职删除。
2. <font color="red">员工存在待处理合同时必须交接</font>后才能离职无人交接时不能被离职删除。
3. 未实名的员工可以直接离职,不用交接合同
*/
async DeleteIntegrationEmployees(req, cb) {
return this.request("DeleteIntegrationEmployees", req, cb);
}
/**
* 获取设置自动签印章小程序链接。
注意:
<ul><li>需要<code>企业开通自动签</code>后使用。</li>
<li>仅支持<code>已经开通了自动签的个人</code>更换自动签印章。</li>
<li>链接有效期默认7天,<code>最多30天</code>。</li>
<li>该接口的链接适用于<code>小程序</code>端。</li>
<li>该接口不会扣除您的合同套餐,暂不参与计费。</li></ul>
*/
async CreateUserAutoSignSealUrl(req, cb) {
return this.request("CreateUserAutoSignSealUrl", req, cb);
}
/**
* 给医疗个人自动签许可续期。续期成功后,可对医疗自动签许可追加一年有效期,只可续期一次。
注意: `处方单等特殊场景专用,此接口为白名单功能,使用前请联系对接的客户经理沟通。`
*/
async RenewAutoSignLicense(req, cb) {
return this.request("RenewAutoSignLicense", req, cb);
}
/**
* 对合同流程文件进行数字签名验证,判断数字签名是否有效,合同文件内容是否被篡改。
*/
async VerifyPdf(req, cb) {
return this.request("VerifyPdf", req, cb);
}
/**
* 此接口(BindEmployeeUserIdWithClientOpenId)用于将电子签系统员工UserId与客户系统员工OpenId进行绑定。
此OpenId只在 [更新企业员工信息 ](https://qian.tencent.com/developers/companyApis/staffs/UpdateIntegrationEmployees)、[移除企业员工](https://qian.tencent.com/developers/companyApis/staffs/DeleteIntegrationEmployees) 等场景下可以使用
*/
async BindEmployeeUserIdWithClientOpenId(req, cb) {
return this.request("BindEmployeeUserIdWithClientOpenId", req, cb);
}
/**
* 解绑员工与对应角色的关系,如需绑定请使用 CreateIntegrationUserRoles 接口。
*/
async DeleteIntegrationRoleUsers(req, cb) {
return this.request("DeleteIntegrationRoleUsers", req, cb);
}
/**
* 此接口(CreateFlowGroupByFiles)可用于通过多个文件创建合同组签署流程。
适用场景:该接口适用于需要一次性完成多份合同签署的情况,多份合同一般具有关联性,用户以目录的形式查看合同。
注意事项:使用该接口需要先依赖[多文件上传](https://qian.tencent.com/developers/companyApis/templatesAndFiles/UploadFiles)接口返回的FileIds。
注:`合同发起后就会扣减合同的额度, 如果未签署完成时撤销合同会返还此额度(过期,拒签,签署完成,解除完成等状态不会返还额度),合同组中每个合同会扣减一个合同额度`
*/
async CreateFlowGroupByFiles(req, cb) {
return this.request("CreateFlowGroupByFiles", req, cb);
}
/**
* 此接口(CreateIntegrationDepartment)用于创建企业的部门信息,支持绑定客户系统部门ID。
*/
async CreateIntegrationDepartment(req, cb) {
return this.request("CreateIntegrationDepartment", req, cb);
}
/**
* 提交申请出证报告任务并返回报告ID。
注意:
<ul><li>使用此功能`需搭配出证套餐` ,使用前请联系对接的客户经理沟通。</li>
<li>操作人必须是`发起方或者签署方企业的(非走授权书认证)法人或者超管`。</li>
<li>合同流程必须所有参与方`已经签署完成`。</li>
<li>出证过程需一定时间,建议在`提交出证任务后的24小时之后`,通过<a href="https://qian.tencent.com/developers/companyApis/certificate/DescribeFlowEvidenceReport" target="_blank">获取出证报告任务执行结果</a>接口进行查询执行结果和出证报告的下载URL。</li></ul>
<svg id="SvgjsSvg1006" width="262" height="229" xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs"><defs id="SvgjsDefs1007"><pattern patternUnits="userSpaceOnUse" id="pattern_mark_0" width="300" height="300"><text x="150" y="100" fill="rgba(229,229,229,0.8)" font-size="18" transform="rotate(-45, 150, 150)" style="dominant-baseline: middle; text-anchor: middle;"></text></pattern><pattern patternUnits="userSpaceOnUse" id="pattern_mark_1" width="300" height="300"><text x="150" y="200" fill="rgba(229,229,229,0.8)" font-size="18" transform="rotate(-45, 150, 150)" style="dominant-baseline: middle; text-anchor: middle;"></text></pattern><marker id="SvgjsMarker1021" markerWidth="12" markerHeight="8" refX="9" refY="4" viewBox="0 0 12 8" orient="auto" markerUnits="userSpaceOnUse" stroke-dasharray="0,0"><path id="SvgjsPath1022" d="M0,0 L12,4 L0,8 L0,0" fill="#323232" stroke="#323232" stroke-width="1"></path></marker></defs><rect id="svgbackgroundid" width="262" height="229" fill="transparent"></rect><rect id="SvgjsRect1009" width="262" height="229" fill="url(#pattern_mark_0)"></rect><rect id="SvgjsRect1010" width="262" height="229" fill="url(#pattern_mark_1)"></rect><g id="SvgjsG1011" transform="translate(31.75,25)"><path id="SvgjsPath1012" d="M 0 0L 198 0L 198 59L 0 59Z" stroke="rgba(86,146,48,1)" stroke-width="1" fill-opacity="1" fill="#e7ebed"></path><g id="SvgjsG1013"><text id="SvgjsText1014" font-family="微软雅黑" text-anchor="middle" font-size="13px" width="178px" fill="#323232" font-weight="400" align="middle" lineHeight="125%" anchor="middle" family="微软雅黑" size="13px" weight="400" font-style="" opacity="1" y="10.375" transform="rotate(0)"><tspan id="SvgjsTspan1015" dy="16" x="99"><tspan id="SvgjsTspan1016" style="text-decoration:;fill: rgb(28, 30, 33);">CreateFlowEvidenceReport</tspan></tspan><tspan id="SvgjsTspan1017" dy="16" x="99"><tspan id="SvgjsTspan1018" style="text-decoration:;fill: rgb(51, 51, 51);">提交申请出证报告任务</tspan></tspan></text></g></g><g id="SvgjsG1019"><path id="SvgjsPath1020" d="M130.75 84.5L130.75 114.5L130.75 114.5L130.75 143.2" stroke="#323232" stroke-width="1" fill="none" marker-end="url(#SvgjsMarker1021)"></path></g><g id="SvgjsG1023" transform="translate(25,145)"><path id="SvgjsPath1024" d="M 0 0L 211.5 0L 211.5 59L 0 59Z" stroke="rgba(86,146,48,1)" stroke-width="1" fill-opacity="1" fill="#e7ebed"></path><g id="SvgjsG1025"><text id="SvgjsText1026" font-family="微软雅黑" text-anchor="middle" font-size="13px" width="192px" fill="#323232" font-weight="400" align="middle" lineHeight="125%" anchor="middle" family="微软雅黑" size="13px" weight="400" font-style="" opacity="1" y="10.375" transform="rotate(0)"><tspan id="SvgjsTspan1027" dy="16" x="106"><tspan id="SvgjsTspan1028" style="text-decoration:;fill: rgb(28, 30, 33);">DescribeFlowEvidenceReport</tspan></tspan><tspan id="SvgjsTspan1029" dy="16" x="106"><tspan id="SvgjsTspan1030" style="text-decoration:;fill: rgb(51, 51, 51);">获取出证报告任务执行结果</tspan></tspan></text></g></g></svg>
*/
async CreateFlowEvidenceReport(req, cb) {
return this.request("CreateFlowEvidenceReport", req, cb);
}
/**
* 通过模板创建签署流程<br/>
适用场景:在标准制式的合同场景中,可通过提前预制好模板文件,每次调用模板文件的id,补充合同内容信息及签署信息生成电子合同。
<table>
<thead>
<tr>
<th>签署人类别</th>
<th>需要提前准备的信息</th>
</tr>
</thead>
<tbody>
<tr>
<td>自己企业的员工签署(未认证加入或已认证加入)</td>
<td>签署企业的名字、员工的真实名字、员工的触达手机号、员工的证件号(证件号非必传)</td>
</tr>
<tr>
<td>自己企业的员工签署(已认证加入)</td>
<td>签署企业的名字、员工在电子签平台的ID(UserId)</td>
</tr>
<tr>
<td>其他企业的员工签署</td>
<td>签署企业的名字、员工的真实名字、员工的触达手机号、员工的证件号(证件号非必传)</td>
</tr>
<tr>
<td>个人(自然人)签署</td>
<td>个人的真实名字、个人的触达手机号、个人的身份证(证件号非必传)</td>
</tr>
</tbody>
</table>
注:配合<a href="https://qian.tencent.com/developers/companyApis/startFlows/CreateDocument" target="_blank">创建电子文档</a>和<a href="https://qian.tencent.com/developers/companyApis/startFlows/StartFlow" target="_blank">发起签署流程</a>接口使用。整体的逻辑如下图
![image](https://qcloudimg.tencent-cloud.cn/raw/06f2bc0f1772d8deac2f92b5df61a5ac.png)
注:**静默(自动)签署不支持合同签署方存在填写**功能
<br>
<font color="red">相关视频指引</font> <br>
1. <a href="https://dyn.ess.tencent.cn/guide/apivideo/createflow_seversign.mp4" target="_blank">创建静默(自动)签署模板和开通自动签署</a><br>
2. <a href="https://dyn.ess.tencent.cn/guide/apivideo/flow_document_start.mp4" target="_blank">用模板创建发起合同</a><br>
*/
async CreateFlow(req, cb) {
return this.request("CreateFlow", req, cb);
}
/**
* 发起解除协议的主要应用场景为:基于一份已经签署的合同(签署流程),进行解除操作。
解除协议的模板是官方提供 ,经过提供法务审核,暂不支持自定义。
注意:
<ul><li><code>原合同必须签署完</code>成后才能发起解除协议。</li>
<li>只有原合同企业类型的参与人才能发起解除协议,<code>个人参与方不能发起解除协议</code>。</li>
<li>原合同个人类型参与人必须是解除协议的参与人,<code>不能更换其他第三方个人</code>参与解除协议。</li>
<li>如果原合同企业参与人无法参与解除协议,可以指定同企业具有同等权限的<code>企业员工代为处理</code>。</li>
<li>发起解除协议同发起其他企业合同一样,也会参与合同<code>扣费</code>,扣费标准同其他类型合同。</li>
<li>在解除协议签署完毕后,原合同及解除协议均变为已解除状态。</li>
<li>非原合同企业参与人发起解除协议时,需要有<code>解除合同的权限</code>。</li>
</ul>
*/
async CreateReleaseFlow(req, cb) {
return this.request("CreateReleaseFlow", req, cb);
}
/**
* 该接口用于获取创建法人章的二维码,需要通过微信扫描。扫描后将跳转到腾讯电子签署,进入到创建法人章的流程。
**注意**
1. 该二维码**有效期为7天**,过期后将失效,可重新创建 。
2. 每个公司**只能有1个法人章**,无法重复创建或者创建多个
法人章的样式可以参考下图索引(也可以自己上传法人印章图片):
![image](https://qcloudimg.tencent-cloud.cn/raw/36a0a090750c45bb5cac5047ac461b2c.png)
*/
async CreateLegalSealQrCode(req, cb) {
return this.request("CreateLegalSealQrCode", req, cb);
}
/**
* 本接口(CreateSeal)用于创建企业电子印章,支持创建企业公章,合同章,财务专用章和人事专用章创建。
1. 可以**通过图片**创建印章,图片最大5MB
2. 可以**系统创建**创建印章, 系统创建的印章样子下图(样式可以调整)
![image](https://dyn.ess.tencent.cn/guide/capi/CreateSealByImage.png)
*/
async CreateSeal(req, cb) {
return this.request("CreateSeal", req, cb);
}
/**
* 此接口(CreateMultiFlowSignQRCode)用于创建一码多签签署码。
**适用场景**:
签署人可通过扫描二维码补充签署信息进行实名签署。常用于提前不知道签署人的身份信息场景,例如:劳务工招工、大批量员工入职等场景。
**注意**:
1. 本接口适用于**发起方没有填写控件的 B2C或者单C模板**, 若是B2C模板,还要满足以下任意一个条件
- 模板中配置的签署顺序是无序
- B端企业的签署方式是静默签署
- B端企业是非首位签署
2. 通过一码多签签署码发起的合同,合同涉及到的回调消息可参考文档[合同发起及签署相关回调
]( https://qian.tencent.com/developers/company/callback_types_contracts_sign)
3. 用户通过一码多签签署码发起合同时,因企业额度不足导致失败 会触发签署二维码相关回调,具体参考文档[签署二维码相关回调](https://qian.tencent.com/developers/company/callback_types_commons#%E7%AD%BE%E7%BD%B2%E4%BA%8C%E7%BB%B4%E7%A0%81%E7%9B%B8%E5%85%B3%E5%9B%9E%E8%B0%83)
签署码的样式如下图:
![image](https://qcloudimg.tencent-cloud.cn/raw/27317cf5aacb094fb1dc6f94179a5148.png )
*/
async CreateMultiFlowSignQRCode(req, cb) {
return this.request("CreateMultiFlowSignQRCode", req, cb);
}
/**
* 查询企业扩展服务的授权详情(列表),当前支持查询以下内容:
1. 企业自动签(本企业授权、集团企业授权、合作企业授权)
2. 批量签署能力
注: <font color='red'>所在企业的超管、法人才有权限调用此接口</font>(Agent.ProxyOperator.OpenId 需要传递超管或者法人的OpenId)
*/
async DescribeExtendedServiceAuthDetail(req, cb) {
return this.request("DescribeExtendedServiceAuthDetail", req, cb);
}
/**
* 此接口(CancelMultiFlowSignQRCode)用于废除一码多签签署码。
该接口所需的二维码ID,源自[创建一码多签签署码](https://qian.tencent.com/developers/companyApis/startFlows/CreateMultiFlowSignQRCode)生成的。
如果该签署码尚处于有效期内,可通过本接口将其设置为失效状态。
*/
async CancelMultiFlowSignQRCode(req, cb) {
return this.request("CancelMultiFlowSignQRCode", req, cb);
}
/**
* 查询流程基础信息
适用场景:可用于主动查询某个合同流程的签署状态信息。可以配合回调通知使用。
注: `每个企业限制日调用量限制:100W,当日超过此限制后再调用接口返回错误`
*/
async DescribeFlowBriefs(req, cb) {
return this.request("DescribeFlowBriefs", req, cb);
}
/**
* 该接口用于在使用视频认证方式签署合同后,获取用户的签署人脸认证视频。
1. 该接口**仅适用于在H5端签署**的合同,**在通过视频认证后**获取人脸图片。
2. 该接口**不支持小程序端**的签署人脸图片获取。
3. 请在**签署完成后的三天内**获取人脸图片,**过期后将无法获取**。
**注意:该接口需要开通白名单,请联系客户经理开通后使用。**
*/
async DescribeSignFaceVideo(req, cb) {
return this.request("DescribeSignFaceVideo", req, cb);
}
/**
* 该接口用于发起合同后,生成用户的签署链接 <br/>
**注意**
1. 该签署**链接有效期为30分钟**,过期后将失效,如需签署可重新创建签署链接 。
2. 该接口返回的签署链接适用于APP集成的场景,支持APP打开或浏览器直接打开,**不支持微信小程序嵌入**。配置方式请参考:<a href="https://qian.tencent.com/developers/company/openqianh5/">跳转电子签H5</a>。
如需跳转到小程序的实现,参考微信官方文档(分为<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>。
3. 因h5涉及人脸身份认证能力基于慧眼人脸核身,对Android和iOS系统均有一定要求, 因此<font color='red'>App嵌入H5签署合同需要按照慧眼提供的<a href="https://cloud.tencent.com/document/product/1007/61076">慧眼人脸核身兼容性文档</a>做兼容性适配</font>。
*/
async CreateFlowSignUrl(req, cb) {
return this.request("CreateFlowSignUrl", req, cb);
}
/**
* 用来撤销<a href="https://qian.tencent.com/developers/companyApis/users/CreateUserAutoSignEnableUrl" target="_blank">获取个人用户自动签的开通状态</a>生成的开通链接,撤销生成的链接失效。
注:
<ul><li>若个人用户已经用生成的完成自动签署的开通,撤销链接无效不会对开通结果产生影响(此情况接口会报错)。</li>
<li>处方单等特殊场景专用,此接口为白名单功能,使用前请联系对接的客户经理沟通。</li></ul>
*/
async CancelUserAutoSignEnableUrl(req, cb) {
return this.request("CancelUserAutoSignEnableUrl", req, cb);
}
/**
* 通过此接口(DescribeBillUsageDetail)查询该企业的套餐消耗详情。
*/
async DescribeBillUsageDetail(req, cb) {
return this.request("DescribeBillUsageDetail", req, cb);
}
/**
* 此接口(DescribeIntegrationDepartments)用于查询企业的部门信息列表,支持查询单个部门节点或单个部门节点及一级子节点部门列表。
*/
async DescribeIntegrationDepartments(req, cb) {
return this.request("DescribeIntegrationDepartments", req, cb);
}
/**
* 此接口(ModifyIntegrationDepartment)用于更新企业的部门信息,支持更新部门名称、客户系统部门ID和部门序号等信息。
*/
async ModifyIntegrationDepartment(req, cb) {
return this.request("ModifyIntegrationDepartment", req, cb);
}
/**
* 此API接口用来查询加入集团的成员企业信息
适用场景:子企业在加入集团后,主企业可能通过此接口获取到所有的子企业列表,方便进行展示和统计
*/
async DescribeOrganizationGroupOrganizations(req, cb) {
return this.request("DescribeOrganizationGroupOrganizations", req, cb);
}
/**
* 该接口会生成一个手机号变更的链接,用户可以通过该链接进入电子签系统进行手机号的变更。
该接口支持员工和个人端手机号的变更。
*/
async CreateUserMobileChangeUrl(req, cb) {
return this.request("CreateUserMobileChangeUrl", req, cb);
}
/**
* 本接口(DeleteSealPolicies)用于撤销企业员工持有的印章权限
*/
async DeleteSealPolicies(req, cb) {
return this.request("DeleteSealPolicies", req, cb);
}
/**
* 本接口(DescribeFileUrls)用于查询文件的下载URL。
适用场景:通过传参合同流程编号,下载对应的合同PDF文件流到本地。
*/
async DescribeFileUrls(req, cb) {
return this.request("DescribeFileUrls", req, cb);
}
/**
* 此接口(CreateIntegrationRole)用来创建企业自定义的SaaS角色或集团角色。
适用场景1:创建当前企业的自定义SaaS角色或集团角色,并且创建时不进行权限的设置(PermissionGroups 参数不传),角色中的权限内容可通过控制台编辑角色或通过接口 ModifyIntegrationRole 完成更新。
适用场景2:创建当前企业的自定义SaaS角色或集团角色,并且创建时进行权限的设置(PermissionGroups 参数要传),权限树内容 PermissionGroups 可参考接口 DescribeIntegrationRoles 的输出。此处注意权限树内容可能会更新,需尽量拉取最新的权限树内容,并且权限树内容 PermissionGroups 必须是一颗完整的权限树。
适用场景3:创建集团角色时可同时设置角色管理的子企业列表,可通过设置 SubOrganizationIds 参数达到此效果。
适用场景4:主企业代理子企业操作的场景,需要设置Agent参数,并且ProxyOrganizationId设置为子企业的id即可。
注意事项:SaaS角色和集团角色对应的权限树是不一样的。
*/
async CreateIntegrationRole(req, cb) {
return this.request("CreateIntegrationRole", req, cb);
}
/**
* 管理企业扩展服务 ,企业经办人需要是企业超管或者法人。
跳转小程序的几种方式:主要是设置不同的EndPoint
1. 通过链接Url直接跳转到小程序,不需要返回
设置EndPoint为WEIXINAPP,得到链接打开即可。
2. 客户App直接跳转到小程序-->腾讯电子签小程序操作完成-->返回App
跳转到小程序的实现,参考官方文档<a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html">打开 App</a>
设置EndPoint为APP,得到path。
3. 客户小程序直接跳到电子签小程序-->腾讯电子签小程序操作完成--->回到客户小程序
跳转到小程序的实现,参考官方文档(分为<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>
设置EndPoint为APP,得到path。
4.其中小程序的原始Id如下,或者查看小程序信息自助获取。
| 小程序 | AppID | 原始ID |
| ------------ | ------------ | ------------ |
| 腾讯电子签(正式版) | wxa023b292fd19d41d | gh_da88f6188665 |
| 腾讯电子签Demo | wx371151823f6f3edf | gh_39a5d3de69fa |
*/
async ModifyExtendedService(req, cb) {
return this.request("ModifyExtendedService", req, cb);
}
/**
* 在已发起的签署流程中,支持对签署截止日期进行延期操作,主要涉及以下两个维度:
1. 合同(流程)维度:只需要传递签署流程ID。这将对签署流程和发起时未单独设定签署截止时间的签署人进行延期操作。
2. 签署人维度:需要传递流程ID和签署人ID。此操作将对签署人进行延期操作,尤其对于有序的合同(流程),签署截止时间不能超过后一位合同(流程)签署人的流程截止时间。
此接口有如下限制条件:
1. 执行操作的员工需为发起方企业的超级管理员、法定代表人或签署流程的发起人。
2. 在延长整个签署流程时,签署流程应至少还有一方未签署(即签署流程不能处于已全部签署完成、已拒签、已过期、已撤回、拒绝填写、已解除等合同状态)。
3. 在延长整个签署流程时,新的签署截止日期应晚于合同已设定的签署截止日期和当前日期。
4. 在延长签署方的截止时间时,签署方不能处于流程完结或已终止状态(即签署人不能处于已签署、已拒签、已过期、已撤回、拒绝填写、已解除等状态)。
5. 在延长签署方的截止时间时,签署方的新签署截止日期应晚于当前日期和签署方已设定的截止日期。若为有序合同,还应早于或等于下一签署人的截止日期,且早于签署流程整体的截止日期。
6. 不支持操作合同组合同。
*/
async ModifyFlowDeadline(req, cb) {
return this.request("ModifyFlowDeadline", req, cb);
}
/**
* 获取区块链存证证书查看链接/二维码接口
适用场景:企业员工可以通过此接口生成合同区块链存证证书的查看链接/二维码,以供他人扫码打开腾讯电子签小程序查看。
[点击查看区块链存证证书样式](https://qcloudimg.tencent-cloud.cn/raw/47d5e9c2ffa90ad4e27b3cd14095aa08.jpg)
注:
<ul><li>1. 二维码下载链接过期时间为5分钟,请尽快下载保存。二维码/短链的过期时间为<font color="red">7天</font>,超过有效期则不可用。</li>
<li>2. 合同状态需为<font color="red">签署完成</font> 、<font color="red">已解除</font>才能生成证书查看二维码/短链。</li>
<li>3. 调用接口时,需确保接口调用身份拥有此合同的访问数据权限或为合同参与方。</li>
<li>4. 通过扫码或者点击链接,用户无需登录或者鉴权即可查看对应合同的区块链存证证书,请妥善保管好二维码或链接。</li></ul>
*/
async CreateFlowBlockchainEvidenceUrl(req, cb) {
return this.request("CreateFlowBlockchainEvidenceUrl", req, cb);
}
/**
* 用于客户企业在调用生成[C端用户实名链接(CreateUserVerifyUrl)](https://qian.tencent.com/developers/companyApis/users/CreateUserVerifyUrl)接口之前判断C端用户是否实名,如果已经实名,就不需要再次调用生成C端链接接口去实名
注意:此接口仅会返回当前员工是否通过[C端用户实名链接(CreateUserVerifyUrl)](https://qian.tencent.com/developers/companyApis/users/CreateUserVerifyUrl)所实名的员工是否实名,并不会返回个人用户自己在电子签进行实名的状况
*/
async DescribeUserVerifyStatus(req, cb) {
return this.request("DescribeUserVerifyStatus", req, cb);
}
/**
* 此接口(ModifyIntegrationRole)用来更新企业自定义的SaaS角色或集团角色。
适用场景1:更新当前企业的自定义SaaS角色或集团角色,并且更新时不进行角色中权限的更新(PermissionGroups 参数不传)。
适用场景2:更新当前企业的自定义SaaS角色或集团角色,并且更新时进行角色中权限的设置(PermissionGroups 参数要传),权限树内容 PermissionGroups 可参考接口 DescribeIntegrationRoles 的输出。此处注意权限树内容可能会更新,需尽量拉取最新的权限树内容,并且权限树内容 PermissionGroups 必须是一颗完整的权限树。
适用场景3:更新集团角色管理的子企业列表,可通过设置 SubOrganizationIds 参数达到此效果。
适用场景4:主企业代理子企业操作的场景,需要设置Agent参数,并且ProxyOrganizationId设置为子企业的id即可。
注意事项:SaaS角色和集团角色对应的权限树是不一样的。
*/
async ModifyIntegrationRole(req, cb) {
return this.request("ModifyIntegrationRole", req, cb);
}
/**
* 本接口(CreateBatchOrganizationRegistrationTasks)用于批量创建企业认证链接
该接口为异步提交任务接口,需要跟查询企业批量认证链接(DescribeBatchOrganizationRegistrationUrls) 配合使用.
批量创建链接有以下限制:
1. 单次最多创建10个企业。
2. 一天同一家企业最多创建8000家企业。
3. 同一批创建的企业不能重复 其中包括 企业名称,企业统一信用代码
4. 跳转到小程序的实现,参考微信官方文档(分为全屏、半屏两种方式),如何配置也可以请参考: 跳转电子签小程序配置
注:
1. **此接口需要购买单独的实名套餐包方可调用,如有需求请联系对接人员评估**
2. 如果生成的链接是APP链接,跳转到小程序的实现,参考微信官方文档(分为<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>
**腾讯电子签小程序的AppID 和 原始Id如下:**
| 小程序 | AppID | 原始ID |
| --- | --- | --- |
| 腾讯电子签(正式版) | wxa023b292fd19d41d | gh_da88f6188665 |
| 腾讯电子签Demo | wx371151823f6f3edf | gh_39a5d3de69fa |
*/
async CreateBatchOrganizationRegistrationTasks(req, cb) {
return this.request("CreateBatchOrganizationRegistrationTasks", req, cb);
}
/**
* 创建企业扩展服务授权,当前仅支持授权 “企业自动签” 和 “批量签署” 给企业员工。
该接口作用和电子签控制台 企业设置-扩展服务-企业自动签署和批量签署授权 两个模块功能相同,可通过该接口授权给企业员工。
注:“企业自动签授权”支持集团代子企业操作,请联系运营开通此功能。
*/
async CreateExtendedServiceAuthInfos(req, cb) {
return this.request("CreateExtendedServiceAuthInfos", req, cb);
}
/**
* 此接口(CreateOrganizationInfoChangeUrl)用于创建企业信息变更链接,支持创建企业超管变更链接或企业基础信息变更链接,通过入参ChangeType指定。
<h3 id="1-企业超管变更">1. 企业超管变更</h3>
<p>换成企业的其他员工来当超管</p>
<h3 id="2-企业基础信息变更">2. 企业基础信息变更</h3>
<h4 id="可以变动">可以变动</h4>
<ul>
<li>企业名称<br>
</li>
<li>法定代表人姓名(新法人有邀请链接)<br>
</li>
<li>企业地址和所在地</li>
</ul>
<h4 id="不可变动">不可变动</h4>
<ul>
<li>统一社会信用代码<br>
</li>
<li>企业主体类型</li>
</ul>
<p>如果企业名称变动会引起下面的变动</p>
<ul>
<li>合同: 老合同不做任何处理, 新发起的合同需要用新的企业名字作为签署方, 否则无法签署</li>
<li>印章: 会删除所有的印章所有的机构公章和合同专用章, 然后用新企业名称生成新的机构公章 和合同专用章, 而法人章, 财务专用章和人事专用章不会处理</li>
<li>证书: 企业证书会重新请求CA机构用新企业名称生成新的证书</li>
</ul>
*/
async CreateOrganizationInfoChangeUrl(req, cb) {
return this.request("CreateOrganizationInfoChangeUrl", req, cb);
}
/**
* 此接口(CreateConvertTaskApi)用来将word、excel、html、图片、txt类型文件转换为PDF文件。<br />
前提条件:源文件已经通过 <a href="https://qian.tencent.com/developers/companyApis/templatesAndFiles/UploadFiles" target="_blank">文件上传接口</a>完成上传,并得到了源文件的资源Id。<br />
适用场景1:已经上传了一个word文件,希望将该word文件转换成pdf文件后发起合同
适用场景2:已经上传了一个jpg图片文件,希望将该图片文件转换成pdf文件后发起合同<br />
转换文件是一个耗时操作,若想查看转换任务是否完成,可以通过<a href="https://qian.tencent.com/developers/companyApis/templatesAndFiles/GetTaskResultApi" target="_blank">查询转换任务状态</a>接口获取任务状态。<br />
注:
1. `支持的文件类型有doc、docx、xls、xlsx、html、jpg、jpeg、png、bmp、txt`
2. `可通过发起合同时设置预览来检查转换文件是否达到预期效果`
*/
async CreateConvertTaskApi(req, cb) {
return this.request("CreateConvertTaskApi", req, cb);
}
/**
* 本接口(CreateOrganizationAuthUrl)用于生成创建企业认证链接。
用于业务方系统自己生成认证链接进行跳转.而不用电子签自带的生成链接
注: **此接口需要购买单独的实名套餐包方可调用,如有需求请联系对接人员评估**
*/
async CreateOrganizationAuthUrl(req, cb) {
return this.request("CreateOrganizationAuthUrl", req, cb);
}
/**
* 此接口(UploadFiles)文件上传。<br/>
适用场景:用于合同,印章的文件上传。文件上传以后,
如果是PDF格式文件可配合<a href="https://qian.tencent.com/developers/companyApis/startFlows/CreateFlowByFiles" target="_blank">用PDF文件创建签署流程</a>接口进行合同流程的发起
如果是其他类型可以配合<a href="https://qian.tencent.com/developers/companyApis/templatesAndFiles/CreateConvertTaskApi" target="_blank">创建文件转换任务</a>接口转换成PDF文件
注:
1. 图片类型(png/jpg/jpeg)限制大小为5M以下, PDF/word/excel等其他格式限制大小为60M以下
2. 调用此接口时需要设置单独的Domain请求域名,<font color="red">联调开发环境为: file.test.ess.tencent.cn,正式环境需要设置为:file.ess.tencent.cn</font>,代码示例
```
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("file.test.ess.tencent.cn");
```
<font color="red">相关视频指引</font> <br>
1. <a href="https://dyn.ess.tencent.cn/guide/apivideo/ess_uploadfiles.mp4" target="_blank">上传用于合同发起的PDF文件代码编写示例</a><br>
*/
async UploadFiles(req, cb) {
return this.request("UploadFiles", req, cb);
}
/**
* 通过此接口,创建子企业激活记录,集团企业管理员可针对未激活的成员企业进行激活。
激活子企业时请保证子企业 lisence 充足。
这个操作与页面端激活成员企业操作类似
![image](https://qcloudimg.tencent-cloud.cn/raw/c4e76fbac92e4ce451a03601c964793b.png)
p.s.
此接口只能用于激活,不能用于续期。
*/
async CreateIntegrationSubOrganizationActiveRecord(req, cb) {
return this.request("CreateIntegrationSubOrganizationActiveRecord", req, cb);
}
/**
* 查询流程填写控件内容,可以根据合同流程ID查询该合同流程相关联的填写控件信息和填写内容。
*/
async DescribeFlowComponents(req, cb) {
return this.request("DescribeFlowComponents", req, cb);
}
/**
* 用来设置本企业嵌入式页面个性化主题配置(例如是否展示电子签logo、定义主题色等),设置后获取的web签署界面都会使用此配置进行展示。
如果多次调用,会以最后一次的配置为准
*/
async CreateWebThemeConfig(req, cb) {
return this.request("CreateWebThemeConfig", req, cb);
}
/**
* 此接口(CreateIntegrationEmployees)用于创建企业员工。创建的员工初始化为未实名,如下图所示。
![image](https://qcloudimg.tencent-cloud.cn/raw/2bdcc0d91ac3146b5e8c28811a78ffe9.png)
支持以下场景
<table>
<tbody>
<tr>
<td>生成端</td>
<td >入参</td>
<td>提醒方式</td>
</tr>
<tr>
<td>普通saas员工</td>
<td>将Employees中的DisplayName设置员工的名字,Mobile设置成员工的手机号</td>
<td>发送短信通知员工(短信中带有认证加入企业的链接) </td>
</tr>
<tr>
<td>企微员工</td>
<td>将Employees 中的WeworkOpenId字段设置为企微员工明文的openid,需<font color="red">确保该企微员工在应用的可见范围内</font></td>
<td>企微内部实名消息</td>
</tr>
<tr>
<td>H5端 saas员工</td>
<td>传递 InvitationNotifyType = H5,将Employees中的DisplayName设置员工的名字,Mobile设置成员工的手机号,<font color="red">此场景不支持企微</font></td>
<td>生成认证加入企业的H5链接,贵方可以通过自己的渠道触达到此员工</td>
</tr>
</tbody>
</table>
注意:
- <b> 新增员工的手机号、OpenId不能与已加入员工重复</b>, 不管已加入员工的手机号、OpenId是否已经实名
- <b>若通过手机号发现员工已经创建且信息一致(名字,openId等),则不会重复创建,但会发送短信或者生成链接提醒员工实名。</b>
- jumpUrl 仅支持H5的邀请方式,回跳的url,使用前请联系对接的客户经理沟通,进行域名的配置。
短信的样式
![image](https://qcloudimg.tencent-cloud.cn/raw/b6ad1b79e0adaaa41d282456c72a1ee6.png)
*/
async CreateIntegrationEmployees(req, cb) {
return this.request("CreateIntegrationEmployees", req, cb);
}
/**
* 该接口用于发起合同后,生成个人用户的批量签署链接, 暂时不支持企业端签署。
**注意:**
1. 该接口目前仅支持签署人类型是**个人签署方的批量签署场景**(ApproverType=1)。
2. 该接口可生成批量签署链接的C端签署人**必须仅有手写签名(控件类型为SIGN_SIGNATURE)和时间类型的签署控件**,**不支持填写控件** 。
3. 请确保C端签署人在批量签署合同中**为待签署状态**,如需顺序签署请待前一位参与人签署完成后,再创建该C端用户的签署链接。
4. 该签署链接**有效期为30分钟**,过期后将失效,如需签署可重新创建批量签署链接 。
5. 该接口返回的签署链接适用于APP集成的场景,支持APP打开或浏览器直接打开,**不支持微信小程序嵌入**。
跳转到小程序的实现,参考微信官方文档(分为<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>。
6. 因h5涉及人脸身份认证能力基于慧眼人脸核身,对Android和iOS系统均有一定要求, 因此<font color='red'>App嵌入H5签署合同需要按照慧眼提供的<a href="https://cloud.tencent.com/document/product/1007/61076">慧眼人脸核身兼容性文档</a>做兼容性适配</font>。
*/
async CreateBatchQuickSignUrl(req, cb) {
return this.request("CreateBatchQuickSignUrl", req, cb);
}
/**
* 新增/删除企业应用集成中的回调配置。
新增回调配置只会增加不存在的CallbackUrl;删除操作将针对找到的相同CallbackUrl的配置进行删除。
请确保回调地址能够接收并处理 HTTP POST 请求,并返回状态码 200 以表示处理正常。
更多回调相关的说明参考文档[回调通知能力](https://qian.tencent.com/developers/company/callback_types_v2)
*/
async ModifyApplicationCallbackInfo(req, cb) {
return this.request("ModifyApplicationCallbackInfo", req, cb);
}