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

Sign up to get free protection for your applications and to get access to all the features.
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
  },