tccli 3.0.1244.1__py2.py3-none-any.whl → 3.0.1245.1__py2.py3-none-any.whl

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.
Files changed (34) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/dbbrain/dbbrain_client.py +57 -4
  3. tccli/services/dbbrain/v20210527/api.json +145 -0
  4. tccli/services/dbbrain/v20210527/examples.json +8 -0
  5. tccli/services/essbasic/v20210526/api.json +1 -1
  6. tccli/services/hunyuan/v20230901/api.json +1 -1
  7. tccli/services/lighthouse/v20200324/api.json +1 -1
  8. tccli/services/lke/v20231130/api.json +30 -0
  9. tccli/services/monitor/v20180724/api.json +55 -0
  10. tccli/services/ocr/ocr_client.py +91 -38
  11. tccli/services/ocr/v20181119/api.json +187 -0
  12. tccli/services/ocr/v20181119/examples.json +8 -0
  13. tccli/services/scf/v20180416/examples.json +2 -2
  14. tccli/services/tcm/v20210413/api.json +9 -3
  15. tccli/services/tcm/v20210413/examples.json +7 -7
  16. tccli/services/tcr/v20190924/api.json +36 -36
  17. tccli/services/tcr/v20190924/examples.json +17 -17
  18. tccli/services/teo/v20220901/api.json +3 -3
  19. tccli/services/tke/v20180525/api.json +874 -688
  20. tccli/services/tke/v20180525/examples.json +40 -40
  21. tccli/services/tke/v20220501/api.json +16 -16
  22. tccli/services/tke/v20220501/examples.json +2 -2
  23. tccli/services/trocket/trocket_client.py +57 -4
  24. tccli/services/trocket/v20230308/api.json +143 -51
  25. tccli/services/trocket/v20230308/examples.json +11 -3
  26. tccli/services/vclm/v20240523/api.json +3 -3
  27. tccli/services/vpc/v20170312/api.json +20 -20
  28. tccli/services/vpc/v20170312/examples.json +9 -31
  29. tccli/services/waf/v20180125/api.json +1 -1
  30. {tccli-3.0.1244.1.dist-info → tccli-3.0.1245.1.dist-info}/METADATA +2 -2
  31. {tccli-3.0.1244.1.dist-info → tccli-3.0.1245.1.dist-info}/RECORD +34 -34
  32. {tccli-3.0.1244.1.dist-info → tccli-3.0.1245.1.dist-info}/WHEEL +0 -0
  33. {tccli-3.0.1244.1.dist-info → tccli-3.0.1245.1.dist-info}/entry_points.txt +0 -0
  34. {tccli-3.0.1244.1.dist-info → tccli-3.0.1245.1.dist-info}/license_files/LICENSE +0 -0
@@ -121,7 +121,7 @@ def doImageEnhancement(args, parsed_globals):
121
121
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
122
122
 
123
123
 
124
- def doGeneralBasicOCR(args, parsed_globals):
124
+ def doSmartStructuralOCRV2(args, parsed_globals):
125
125
  g_param = parse_global_arg(parsed_globals)
126
126
 
127
127
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -150,11 +150,11 @@ def doGeneralBasicOCR(args, parsed_globals):
150
150
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
151
151
  client._sdkVersion += ("_CLI_" + __version__)
152
152
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
153
- model = models.GeneralBasicOCRRequest()
153
+ model = models.SmartStructuralOCRV2Request()
154
154
  model.from_json_string(json.dumps(args))
155
155
  start_time = time.time()
156
156
  while True:
157
- rsp = client.GeneralBasicOCR(model)
157
+ rsp = client.SmartStructuralOCRV2(model)
158
158
  result = rsp.to_json_string()
159
159
  try:
160
160
  json_obj = json.loads(result)
@@ -173,7 +173,7 @@ def doGeneralBasicOCR(args, parsed_globals):
173
173
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
174
174
 
175
175
 
176
- def doSmartStructuralOCRV2(args, parsed_globals):
176
+ def doEnterpriseLicenseOCR(args, parsed_globals):
177
177
  g_param = parse_global_arg(parsed_globals)
178
178
 
179
179
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -202,11 +202,11 @@ def doSmartStructuralOCRV2(args, parsed_globals):
202
202
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
203
203
  client._sdkVersion += ("_CLI_" + __version__)
204
204
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
205
- model = models.SmartStructuralOCRV2Request()
205
+ model = models.EnterpriseLicenseOCRRequest()
206
206
  model.from_json_string(json.dumps(args))
207
207
  start_time = time.time()
208
208
  while True:
209
- rsp = client.SmartStructuralOCRV2(model)
209
+ rsp = client.EnterpriseLicenseOCR(model)
210
210
  result = rsp.to_json_string()
211
211
  try:
212
212
  json_obj = json.loads(result)
@@ -225,7 +225,7 @@ def doSmartStructuralOCRV2(args, parsed_globals):
225
225
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
226
226
 
227
227
 
228
- def doEnterpriseLicenseOCR(args, parsed_globals):
228
+ def doBusinessCardOCR(args, parsed_globals):
229
229
  g_param = parse_global_arg(parsed_globals)
230
230
 
231
231
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -254,11 +254,11 @@ def doEnterpriseLicenseOCR(args, parsed_globals):
254
254
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
255
255
  client._sdkVersion += ("_CLI_" + __version__)
256
256
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
257
- model = models.EnterpriseLicenseOCRRequest()
257
+ model = models.BusinessCardOCRRequest()
258
258
  model.from_json_string(json.dumps(args))
259
259
  start_time = time.time()
260
260
  while True:
261
- rsp = client.EnterpriseLicenseOCR(model)
261
+ rsp = client.BusinessCardOCR(model)
262
262
  result = rsp.to_json_string()
263
263
  try:
264
264
  json_obj = json.loads(result)
@@ -277,7 +277,7 @@ def doEnterpriseLicenseOCR(args, parsed_globals):
277
277
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
278
278
 
279
279
 
280
- def doBusinessCardOCR(args, parsed_globals):
280
+ def doIDCardOCR(args, parsed_globals):
281
281
  g_param = parse_global_arg(parsed_globals)
282
282
 
283
283
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -306,11 +306,11 @@ def doBusinessCardOCR(args, parsed_globals):
306
306
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
307
307
  client._sdkVersion += ("_CLI_" + __version__)
308
308
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
309
- model = models.BusinessCardOCRRequest()
309
+ model = models.IDCardOCRRequest()
310
310
  model.from_json_string(json.dumps(args))
311
311
  start_time = time.time()
312
312
  while True:
313
- rsp = client.BusinessCardOCR(model)
313
+ rsp = client.IDCardOCR(model)
314
314
  result = rsp.to_json_string()
315
315
  try:
316
316
  json_obj = json.loads(result)
@@ -329,7 +329,7 @@ def doBusinessCardOCR(args, parsed_globals):
329
329
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
330
330
 
331
331
 
332
- def doIDCardOCR(args, parsed_globals):
332
+ def doPassportOCR(args, parsed_globals):
333
333
  g_param = parse_global_arg(parsed_globals)
334
334
 
335
335
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -358,11 +358,11 @@ def doIDCardOCR(args, parsed_globals):
358
358
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
359
359
  client._sdkVersion += ("_CLI_" + __version__)
360
360
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
361
- model = models.IDCardOCRRequest()
361
+ model = models.PassportOCRRequest()
362
362
  model.from_json_string(json.dumps(args))
363
363
  start_time = time.time()
364
364
  while True:
365
- rsp = client.IDCardOCR(model)
365
+ rsp = client.PassportOCR(model)
366
366
  result = rsp.to_json_string()
367
367
  try:
368
368
  json_obj = json.loads(result)
@@ -381,7 +381,7 @@ def doIDCardOCR(args, parsed_globals):
381
381
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
382
382
 
383
383
 
384
- def doPassportOCR(args, parsed_globals):
384
+ def doLicensePlateOCR(args, parsed_globals):
385
385
  g_param = parse_global_arg(parsed_globals)
386
386
 
387
387
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -410,11 +410,11 @@ def doPassportOCR(args, parsed_globals):
410
410
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
411
411
  client._sdkVersion += ("_CLI_" + __version__)
412
412
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
413
- model = models.PassportOCRRequest()
413
+ model = models.LicensePlateOCRRequest()
414
414
  model.from_json_string(json.dumps(args))
415
415
  start_time = time.time()
416
416
  while True:
417
- rsp = client.PassportOCR(model)
417
+ rsp = client.LicensePlateOCR(model)
418
418
  result = rsp.to_json_string()
419
419
  try:
420
420
  json_obj = json.loads(result)
@@ -433,7 +433,7 @@ def doPassportOCR(args, parsed_globals):
433
433
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
434
434
 
435
435
 
436
- def doLicensePlateOCR(args, parsed_globals):
436
+ def doMLIDCardOCR(args, parsed_globals):
437
437
  g_param = parse_global_arg(parsed_globals)
438
438
 
439
439
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -462,11 +462,11 @@ def doLicensePlateOCR(args, parsed_globals):
462
462
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
463
463
  client._sdkVersion += ("_CLI_" + __version__)
464
464
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
465
- model = models.LicensePlateOCRRequest()
465
+ model = models.MLIDCardOCRRequest()
466
466
  model.from_json_string(json.dumps(args))
467
467
  start_time = time.time()
468
468
  while True:
469
- rsp = client.LicensePlateOCR(model)
469
+ rsp = client.MLIDCardOCR(model)
470
470
  result = rsp.to_json_string()
471
471
  try:
472
472
  json_obj = json.loads(result)
@@ -485,7 +485,7 @@ def doLicensePlateOCR(args, parsed_globals):
485
485
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
486
486
 
487
487
 
488
- def doMLIDCardOCR(args, parsed_globals):
488
+ def doVatInvoiceVerifyNew(args, parsed_globals):
489
489
  g_param = parse_global_arg(parsed_globals)
490
490
 
491
491
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -514,11 +514,11 @@ def doMLIDCardOCR(args, parsed_globals):
514
514
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
515
515
  client._sdkVersion += ("_CLI_" + __version__)
516
516
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
517
- model = models.MLIDCardOCRRequest()
517
+ model = models.VatInvoiceVerifyNewRequest()
518
518
  model.from_json_string(json.dumps(args))
519
519
  start_time = time.time()
520
520
  while True:
521
- rsp = client.MLIDCardOCR(model)
521
+ rsp = client.VatInvoiceVerifyNew(model)
522
522
  result = rsp.to_json_string()
523
523
  try:
524
524
  json_obj = json.loads(result)
@@ -537,7 +537,7 @@ def doMLIDCardOCR(args, parsed_globals):
537
537
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
538
538
 
539
539
 
540
- def doVatInvoiceVerifyNew(args, parsed_globals):
540
+ def doQrcodeOCR(args, parsed_globals):
541
541
  g_param = parse_global_arg(parsed_globals)
542
542
 
543
543
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -566,11 +566,11 @@ def doVatInvoiceVerifyNew(args, parsed_globals):
566
566
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
567
567
  client._sdkVersion += ("_CLI_" + __version__)
568
568
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
569
- model = models.VatInvoiceVerifyNewRequest()
569
+ model = models.QrcodeOCRRequest()
570
570
  model.from_json_string(json.dumps(args))
571
571
  start_time = time.time()
572
572
  while True:
573
- rsp = client.VatInvoiceVerifyNew(model)
573
+ rsp = client.QrcodeOCR(model)
574
574
  result = rsp.to_json_string()
575
575
  try:
576
576
  json_obj = json.loads(result)
@@ -589,7 +589,7 @@ def doVatInvoiceVerifyNew(args, parsed_globals):
589
589
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
590
590
 
591
591
 
592
- def doQrcodeOCR(args, parsed_globals):
592
+ def doGeneralAccurateOCR(args, parsed_globals):
593
593
  g_param = parse_global_arg(parsed_globals)
594
594
 
595
595
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -618,11 +618,11 @@ def doQrcodeOCR(args, parsed_globals):
618
618
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
619
619
  client._sdkVersion += ("_CLI_" + __version__)
620
620
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
621
- model = models.QrcodeOCRRequest()
621
+ model = models.GeneralAccurateOCRRequest()
622
622
  model.from_json_string(json.dumps(args))
623
623
  start_time = time.time()
624
624
  while True:
625
- rsp = client.QrcodeOCR(model)
625
+ rsp = client.GeneralAccurateOCR(model)
626
626
  result = rsp.to_json_string()
627
627
  try:
628
628
  json_obj = json.loads(result)
@@ -641,7 +641,7 @@ def doQrcodeOCR(args, parsed_globals):
641
641
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
642
642
 
643
643
 
644
- def doGeneralAccurateOCR(args, parsed_globals):
644
+ def doFlightInvoiceOCR(args, parsed_globals):
645
645
  g_param = parse_global_arg(parsed_globals)
646
646
 
647
647
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -670,11 +670,11 @@ def doGeneralAccurateOCR(args, parsed_globals):
670
670
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
671
671
  client._sdkVersion += ("_CLI_" + __version__)
672
672
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
673
- model = models.GeneralAccurateOCRRequest()
673
+ model = models.FlightInvoiceOCRRequest()
674
674
  model.from_json_string(json.dumps(args))
675
675
  start_time = time.time()
676
676
  while True:
677
- rsp = client.GeneralAccurateOCR(model)
677
+ rsp = client.FlightInvoiceOCR(model)
678
678
  result = rsp.to_json_string()
679
679
  try:
680
680
  json_obj = json.loads(result)
@@ -1993,7 +1993,7 @@ def doWaybillOCR(args, parsed_globals):
1993
1993
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1994
1994
 
1995
1995
 
1996
- def doFlightInvoiceOCR(args, parsed_globals):
1996
+ def doGeneralBasicOCR(args, parsed_globals):
1997
1997
  g_param = parse_global_arg(parsed_globals)
1998
1998
 
1999
1999
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -2022,11 +2022,11 @@ def doFlightInvoiceOCR(args, parsed_globals):
2022
2022
  client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
2023
2023
  client._sdkVersion += ("_CLI_" + __version__)
2024
2024
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
2025
- model = models.FlightInvoiceOCRRequest()
2025
+ model = models.GeneralBasicOCRRequest()
2026
2026
  model.from_json_string(json.dumps(args))
2027
2027
  start_time = time.time()
2028
2028
  while True:
2029
- rsp = client.FlightInvoiceOCR(model)
2029
+ rsp = client.GeneralBasicOCR(model)
2030
2030
  result = rsp.to_json_string()
2031
2031
  try:
2032
2032
  json_obj = json.loads(result)
@@ -3449,6 +3449,58 @@ def doVehicleRegCertOCR(args, parsed_globals):
3449
3449
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
3450
3450
 
3451
3451
 
3452
+ def doBankCardOCR(args, parsed_globals):
3453
+ g_param = parse_global_arg(parsed_globals)
3454
+
3455
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
3456
+ cred = credential.CVMRoleCredential()
3457
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
3458
+ cred = credential.STSAssumeRoleCredential(
3459
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
3460
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
3461
+ )
3462
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
3463
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
3464
+ else:
3465
+ cred = credential.Credential(
3466
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
3467
+ )
3468
+ http_profile = HttpProfile(
3469
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
3470
+ reqMethod="POST",
3471
+ endpoint=g_param[OptionsDefine.Endpoint],
3472
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
3473
+ )
3474
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
3475
+ if g_param[OptionsDefine.Language]:
3476
+ profile.language = g_param[OptionsDefine.Language]
3477
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
3478
+ client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
3479
+ client._sdkVersion += ("_CLI_" + __version__)
3480
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
3481
+ model = models.BankCardOCRRequest()
3482
+ model.from_json_string(json.dumps(args))
3483
+ start_time = time.time()
3484
+ while True:
3485
+ rsp = client.BankCardOCR(model)
3486
+ result = rsp.to_json_string()
3487
+ try:
3488
+ json_obj = json.loads(result)
3489
+ except TypeError as e:
3490
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
3491
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
3492
+ break
3493
+ cur_time = time.time()
3494
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
3495
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
3496
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
3497
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
3498
+ else:
3499
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
3500
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
3501
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
3502
+
3503
+
3452
3504
  def doCarInvoiceOCR(args, parsed_globals):
3453
3505
  g_param = parse_global_arg(parsed_globals)
3454
3506
 
@@ -4398,7 +4450,6 @@ MODELS_MAP = {
4398
4450
  ACTION_MAP = {
4399
4451
  "InsuranceBillOCR": doInsuranceBillOCR,
4400
4452
  "ImageEnhancement": doImageEnhancement,
4401
- "GeneralBasicOCR": doGeneralBasicOCR,
4402
4453
  "SmartStructuralOCRV2": doSmartStructuralOCRV2,
4403
4454
  "EnterpriseLicenseOCR": doEnterpriseLicenseOCR,
4404
4455
  "BusinessCardOCR": doBusinessCardOCR,
@@ -4409,6 +4460,7 @@ ACTION_MAP = {
4409
4460
  "VatInvoiceVerifyNew": doVatInvoiceVerifyNew,
4410
4461
  "QrcodeOCR": doQrcodeOCR,
4411
4462
  "GeneralAccurateOCR": doGeneralAccurateOCR,
4463
+ "FlightInvoiceOCR": doFlightInvoiceOCR,
4412
4464
  "MixedInvoiceOCR": doMixedInvoiceOCR,
4413
4465
  "RecognizeContainerOCR": doRecognizeContainerOCR,
4414
4466
  "RecognizeTableAccurateOCR": doRecognizeTableAccurateOCR,
@@ -4434,7 +4486,7 @@ ACTION_MAP = {
4434
4486
  "VatInvoiceOCR": doVatInvoiceOCR,
4435
4487
  "CreateAIFormTask": doCreateAIFormTask,
4436
4488
  "WaybillOCR": doWaybillOCR,
4437
- "FlightInvoiceOCR": doFlightInvoiceOCR,
4489
+ "GeneralBasicOCR": doGeneralBasicOCR,
4438
4490
  "PermitOCR": doPermitOCR,
4439
4491
  "RecognizeTableOCR": doRecognizeTableOCR,
4440
4492
  "RecognizeValidIDCardOCR": doRecognizeValidIDCardOCR,
@@ -4462,6 +4514,7 @@ ACTION_MAP = {
4462
4514
  "RecognizeMedicalInvoiceOCR": doRecognizeMedicalInvoiceOCR,
4463
4515
  "RideHailingDriverLicenseOCR": doRideHailingDriverLicenseOCR,
4464
4516
  "VehicleRegCertOCR": doVehicleRegCertOCR,
4517
+ "BankCardOCR": doBankCardOCR,
4465
4518
  "CarInvoiceOCR": doCarInvoiceOCR,
4466
4519
  "RecognizeForeignPermanentResidentIdCard": doRecognizeForeignPermanentResidentIdCard,
4467
4520
  "MainlandPermitOCR": doMainlandPermitOCR,
@@ -14,6 +14,13 @@
14
14
  "output": "ArithmeticOCRResponse",
15
15
  "status": "online"
16
16
  },
17
+ "BankCardOCR": {
18
+ "document": "本接口支持对中国大陆主流银行卡正反面关键字段的检测与识别,包括卡号、卡类型、卡名字、银行信息、有效期。支持竖排异形卡识别、多角度旋转图片识别。支持对复印件、翻拍件、边框遮挡的银行卡进行告警,可应用于各种银行卡信息有效性校验场景,如金融行业身份认证、第三方支付绑卡等场景。\n\n默认接口请求频率限制:10次/秒。",
19
+ "input": "BankCardOCRRequest",
20
+ "name": "银行卡识别",
21
+ "output": "BankCardOCRResponse",
22
+ "status": "online"
23
+ },
17
24
  "BankSlipOCR": {
18
25
  "document": "本接口支持银行回单全字段的识别,包括付款开户行、收款开户行、付款账号、收款账号、回单类型、回单编号、币种、流水号、凭证号码、交易机构、交易金额、手续费、日期等字段信息。\n\n默认接口请求频率限制:10次/秒。",
19
26
  "input": "BankSlipOCRRequest",
@@ -1380,6 +1387,186 @@
1380
1387
  ],
1381
1388
  "type": "object"
1382
1389
  },
1390
+ "BankCardOCRRequest": {
1391
+ "document": "BankCardOCR请求参数结构体",
1392
+ "members": [
1393
+ {
1394
+ "disabled": false,
1395
+ "document": "图片的 Base64 值。要求图片经Base64编码后不超过 7M,分辨率建议500*800以上,支持PNG、JPG、JPEG、BMP格式。建议卡片部分占据图片2/3以上。\n图片的 ImageUrl、ImageBase64 必须提供一个,如果都提供,只使用 ImageUrl。",
1396
+ "example": "/9j/4AAQSkZJRg.....s97n//2Q==",
1397
+ "member": "string",
1398
+ "name": "ImageBase64",
1399
+ "required": false,
1400
+ "type": "string"
1401
+ },
1402
+ {
1403
+ "disabled": false,
1404
+ "document": "图片的 Url 地址。要求图片经Base64编码后不超过 7M,分辨率建议500*800以上,支持PNG、JPG、JPEG、BMP格式。建议卡片部分占据图片2/3以上。\n建议图片存储于腾讯云,可保障更高的下载速度和稳定性。",
1405
+ "example": "https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/card/BankCardOCR/BankCardOCR1.jpg",
1406
+ "member": "string",
1407
+ "name": "ImageUrl",
1408
+ "required": false,
1409
+ "type": "string"
1410
+ },
1411
+ {
1412
+ "disabled": false,
1413
+ "document": "是否返回预处理(精确剪裁对齐)后的银行卡图片数据,默认false。",
1414
+ "example": "false",
1415
+ "member": "bool",
1416
+ "name": "RetBorderCutImage",
1417
+ "required": false,
1418
+ "type": "bool"
1419
+ },
1420
+ {
1421
+ "disabled": false,
1422
+ "document": "是否返回卡号的切图图片数据,默认false。",
1423
+ "example": "false",
1424
+ "member": "bool",
1425
+ "name": "RetCardNoImage",
1426
+ "required": false,
1427
+ "type": "bool"
1428
+ },
1429
+ {
1430
+ "disabled": false,
1431
+ "document": "复印件检测开关,如果输入的图片是银行卡复印件图片则返回告警,默认false。",
1432
+ "example": "false",
1433
+ "member": "bool",
1434
+ "name": "EnableCopyCheck",
1435
+ "required": false,
1436
+ "type": "bool"
1437
+ },
1438
+ {
1439
+ "disabled": false,
1440
+ "document": "翻拍检测开关,如果输入的图片是银行卡翻拍图片则返回告警,默认false。",
1441
+ "example": "false",
1442
+ "member": "bool",
1443
+ "name": "EnableReshootCheck",
1444
+ "required": false,
1445
+ "type": "bool"
1446
+ },
1447
+ {
1448
+ "disabled": false,
1449
+ "document": "边框遮挡检测开关,如果输入的图片是银行卡边框被遮挡则返回告警,默认false。",
1450
+ "example": "false",
1451
+ "member": "bool",
1452
+ "name": "EnableBorderCheck",
1453
+ "required": false,
1454
+ "type": "bool"
1455
+ },
1456
+ {
1457
+ "disabled": false,
1458
+ "document": "是否返回图片质量分数(图片质量分数是评价一个图片的模糊程度的标准),默认false。",
1459
+ "example": "false",
1460
+ "member": "bool",
1461
+ "name": "EnableQualityValue",
1462
+ "required": false,
1463
+ "type": "bool"
1464
+ }
1465
+ ],
1466
+ "type": "object"
1467
+ },
1468
+ "BankCardOCRResponse": {
1469
+ "document": "BankCardOCR返回参数结构体",
1470
+ "members": [
1471
+ {
1472
+ "disabled": false,
1473
+ "document": "卡号",
1474
+ "example": "6225768888888888",
1475
+ "member": "string",
1476
+ "name": "CardNo",
1477
+ "output_required": true,
1478
+ "type": "string",
1479
+ "value_allowed_null": false
1480
+ },
1481
+ {
1482
+ "disabled": false,
1483
+ "document": "银行信息",
1484
+ "example": "招商银行(03080000)",
1485
+ "member": "string",
1486
+ "name": "BankInfo",
1487
+ "output_required": true,
1488
+ "type": "string",
1489
+ "value_allowed_null": false
1490
+ },
1491
+ {
1492
+ "disabled": false,
1493
+ "document": "有效期,格式如:07/2023",
1494
+ "example": "07/2023",
1495
+ "member": "string",
1496
+ "name": "ValidDate",
1497
+ "output_required": true,
1498
+ "type": "string",
1499
+ "value_allowed_null": false
1500
+ },
1501
+ {
1502
+ "disabled": false,
1503
+ "document": "卡类型",
1504
+ "example": "贷记卡",
1505
+ "member": "string",
1506
+ "name": "CardType",
1507
+ "output_required": true,
1508
+ "type": "string",
1509
+ "value_allowed_null": false
1510
+ },
1511
+ {
1512
+ "disabled": false,
1513
+ "document": "卡名字",
1514
+ "example": "招商银行信用卡",
1515
+ "member": "string",
1516
+ "name": "CardName",
1517
+ "output_required": true,
1518
+ "type": "string",
1519
+ "value_allowed_null": false
1520
+ },
1521
+ {
1522
+ "disabled": false,
1523
+ "document": "切片图片数据\n注意:此字段可能返回 null,表示取不到有效值。",
1524
+ "example": "/9j/4AAQSkZJRg.....s97n//2Q==",
1525
+ "member": "string",
1526
+ "name": "BorderCutImage",
1527
+ "output_required": true,
1528
+ "type": "string",
1529
+ "value_allowed_null": true
1530
+ },
1531
+ {
1532
+ "disabled": false,
1533
+ "document": "卡号图片数据\n注意:此字段可能返回 null,表示取不到有效值。",
1534
+ "example": "/9j/4AAQSkZJRg.....s97n//2Q==",
1535
+ "member": "string",
1536
+ "name": "CardNoImage",
1537
+ "output_required": true,
1538
+ "type": "string",
1539
+ "value_allowed_null": true
1540
+ },
1541
+ {
1542
+ "disabled": false,
1543
+ "document": "WarningCode 告警码列表和释义:\n-9110:银行卡日期无效; \n-9111:银行卡边框不完整; \n-9112:银行卡图片反光;\n-9113:银行卡复印件;\n-9114:银行卡翻拍件\n(告警码可以同时存在多个)\n注意:此字段可能返回 null,表示取不到有效值。",
1544
+ "example": "[-9110]",
1545
+ "member": "int64",
1546
+ "name": "WarningCode",
1547
+ "output_required": true,
1548
+ "type": "list",
1549
+ "value_allowed_null": true
1550
+ },
1551
+ {
1552
+ "disabled": false,
1553
+ "document": "图片质量分数,请求EnableQualityValue时返回(取值范围:0-100,分数越低越模糊,建议阈值≥50)。\n注意:此字段可能返回 null,表示取不到有效值。",
1554
+ "example": "90",
1555
+ "member": "int64",
1556
+ "name": "QualityValue",
1557
+ "output_required": true,
1558
+ "type": "int",
1559
+ "value_allowed_null": true
1560
+ },
1561
+ {
1562
+ "document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
1563
+ "member": "string",
1564
+ "name": "RequestId",
1565
+ "type": "string"
1566
+ }
1567
+ ],
1568
+ "type": "object"
1569
+ },
1383
1570
  "BankSlipInfo": {
1384
1571
  "document": "银行回单识别出的字段",
1385
1572
  "members": [
@@ -16,6 +16,14 @@
16
16
  "title": "算式识别示例代码"
17
17
  }
18
18
  ],
19
+ "BankCardOCR": [
20
+ {
21
+ "document": "",
22
+ "input": "POST / HTTP/1.1\nHost: ocr.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: BankCardOCR\n<公共请求参数>\n\n{\n \"ImageUrl\": \"https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/card/BankCardOCR/BankCardOCR1.jpg\"\n}",
23
+ "output": "{\n \"Response\": {\n \"BankInfo\": \"招商银行(03080000)\",\n \"BorderCutImage\": null,\n \"CardName\": \"招商银行信用卡\",\n \"CardNo\": \"6225768888888888\",\n \"CardNoImage\": null,\n \"CardType\": \"贷记卡\",\n \"QualityValue\": null,\n \"RequestId\": \"4a4438c5-09ff-4031-945c-17000ba4542d\",\n \"ValidDate\": \"07/2023\",\n \"WarningCode\": null\n }\n}",
24
+ "title": "BankCardOCR调用"
25
+ }
26
+ ],
19
27
  "BankSlipOCR": [
20
28
  {
21
29
  "document": "银行回单识别",
@@ -81,7 +81,7 @@
81
81
  "DeleteFunctionVersion": [
82
82
  {
83
83
  "document": "删除函数 test 的版本 2 ",
84
- "input": "POST / HTTP/1.1\nHost: scf.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteFunctionVersion\n<公共请求参数>\n\n{\n \"FunctionName\": \"test\",\n \"Namespace\": \"default\",\n \"Qualifier\": \"2\"\n}",
84
+ "input": "POST / HTTP/1.1\nHost: scf.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteFunctionVersion\n<公共请求参数>\n\n{\n \"FunctionName\": \"functionName1\",\n \"Namespace\": \"default\",\n \"Qualifier\": \"2\"\n}",
85
85
  "output": "{\n \"Response\": {\n \"RequestId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n}",
86
86
  "title": "删除函数指定版本"
87
87
  }
@@ -272,7 +272,7 @@
272
272
  {
273
273
  "document": "查询status标签的值是dev,且owner标签的值是me的函数",
274
274
  "input": "https://scf.tencentcloudapi.com/?Action=ListFunctions\n&Filters.0.Name=tag-status\n&Filters.0.Values.0=dev\n&Filters.1.Name=tag-owner\n&Filters.1.Values.0=me\n&<公共请求参数>",
275
- "output": "{\n \"Response\": {\n \"TotalCount\": 1,\n \"Functions\": [\n {\n \"Status\": \"Active\",\n \"FunctionName\": \"test\",\n \"TotalProvisionedConcurrencyMem\": 1,\n \"Namespace\": \"default\",\n \"Runtime\": \"Python3.6\",\n \"Type\": \"HTTP\",\n \"ReservedConcurrencyMem\": 1,\n \"Description\": \"just for test\",\n \"TraceEnable\": \"FALSE\",\n \"AsyncRunEnable\": \"FALSE\",\n \"FunctionId\": \"lam-xxxxxxxx\",\n \"StatusReasons\": [],\n \"StatusDesc\": \"\",\n \"AddTime\": \"2000-01-01 00:00:00\",\n \"ModTime\": \"2000-01-01 00:00:00\",\n \"Tags\": [\n {\n \"Value\": \"dev\",\n \"Key\": \"status\"\n },\n {\n \"Value\": \"me\",\n \"Key\": \"owner\"\n }\n ]\n }\n ],\n \"RequestId\": \"77ccef58-0ebb-4523-ab88-a37063443524\"\n }\n}",
275
+ "output": "{\n \"Response\": {\n \"TotalCount\": 1,\n \"Functions\": [\n {\n \"Status\": \"Active\",\n \"FunctionName\": \"functionName1\",\n \"TotalProvisionedConcurrencyMem\": 1,\n \"Namespace\": \"default\",\n \"Runtime\": \"Python3.6\",\n \"Type\": \"HTTP\",\n \"ReservedConcurrencyMem\": 1,\n \"Description\": \"just for test\",\n \"TraceEnable\": \"FALSE\",\n \"AsyncRunEnable\": \"FALSE\",\n \"FunctionId\": \"lam-xxxxxxxx\",\n \"StatusReasons\": [],\n \"StatusDesc\": \"\",\n \"AddTime\": \"2000-01-01 00:00:00\",\n \"ModTime\": \"2000-01-01 00:00:00\",\n \"Tags\": [\n {\n \"Value\": \"dev\",\n \"Key\": \"status\"\n },\n {\n \"Value\": \"me\",\n \"Key\": \"owner\"\n }\n ]\n }\n ],\n \"RequestId\": \"77ccef58-0ebb-4523-ab88-a37063443524\"\n }\n}",
276
276
  "title": "根据标签查询函数"
277
277
  }
278
278
  ],
@@ -483,9 +483,10 @@
483
483
  {
484
484
  "disabled": false,
485
485
  "document": "自动注入SideCar的NameSpace",
486
- "example": "",
486
+ "example": "{\"ns1\",\"ns2\"}",
487
487
  "member": "string",
488
488
  "name": "AutoInjectionNamespaceList",
489
+ "output_required": true,
489
490
  "required": true,
490
491
  "type": "list",
491
492
  "value_allowed_null": false
@@ -496,6 +497,7 @@
496
497
  "example": "无",
497
498
  "member": "IngressGateway",
498
499
  "name": "IngressGatewayList",
500
+ "output_required": true,
499
501
  "required": false,
500
502
  "type": "list",
501
503
  "value_allowed_null": false
@@ -506,6 +508,7 @@
506
508
  "example": "无",
507
509
  "member": "EgressGateway",
508
510
  "name": "EgressGatewayList",
511
+ "output_required": true,
509
512
  "required": false,
510
513
  "type": "list",
511
514
  "value_allowed_null": false
@@ -516,6 +519,7 @@
516
519
  "example": "无",
517
520
  "member": "IstiodConfig",
518
521
  "name": "Istiod",
522
+ "output_required": true,
519
523
  "required": false,
520
524
  "type": "object",
521
525
  "value_allowed_null": true
@@ -526,6 +530,7 @@
526
530
  "example": "无",
527
531
  "member": "DeployConfig",
528
532
  "name": "DeployConfig",
533
+ "output_required": true,
529
534
  "required": false,
530
535
  "type": "object",
531
536
  "value_allowed_null": false
@@ -533,9 +538,10 @@
533
538
  {
534
539
  "disabled": false,
535
540
  "document": "自动注入命名空间状态列表",
536
- "example": "{\"ns1\",\"ns2\"}",
541
+ "example": "",
537
542
  "member": "AutoInjectionNamespaceState",
538
543
  "name": "AutoInjectionNamespaceStateList",
544
+ "output_required": true,
539
545
  "required": false,
540
546
  "type": "list",
541
547
  "value_allowed_null": false
@@ -1035,7 +1041,7 @@
1035
1041
  "example": "无",
1036
1042
  "member": "Mesh",
1037
1043
  "name": "Mesh",
1038
- "required": true,
1044
+ "output_required": true,
1039
1045
  "type": "object",
1040
1046
  "value_allowed_null": false
1041
1047
  },