diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/cloudauth | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/cloudauth')
| -rw-r--r-- | data/en_us/cloudauth/2019-03-07/api-docs.php | 23705 | ||||
| -rw-r--r-- | data/en_us/cloudauth/2022-11-25/api-docs.php | 1381 |
2 files changed, 10932 insertions, 14154 deletions
diff --git a/data/en_us/cloudauth/2019-03-07/api-docs.php b/data/en_us/cloudauth/2019-03-07/api-docs.php index 0d1ef0a..4446bb4 100644 --- a/data/en_us/cloudauth/2019-03-07/api-docs.php +++ b/data/en_us/cloudauth/2019-03-07/api-docs.php @@ -1,118 +1,54 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Cloudauth', - 'version' => '2019-03-07', - ], + 'info' => ['style' => 'RPC', 'product' => 'Cloudauth', 'version' => '2019-03-07'], 'directories' => [ [ - 'id' => 172202, - 'title' => 'Enhanced Real Person Certification', + 'children' => ['LivenessFaceVerify', 'CompareFaceVerify', 'ContrastFaceVerify', 'DescribeFaceVerify', 'InitFaceVerify', 'DescribeFaceGuardRisk', 'AIGCFaceVerify', 'DeleteFaceVerifyResult'], 'type' => 'directory', - 'children' => [ - 'LivenessFaceVerify', - 'CompareFaceVerify', - 'ContrastFaceVerify', - 'DescribeFaceVerify', - 'InitFaceVerify', - 'DescribeFaceGuardRisk', - 'AIGCFaceVerify', - 'DeleteFaceVerifyResult', - ], + 'title' => 'Enhanced Real Person Certification', ], [ - 'id' => 187371, - 'title' => 'information verification', - 'type' => 'directory', 'children' => [ [ - 'id' => 322831, - 'title' => null, + 'children' => ['DeepfakeDetect'], 'type' => 'directory', - 'children' => [ - 'DeepfakeDetect', - ], + 'title' => 'Face Detection', ], [ - 'id' => 322832, - 'title' => null, + 'children' => ['CredentialProductVerifyV2', 'CredentialVerifyV2', 'CredentialVerify'], 'type' => 'directory', - 'children' => [ - 'CredentialProductVerifyV2', - 'CredentialVerifyV2', - 'CredentialVerify', - ], + 'title' => 'Credential Detection', ], [ - 'id' => 322833, - 'title' => null, + 'children' => ['BankMetaVerify'], 'type' => 'directory', - 'children' => [ - 'BankMetaVerify', - ], + 'title' => 'Bank Card Verification', ], [ - 'id' => 322834, - 'title' => null, + 'children' => ['MobileRecycledMetaVerify', 'MobileDetect', 'Mobile3MetaSimpleVerify', 'Mobile3MetaDetailVerify', 'Mobile2MetaVerify', 'MobileOnlineTime', 'MobileOnlineStatus', 'Mobile3MetaSimpleStandardVerify', 'Mobile3MetaDetailStandardVerify'], 'type' => 'directory', - 'children' => [ - 'MobileRecycledMetaVerify', - 'MobileDetect', - 'Mobile3MetaSimpleVerify', - 'Mobile3MetaDetailVerify', - 'Mobile2MetaVerify', - 'MobileOnlineTime', - 'MobileOnlineStatus', - 'Mobile3MetaSimpleStandardVerify', - 'Mobile3MetaDetailStandardVerify', - ], + 'title' => 'Phone Number Verification', ], [ - 'id' => 322835, - 'title' => null, + 'children' => ['Id2MetaStandardVerify', 'Id2MetaVerify', 'Id2MetaVerifyWithOCR', 'Id3MetaVerify', 'Id2MetaPeriodVerify', 'InitCardVerify', 'DescribeCardVerify', 'Id3MetaVerifyWithOCR'], 'type' => 'directory', - 'children' => [ - 'Id2MetaStandardVerify', - 'Id2MetaVerify', - 'Id2MetaVerifyWithOCR', - 'Id3MetaVerify', - 'Id2MetaPeriodVerify', - 'InitCardVerify', - 'DescribeCardVerify', - 'Id3MetaVerifyWithOCR', - ], + 'title' => 'Identity Verification', ], [ - 'id' => 187373, - 'title' => 'vehicle information identification', + 'children' => ['VehicleMetaVerifyV2', 'VehicleMetaVerify', 'Vehicle5ItemQuery', 'VehicleQuery', 'VehicleInsureQuery'], 'type' => 'directory', - 'children' => [ - 'VehicleMetaVerifyV2', - 'VehicleMetaVerify', - 'Vehicle5ItemQuery', - 'VehicleQuery', - 'VehicleInsureQuery', - ], + 'title' => 'vehicle information identification', ], ], + 'type' => 'directory', + 'title' => 'information verification', ], [ - 'id' => 186118, - 'title' => 'Real person certification (stopped selling, documents stopped updating)', + 'children' => ['VerifyMaterial', 'DescribeVerifyToken', 'DescribeVerifyResult', 'CompareFaces', 'DetectFaceAttributes'], 'type' => 'directory', - 'children' => [ - 'VerifyMaterial', - 'DescribeVerifyToken', - 'DescribeVerifyResult', - 'CompareFaces', - 'DetectFaceAttributes', - ], + 'title' => 'Real person certification (stopped selling, documents stopped updating)', ], [ - 'id' => 172203, - 'title' => 'Other', - 'type' => 'directory', 'children' => [ 'DescribePageFaceVerifyData', 'CreateCloudauthstScene', @@ -125,45 +61,15 @@ 'InsertWhiteListSetting', 'PageQueryWhiteListSetting', [ - 'id' => 172209, - 'title' => 'AIGC generated image detection', - 'type' => 'directory', 'children' => [ [ - 'id' => 59190, - 'title' => null, + 'children' => ['DescribeVerifySDK'], 'type' => 'directory', - 'children' => [ - 'CreateAuthKey', - 'DescribeOssUploadToken', - ], - ], - [ - 'id' => 59198, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'CreateVerifySetting', - ], - ], - [ - 'id' => 59208, 'title' => 'SDK', - 'type' => 'directory', - 'children' => [ - 'DescribeVerifySDK', - ], - ], - [ - 'id' => 59215, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'ModifyDeviceInfo', - 'DescribeDeviceInfo', - ], ], ], + 'type' => 'directory', + 'title' => 'AIGC generated image detection', ], 'DeleteWhitelistSetting', 'CreateWhitelistSetting', @@ -210,256 +116,315 @@ 'DescribeAuthVerify', 'InitAuthVerify', ], + 'type' => 'directory', + 'title' => 'Other', + ], + [ + 'children' => ['CreateAuthKey', 'CreateVerifySetting', 'DescribeDeviceInfo', 'DescribeOssUploadToken', 'ModifyDeviceInfo'], + 'title' => 'Others', + 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'LivenessFaceVerify' => [ - 'summary' => 'Silent Liveness Face (LivenessFaceVerify) refers to a service that performs real face detection by inputting pre-obtained face images through an API. The algorithm primarily identifies whether the face is from a screen recording, printed picture, or other types of liveness attacks. This service is suitable for low-risk business scenarios or in conjunction with offline facial recognition SDKs. If your business has higher requirements for real face security, it is recommended to integrate App or WebSDK mode, or integrate with Deepfake face detection services to assist in identifying more dimensions of face forgery risks.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AIGCFaceVerify' => [ + 'summary' => 'Detects whether an image is generated by AIGC and returns the detection result.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '59165', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '206861', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'SceneId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Authentication scenario ID. This ID is automatically generated after creating an authentication scenario in the console.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => ' '."\n" - .'100000****', - ], + 'in' => 'query', + 'schema' => ['description' => 'The ID of the verification scenario. This ID is automatically generated after you create a verification scenario in the console. For more information about how to create a verification scenario, refer to Add a verification scenario.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100000xxxx', 'title' => ''], ], [ 'name' => 'OuterOrderNo', - 'in' => 'formData', - 'schema' => [ - 'description' => 'A unique business identifier defined by the client side, used for subsequent troubleshooting. The value should be a combination of letters and numbers up to 32 characters long, ensuring uniqueness.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'in' => 'query', + 'schema' => ['description' => 'The custom business unique identifier on the client side, used for subsequent troubleshooting. The value can contain up to 32 characters, including letters and digits. Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ 'name' => 'ProductCode', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Fixed value: LR_FR_MIN.', - 'type' => 'string', - 'required' => false, - 'example' => 'LR_FR_MIN', - ], + 'in' => 'query', + 'schema' => ['description' => 'The product plan.', 'type' => 'string', 'required' => false, 'example' => 'LR_FR_AIGC', 'title' => ''], ], [ 'name' => 'FaceContrastPicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded photo.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - ], + 'schema' => ['description' => 'The Base64-encoded photo.'."\n" + .'> You can use one of the following methods to pass in the image: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', 'type' => 'string', 'required' => false, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx'."\n", 'title' => ''], ], [ - 'name' => 'DeviceToken', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Device token, used for risk identification.', - 'type' => 'string', - 'required' => false, - 'example' => ' '."\n" - .'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', - ], + 'name' => 'FaceContrastPictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the face image. The URL must be a publicly accessible HTTP or HTTPS link.'."\n" + ."\n" + .'> You can use one of the following methods to pass in the image: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', 'type' => 'string', 'required' => false, 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', 'title' => ''], ], [ - 'name' => 'Mobile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'User\'s mobile phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '130xxxxxxxx', - ], + 'name' => 'OssBucketName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the authorized OSS bucket.'."\n" + .'> You can use one of the following methods to pass in the image: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx'."\n", 'title' => ''], ], [ - 'name' => 'Ip', - 'in' => 'formData', + 'name' => 'OssObjectName', + 'in' => 'query', + 'schema' => ['description' => 'The file name in the authorized OSS bucket.'."\n" + .'> You can use one of the following methods to pass in the image: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'verify/xxxxx/xxxxxx.jpeg'."\n", 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'User\'s network IP address.', - 'type' => 'string', - 'required' => false, - 'example' => '114.xxx.xxx.xxx', + 'title' => '', + 'description' => 'The response object.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Result' => [ + 'description' => 'The detection result. Valid values:'."\n" + ."\n" + .'● Y: The face is generated by AIGC.'."\n" + ."\n" + .'● N: No AIGC-generated face is detected.', + 'enumValueTitles' => ['Y' => 'AIGC-generated face.', 'N' => 'Non-AIGC-generated face.'], + 'type' => 'string', + 'example' => 'Y', + 'title' => '', + ], + 'Score' => ['description' => 'The detection score.', 'type' => 'string', 'example' => '1.0000', 'title' => ''], + 'CertifyId' => ['description' => 'The unique identifier for ID Verification.', 'type' => 'string', 'example' => '91707dc296d469ad38e4c5efa6a0****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"Y\\",\\n \\"Score\\": \\"1.0000\\",\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0****\\"\\n }\\n}","type":"json"}]', + 'title' => 'Detect aIGC-generated images', + 'changeSet' => [ + ['createdAt' => '2024-03-13T02:12:38.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AIGCFaceVerify'], + ], + ], + 'ramActions' => [ [ - 'name' => 'UserId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Your custom user ID (up to 100 characters), please ensure it is unique.', - 'type' => 'string', - 'required' => false, - 'example' => '123456789', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeAIGCFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'BankMetaVerify' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'FaceContrastPictureUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Image URL.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://ware.cdeledu.com/upfile/uploadPic/2025/03/21/dd62fbb9c966433ab0ba9a7252816b30.jpg', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '208613', + 'abilityTreeNodes' => ['FEATUREcloudauth883TGF'], + ], + 'parameters' => [ [ - 'name' => 'CertifyId', - 'in' => 'formData', + 'name' => 'ParamType', + 'in' => 'query', 'schema' => [ - 'description' => 'Unique identifier for real-person authentication.', + 'description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', + 'enumValueTitles' => ['normal' => 'normal', 'md5' => 'md5'], 'type' => 'string', 'required' => false, - 'example' => '91707dc296d469ad38e4c5efa6a0f24b', + 'example' => 'normal', + 'title' => '', ], ], [ - 'name' => 'OssBucketName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Authorized OSS bucket name.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai-aliyun-cloudauth-1494517779820665', - ], + 'name' => 'VerifyMode', + 'in' => 'query', + 'schema' => ['description' => 'VERIFY_BANK_CARD: bank card verification mode. Specifies whether the provided bank card number matches the real name, ID card number, and phone number of the user.', 'type' => 'string', 'required' => false, 'example' => 'VERIFY_BANK_CARD', 'title' => ''], ], [ - 'name' => 'OssObjectName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Authorized OSS file name.', - 'type' => 'string', - 'required' => false, - 'example' => 'facedetect/17483113370916034.jpg', - ], + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => ['description' => 'The product type. Valid values:'."\n" + ."\n" + .'- BANK_CARD_2_META: bank card number + name verification.'."\n" + .'- BANK_CARD_3_META: bank card number + name + ID card number verification.'."\n" + .'- BANK_CARD_4_META: bank card number + name + ID card number + phone number verification.', 'type' => 'string', 'required' => false, 'example' => 'BANK_CARD_2_META', 'title' => ''], ], [ - 'name' => 'Model', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => 'Liveness detection parameters.', - 'type' => 'string', - 'required' => false, - 'example' => 'FRONT_CAMERA_LIVENESS', - ], + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- If paramType is set to normal, enter the name in plaintext.'."\n" + .'- If paramType is set to md5, enter the MD5 hash (32-bit lowercase) of the first character of the name + the remaining characters of the name in plaintext.', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], ], [ - 'name' => 'Crop', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Whether to allow cropping of the face image:'."\n" - ."\n" - .'- T: Allow cropping'."\n" - ."\n" - .'- F (default): Do not allow cropping.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'name' => 'IdentifyNum', + 'in' => 'query', + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'- This parameter is required if ProductType is set to BANK_CARD_3_META.'."\n" + .'- If paramType is set to normal, enter the ID card number in plaintext.'."\n" + .'- If paramType is set to md5, enter the first 6 digits of the ID card number in plaintext + the MD5 hash (32-bit lowercase) of the date of birth + the last 4 digits of the ID card number.', 'type' => 'string', 'required' => false, 'example' => '429001********8211', 'title' => ''], + ], + [ + 'name' => 'BankCard', + 'in' => 'query', + 'schema' => ['description' => 'The bank card number.'."\n" + ."\n" + .'- If paramType is set to normal, enter the bank card number in plaintext.'."\n" + .'- If paramType is set to md5, enter the card number excluding the last 6 digits in plaintext + the MD5 hash (32-bit lowercase) of the last 6 digits.', 'type' => 'string', 'required' => false, 'example' => '610*************1181', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The phone number.'."\n" + ."\n" + .'- This parameter is required if ProductType is set to BANK_CARD_4_META.'."\n" + .'- If paramType is set to normal, enter the phone number in plaintext.'."\n" + .'- If paramType is set to md5, enter the MD5 hash (32-bit lowercase) of the phone number.', 'type' => 'string', 'required' => false, 'example' => '138******11', 'title' => ''], + ], + [ + 'name' => 'IdentityType', + 'in' => 'query', + 'schema' => ['description' => 'The identity document type.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Return code, **200** indicates successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-A***B-A3DC0DE3C83E'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Return result.', + 'description' => 'The result information.', 'type' => 'object', 'properties' => [ - 'CertifyId' => [ - 'description' => 'Unique identifier for the real-person authentication request.', - 'type' => 'string', - 'example' => '91707dc296d469ad38e4c5efa6a0f24b', - ], - 'SubCode' => [ - 'description' => 'Authentication result code.', - 'type' => 'string', - 'example' => '200', - ], - 'MaterialInfo' => [ - 'description' => 'Attachment information of the face authentication subject, including data such as face quality, face attack, face or OCR image, and intent verification.', - 'type' => 'string', - 'example' => '{"faceAttack": "F","facialPictureFront": {"qualityScore": 88.3615493774414,"verifyScore": 50.28594166529785}}', - ], - 'Passed' => [ - 'description' => 'Authentication result, values:'."\n" - ."\n" - .'- T: Passed'."\n" - ."\n" - .'- F: Not passed', - 'type' => 'string', - 'example' => 'T', - ], + 'BizCode' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- 1: Consistent (billable).'."\n" + .'- 2: Inconsistent (billable).'."\n" + .'- 3: No record found (not billable).', 'type' => 'string', 'example' => '1', 'title' => ''], + 'SubCode' => ['description' => 'The verification details. Valid values:'."\n" + ."\n" + .'- **101**: Verification passed.'."\n" + .'- **201**: Verification information is inconsistent. The cardholder information is incorrect.'."\n" + .'- **202**: Verification information is inconsistent. The bank card has not enabled authenticated payment.'."\n" + .'- **203**: Verification information is inconsistent. The bank card has expired.'."\n" + .'- **204**: Verification information is inconsistent. The bank card is restricted.'."\n" + .'- **205**: Verification information is inconsistent. The card has been confiscated.'."\n" + .'- **206**: Verification information is inconsistent. The bank card is invalid.'."\n" + .'- **207**: Verification information is inconsistent. No issuing bank found for this card.'."\n" + .'- **208**: Verification information is inconsistent. The card has not been initialized or is a dormant card.'."\n" + .'- **209**: Verification information is inconsistent. The card is a fraudulent or retained card.'."\n" + .'- **210**: Verification information is inconsistent. The card has been reported lost.'."\n" + .'- **211**: Verification information is inconsistent. The number of incorrect password attempts has exceeded the limit.'."\n" + .'- **212**: Verification information is inconsistent. The issuing bank does not support this transaction.'."\n" + .'- **213**: Verification information is inconsistent. The card status is abnormal or the card is invalid.'."\n" + .'- **214**: Verification information is inconsistent. No phone number is registered with the card.'."\n" + .'- **215**: Verification information is inconsistent. The password, expiration date, or CVN2 is incorrect.'."\n" + .'- **216**: Verification information is inconsistent. Other card exceptions.'."\n" + .'- **301**: Unable to verify. The bank card does not support this service.'."\n" + .'- **302**: Unable to verify. Verification failed or the bank rejected the verification. Contact the issuing bank.'."\n" + .'- **303**: Unable to verify. The bank card does not support phone number verification.'."\n" + .'- **304**: Unable to verify. The bank card number is incorrect.'."\n" + .'- **305**: Unable to verify. Other reasons.'."\n" + .'- **306**: Unable to verify. The number of verification attempts has exceeded the limit.', 'type' => 'string', 'example' => '101', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0f24b\\",\\n \\"SubCode\\": \\"200\\",\\n \\"MaterialInfo\\": \\"{\\\\\\"faceAttack\\\\\\": \\\\\\"F\\\\\\",\\\\\\"facialPictureFront\\\\\\": {\\\\\\"qualityScore\\\\\\": 88.3615493774414,\\\\\\"verifyScore\\\\\\": 50.28594166529785}}\\",\\n \\"Passed\\": \\"T\\"\\n }\\n}","type":"json"}]', - 'title' => 'Silent Liveness Face Detection', - 'description' => 'Invoke the LivenessFaceVerify interface to perform liveness detection on a face image.', - 'translator' => 'machine', - ], - 'CompareFaceVerify' => [ - 'summary' => 'Financial-grade Pure Server-Side API for Face Comparison.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Bank card two, three, and four element verification', + 'summary' => 'Provides API operations for bank card element verification, including two-element, three-element, and four-element verification.', + 'description' => 'Verifies bank card information consistency, including two-element verification (name + bank card number), three-element verification (name + ID card number + bank card number), and four-element verification (name + ID card number + phone number + bank card number).'."\n" + .'- Service endpoint:'."\n" + .' - Singapore region: cloudauth.ap-southeast-1.aliyuncs.com (IPv4) or cloudauth-dualstack.ap-southeast-1.aliyuncs.com (IPv6).'."\n" + .' - Malaysia region: cloudauth.ap-southeast-3.aliyuncs.com (IPv4) or cloudauth-dualstack.ap-southeast-3.aliyuncs.com (IPv6).'."\n" + .'- Request method: POST and GET.'."\n" + .'- Transfer protocol: HTTPS.', + 'changeSet' => [ + ['createdAt' => '2024-09-04T07:32:50.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BankMetaVerify'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:BankMetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-A***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', + ], + 'CompareFaceVerify' => [ + 'summary' => 'Provides a financial-grade server-side API for face comparison.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -472,171 +437,103 @@ 'riskType' => 'high', 'chargeType' => 'paid', 'abilityTreeCode' => '59095', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'SceneId', 'in' => 'formData', - 'schema' => [ - 'description' => 'Authentication scenario ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000000006', - ], + 'schema' => ['description' => 'The verification scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000000006', 'title' => ''], ], [ 'name' => 'OuterOrderNo', 'in' => 'formData', - 'schema' => [ - 'description' => 'A unique identifier for the merchant\'s request. The value is a 32-character alphanumeric combination, where the first few characters are a custom abbreviation defined by the merchant, followed by a period, and the latter part can be a random or incrementing sequence.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'schema' => ['description' => 'The unique identifier of the merchant request.'."\n" + ."\n" + .'The value is a 32-character alphanumeric string. The first few characters are a custom abbreviation defined by the merchant, the middle part can be a time segment, and the last part can be a random or incremental sequence.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'formData', - 'schema' => [ - 'description' => 'Fixed value: PV_FC.', - 'type' => 'string', - 'required' => false, - 'example' => 'PV_FC', - ], + 'schema' => ['description' => 'Fixed value: PV_FC.', 'type' => 'string', 'required' => false, 'example' => 'PV_FC', 'title' => ''], ], [ 'name' => 'SourceFaceContrastPicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoding of the photo.'."\n" - .'> Choose one of the four ways to input a face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - 'maxLength' => 1048676, - ], + 'schema' => ['description' => 'The Base64-encoded photo.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'maxLength' => 1048676, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', 'title' => ''], ], [ 'name' => 'SourceFaceContrastPictureUrl', 'in' => 'formData', - 'schema' => [ - 'description' => 'OSS photo URL, currently only supports authorized OSS photo URLs.'."\n" - .'> Four ways to input face photos: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, and OSS. Choose one of them to input.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', - ], + 'schema' => ['description' => 'The OSS photo URL. Only authorized OSS photo URLs are supported.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', 'title' => ''], ], [ 'name' => 'SourceCertifyId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The CertifyId of a previously successful real-person verification, where the photo taken during that verification is used as the face comparison photo.'."\n" - .'> Among the four ways to input facial photos (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to provide.', - 'type' => 'string', - 'required' => false, - 'example' => '0bfa7c493f850e5178b9f8613634c9xx', - ], + 'schema' => ['description' => 'The CertifyId from a previous successful ID Verification. The photo captured during that verification is used as the face comparison photo.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => '0bfa7c493f850e5178b9f8613634c9xx', 'title' => ''], ], [ 'name' => 'SourceOssBucketName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Name of the authorized OSS bucket.'."\n" - .'> Choose one of the four ways to input face photos: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', - ], + 'schema' => ['description' => 'The bucket name of the authorized OSS space.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', 'title' => ''], ], [ 'name' => 'SourceOssObjectName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Filename of the authorized OSS space.'."\n" - .'> Choose one of the four ways to input face photos: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => 'verify/xxxxx/xxxxxx.jpeg', - ], + 'schema' => ['description' => 'The file name in the authorized OSS space.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => 'verify/xxxxx/xxxxxx.jpeg', 'title' => ''], ], [ 'name' => 'TargetFaceContrastPicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoding of the reference photo.'."\n" - ."\n" - .'> Choose one of the four methods to provide the reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - 'maxLength' => 1048676, - ], + 'schema' => ['description' => 'The Base64-encoded reference photo.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'maxLength' => 1048676, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', 'title' => ''], ], [ 'name' => 'TargetFaceContrastPictureUrl', 'in' => 'formData', - 'schema' => [ - 'description' => 'OSS address of the reference photo. Currently, only authorized OSS addresses are supported.'."\n" - ."\n" - .'> Choose one of the four methods to provide the reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', - ], + 'schema' => ['description' => 'The OSS URL of the reference photo. Only authorized OSS photo URLs are supported.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', 'title' => ''], ], [ 'name' => 'TargetCertifyId', 'in' => 'formData', - 'schema' => [ - 'description' => 'CertifyId from a previously successful real-person authentication, where the photo taken during the authentication is used for face comparison.'."\n" - ."\n" - .'> Choose one of the four methods to provide the reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => '0bfa7c493f850e5178b9f8613634c9xx', - ], + 'schema' => ['description' => 'The CertifyId from a previous successful ID Verification. The photo captured during that verification is used as the face comparison photo.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => '0bfa7c493f850e5178b9f8613634c9xx', 'title' => ''], ], [ 'name' => 'TargetOssBucketName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Name of the authorized OSS bucket.'."\n" - ."\n" - .'> Choose one of the four methods to provide the reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', - ], + 'schema' => ['description' => 'The bucket name of the authorized OSS space.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', 'title' => ''], ], [ 'name' => 'TargetOssObjectName', 'in' => 'formData', - 'schema' => [ - 'description' => 'File name in the authorized OSS space.'."\n" - ."\n" - .'> Choose one of the four methods to provide the reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => 'verify/xxxxx/xxxxxx.jpeg', - ], + 'schema' => ['description' => 'The file name in the authorized OSS space.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a reference face photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select one method.', 'type' => 'string', 'required' => false, 'example' => 'verify/xxxxx/xxxxxx.jpeg', 'title' => ''], ], [ 'name' => 'Crop', 'in' => 'formData', - 'schema' => [ - 'description' => 'Whether cropping is allowed. Default is not allowed, T/F.'."\n" - ."\n" - .'- T: Indicates that cropping is required'."\n" - .'- F: Indicates that cropping is not required (default F)', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'Specifies whether cropping is allowed. Default value: F.'."\n" + ."\n" + .'- T: detection is required.'."\n" + .'- F: detection is required. (Default: F).', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], ], ], 'responses' => [ @@ -644,66 +541,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Return code: 200 for success, other values indicate failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error message.', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', 'title' => ''], 'ResultObject' => [ - 'description' => 'Face comparison result information.', + 'description' => 'The face comparison result.', 'type' => 'object', 'properties' => [ - 'CertifyId' => [ - 'description' => 'Unique identifier for the real-person authentication request.', - 'type' => 'string', - 'example' => '08573be80f944d95ac812e019e3655a8', - ], - 'VerifyScore' => [ - 'description' => 'Face comparison score.', - 'type' => 'number', - 'format' => 'float', - 'example' => '99.60875', - ], - 'Passed' => [ - 'description' => 'Whether the verification passed, T for pass, F for fail.', - 'type' => 'string', - 'example' => 'T', - ], + 'CertifyId' => ['description' => 'The unique identifier of the ID Verification request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8', 'title' => ''], + 'VerifyScore' => ['description' => 'The face comparison score.', 'type' => 'number', 'format' => 'float', 'example' => '99.60875', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification passed. A value of T indicates passed. A value of F indicates not passed.', 'type' => 'string', 'example' => 'T', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"VerifyScore\\": 99.60875,\\n \\"Passed\\": \\"T\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'Pure Server-Side API for Face Comparison Solution', - 'description' => '- API Name: CompareFaceVerify.'."\n" - .'- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.'."\n" - .'- API Description: An interface to achieve real-person authentication through server-side integration.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"VerifyScore\\": 99.60875,\\n \\"Passed\\": \\"T\\"\\n }\\n}","type":"json"}]', + 'title' => 'Face comparison server-side API', + 'description' => '- API operation: CompareFaceVerify.'."\n" + .'- Endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + .'- Operation description: Implements ID Verification through server-side integration.'."\n" ."\n" - .'#### Photo Format Requirements'."\n" - .'When performing face comparison, please upload 2 facial photos that meet all the following conditions:'."\n" + .'#### Photo format requirements'."\n" + .'When performing face comparison, submit two face photos that meet all of the following conditions:'."\n" ."\n" - .'- Recent photo/recent database photo, with a complete, clear, unobstructed face, natural expression, and facing the camera directly.'."\n" - .'- Clear photo with normal exposure, no overly dark, overly bright, or halo effects on the face, and no significant angle deviation.'."\n" - .'- Resolution not exceeding 1920*1080, at least 640*480, recommended to scale the shorter side to 720 pixels, with a compression ratio greater than 0.9.'."\n" - .'- Photo size: <1MB.'."\n" - .'- Supports 90, 180, and 270-degree photos; in cases of multiple faces, the largest face will be selected.', - 'requestParamsDescription' => '> Parameters starting with Source represent the parameters for the recent facial photo you are uploading, while parameters starting with Target represent the parameters for the recent database facial photo. For photo format requirements, please refer to [Photo Format Requirements](#photo-format-requirements).'."\n" - .'If you choose to upload facial photos via OSS, you must provide both OssBucketName and OssObjectName fields. The OSS parameter format only supports URLs, Buckets, and file names generated from an authorized OSS when enabling real-person authentication. For how to check authorized OSS, see [Enable OSS Space and Authorization](https://help.aliyun.com/document_detail/163532.html?spm=a2c4g.11186623.2.15.36945bc3y5uWz6#title-409-lcd-pp0) .'."\n" - .'If you choose to upload facial photos via FaceContrastPicture (Base64 encoded photo), please ensure the photo size is not too large; you can use the OSS method to upload larger facial photos.', - 'responseParamsDescription' => '返回值示例:'."\n" + .'- Recent photos or recent reference photos with a complete, clear, and unobstructed face, a natural expression, and the subject facing the camera directly.'."\n" + .'- Clear photos with normal exposure. The face must not be too dark, too bright, or have lens flare, and the angle must not deviate significantly.'."\n" + .'- Resolution must not exceed 1920×1080 and must be at least 640×480. The short side is recommended to be scaled to 720 pixels with a compression ratio greater than 0.9.'."\n" + .'- Photo size: < 1 MB.'."\n" + .'- Photos rotated 90, 180, and 270 degrees are supported. If multiple faces are detected, the largest face is selected.', + 'requestParamsDescription' => '> Parameters prefixed with Source represent the recent face photo you want to upload. Parameters prefixed with Target represent the recent reference face photo you want to upload. For photo format requirements, see [Photo format requirements](#photo-format-requirements).'."\n" + .'If you choose the OSS method to submit face photos, you must specify both the OssBucketName and OssObjectName fields. The OSS input format supports only the URL, bucket, and file name generated by the OSS authorized when you activated ID Verification. For information about how to query the authorized OSS, see [Activate OSS and grant authorization](https://help.aliyun.com/document_detail/163532.html?spm=a2c4g.11186623.2.15.36945bc3y5uWz6#title-409-lcd-pp0).'."\n" + .'If you choose the FaceContrastPicture (Base64-encoded photo) method to submit face photos, check the photo size and do not submit oversized photos. You can use the OSS method to upload larger face photos.', + 'responseParamsDescription' => 'Sample response:'."\n" ."\n" .'```'."\n" .'{'."\n" @@ -715,39 +592,194 @@ .' "VerifyScore": 99.60875'."\n" .' }'."\n" .'}'."\n" - .'```', - 'extraInfo' => ' ## 返回码'."\n" + .'```.', + 'extraInfo' => ' ## Return codes.'."\n" ."\n" - .'|返回码|返回信息|描述|'."\n" + .'|Return code|Return message|Description|'."\n" .'|----|-------|--|'."\n" - .'|200|success|成功。|'."\n" - .'|400|参数不能为空|参数不能为空。|'."\n" - .'|401|参数非法|非法参数。传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母等特殊字符。|'."\n" - .'|402|应用配置不存在|应用配置不存在。|'."\n" - .'|404|认证场景配置不存在|认证场景配置不存在,请先在控制台上创建认证场景。|'."\n" - .'|410|未开通服务|未开通OSS产品或未完成OSS读写授权,请登录控制台完成授权。|'."\n" - .'|411|RAM 无权限|需要给子账号授予AliyunAntCloudAuthFullAccess的操作权限。|'."\n" - .'|412|欠费中|金融级实人认证或OSS存在欠费,请充值后操作。|'."\n" - .'|419|传入图片不可用|图片无法下载、图片内容为空、图片分辨率不符合要求或提取不到人脸特征,建议更换图片。|'."\n" - .'|420|数据重复|图片传入方式超过2种。<ul> <li> FaceContrastPicture</li> <li> FaceContrastPictureUrl </li><li> Oss</li> <li> CertifyId</li><ul>|'."\n" - .'|421|传入图片过大|图片超过了1 MB,建议压缩图片或更换图片上传方式。|'."\n" - .'|422|下载图片超时|图片下载超过了3秒,请排查网络后重新操作。|'."\n" - .'|423|状态错误|传入的certifyID认证状态需要为T,您也可以更换其他方式传入图片。|'."\n" - .'|500|系统错误|系统内部错误,请联系工程师排查。|'."\n" - ."\n\n" - ."\n\n", - 'translator' => 'machine', + .'|200|success|Successful.|'."\n" + .'|400|参数不能为空|The parameter cannot be empty.|'."\n" + .'|401|参数非法|Invalid parameter. The name and ID card number must comply with national standards and must not contain letters or other special characters.|'."\n" + .'|402|应用配置不存在|The application configuration does not exist.|'."\n" + .'|404|认证场景配置不存在|The verification scenario configuration does not exist. Create a verification scenario in the console first.|'."\n" + .'|410|未开通服务|OSS is not activated or OSS read/write authorization is not completed. Log on to the console to complete the authorization.|'."\n" + .'|411|RAM 无权限|Grant the AliyunAntCloudAuthFullAccess permission to the RAM user.|'."\n" + .'|412|欠费中|Financial-grade ID Verification or OSS has overdue payments. Top up your account before proceeding.|'."\n" + .'|419|传入图片不可用|The photo cannot be downloaded, the photo content is empty, the photo resolution does not meet the requirements, or facial features cannot be extracted. Use a different photo.|'."\n" + .'|420|数据重复|More than two photo submission methods are used.<ul> <li> FaceContrastPicture</li> <li> FaceContrastPictureUrl </li><li> Oss</li> <li> CertifyId</li><ul>|'."\n" + .'|421|传入图片过大|The photo exceeds 1 MB. Compress the photo or use a different upload method.|'."\n" + .'|422|下载图片超时|The photo download exceeded 3 seconds. Check the network and try again.|'."\n" + .'|423|状态错误|The verification status of the specified CertifyId must be T. You can also use a different method to submit the photo.|'."\n" + .'|500|系统错误|Internal system error. Contact technical support for troubleshooting.|.', + 'changeSet' => [ + ['createdAt' => '2024-05-30T09:20:35.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-08T09:41:48.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompareFaceVerify'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CompareFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], ], - 'ContrastFaceVerify' => [ - 'summary' => 'This interface is used to submit authentication materials for verification and comparison, and it synchronously returns the authentication result.', - 'methods' => [ - 'post', - 'get', + 'CompareFaces' => [ + 'summary' => 'Performs face comparison.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '59094', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], + ], + 'parameters' => [ + [ + 'name' => 'TargetImageType', + 'in' => 'formData', + 'schema' => ['description' => 'The type of image 2. Valid values:'."\n" + ."\n" + .'- **FacePic**: A face photo of the user.'."\n" + .'- **IDPic**: A headshot photo from the chip of the user\'s second-generation ID card (typically read and decoded by a second-generation ID card reader device).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FacePic', 'title' => ''], + ], + [ + 'name' => 'SourceImageType', + 'in' => 'formData', + 'schema' => ['description' => 'The type of image 1. Valid values:'."\n" + ."\n" + .'- **FacePic**: A face photo of the user.'."\n" + .'- **IDPic**: A headshot photo from the chip of the user\'s second-generation ID card (typically read and decoded by a second-generation ID card reader device).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FacePic', 'title' => ''], + ], + [ + 'name' => 'SourceImageValue', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of image 1. For more information, see the description of image URL upload.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', 'title' => ''], + ], + [ + 'name' => 'TargetImageValue', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of image 2. For more information, see the description of image URL upload.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error code.', 'type' => 'string', 'example' => 'Error.InternalError', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => [ + 'description' => 'The face comparison result.', + 'type' => 'object', + 'properties' => [ + 'SimilarityScore' => ['description' => 'The similarity score between the faces in the two images. Valid values: \\[0, 100]. A higher value indicates a greater similarity.', 'type' => 'number', 'format' => 'float', 'example' => '98.7913', 'title' => ''], + 'ConfidenceThresholds' => ['description' => 'The confidence thresholds for face comparison. The returned content is a JSON object with the structure `"key":"value"`.'."\n" + ."\n" + .'- `key` is the false acceptance rate (FAR), which is the probability of incorrectly identifying another person as the specified person.'."\n" + .'- `value` is the corresponding threshold.'."\n" + ."\n\n" + .'> About the confidence thresholds (confidenceThresholds) in the example:'."\n" + .'- `"0.0001": "90.07"` indicates that the corresponding threshold is 90.07 when the FAR is 0.01%.'."\n" + .'- `"0.001": "80.01"` indicates that the corresponding threshold is 80.01 when the FAR is 0.1%.'."\n" + .'- `"0.01": "70.02"` indicates that the corresponding threshold is 70.02 when the FAR is 1%.'."\n" + ."\n" + .'The confidence thresholds are dynamically generated based on different images and algorithms. Do not persist the confidence thresholds.', 'type' => 'string', 'example' => '{"0.0001":"90.07","0.001":"80.01","0.01":"70.02"}', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Error.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error', 'description' => ''], + ['errorCode' => 'InvalidParam.ParamsMissing', 'errorMessage' => 'Please check if there is param empty in your imput', 'description' => ''], + ['errorCode' => 'InvalidParam.ImageTypeEmpty', 'errorMessage' => 'The image type is empty', 'description' => ''], + ['errorCode' => 'InvalidParam.FacePicNotGiven', 'errorMessage' => 'At least one of the two given images should have a type of FacePic', 'description' => ''], + ['errorCode' => 'InvalidParam.ImageValuePatternError', 'errorMessage' => 'The pattern of value of given image is not acceptable', 'description' => ''], + ['errorCode' => 'InvalidParam.ImageTypeInvalid', 'errorMessage' => 'The image type is not valid', 'description' => ''], + ['errorCode' => 'Error.NoFaceDetected', 'errorMessage' => 'No face detected from given images', 'description' => ''], + ['errorCode' => 'InvalidParam.ImageNotFound', 'errorMessage' => 'No images founded with given image address', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'Error.NoPermissionAccess', 'errorMessage' => 'No permission to access our service', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'RAM caller has no permission', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Error.InternalError\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SimilarityScore\\": 98.7913,\\n \\"ConfidenceThresholds\\": \\"{\\\\\\"0.0001\\\\\\":\\\\\\"90.07\\\\\\",\\\\\\"0.001\\\\\\":\\\\\\"80.01\\\\\\",\\\\\\"0.01\\\\\\":\\\\\\"70.02\\\\\\"}\\"\\n }\\n}","type":"json"}]', + 'title' => 'Face comparison server-side API', + 'description' => 'Request method: Only HTTPS POST requests are supported.'."\n" + ."\n" + .'Operation description: Specifies two face images for comparison and returns a similarity score between the faces in the two images.'."\n" + ."\n" + .'- At least one of the specified comparison images must be of the face photo type (FacePic).'."\n" + .'- If an image contains multiple faces, the algorithm automatically selects the face that occupies the largest area in the image.'."\n" + .'- If no face is detected in one of the two comparison images, the system returns a "No face detected" error.'."\n" + ."\n" + .'When you submit images, you must provide the corresponding HTTP URL or Base64 encoding of each image.'."\n" + ."\n" + .'- HTTP URL: A publicly accessible HTTP URL. For example, `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" + .'- Base64 encoding: A Base64-encoded image in the format `base64://<Base64-encoded image string>`.'."\n" + ."\n" + .'Image limits.'."\n" + ."\n" + .'- Relative paths or absolute paths of local images are not supported.'."\n" + .'- Keep the size of each image within 2 MB to avoid algorithm retrieval timeout.'."\n" + .'- The body of a single request has a size limit of 8 MB. Make sure that the total size of all images and other information in the request does not exceed this limit.'."\n" + .'- When you use Base64 to transmit images, set the request method to POST. Remove the header description from the Base64 character string, such as `data:image/png;base64,`.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompareFaces'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CompareFaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ContrastFaceVerify' => [ + 'summary' => 'Submits verification materials for identity comparison and synchronously returns the verification result.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -760,218 +792,117 @@ 'riskType' => 'high', 'chargeType' => 'paid', 'abilityTreeCode' => '59096', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'SceneId', 'in' => 'formData', - 'schema' => [ - 'description' => 'Authentication scenario ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000000006', - ], + 'schema' => ['description' => 'The verification scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000000006', 'title' => ''], ], [ 'name' => 'OuterOrderNo', 'in' => 'formData', - 'schema' => [ - 'description' => 'A unique identifier for the merchant\'s request. It is a 32-character alphanumeric combination. The first few characters are a custom abbreviation defined by the merchant, followed by a period, and the latter part can be a random or incrementing sequence.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'schema' => ['description' => 'The unique identifier of the merchant request.'."\n" + .'The value is a 32-character alphanumeric string. The first few characters are a custom abbreviation defined by the merchant, the middle part can be a time segment, and the last part can be a random or incremental sequence.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'formData', - 'schema' => [ - 'description' => 'Fixed value: ID_MIN.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_MIN', - ], + 'schema' => ['description' => 'Fixed value: ID_MIN.', 'type' => 'string', 'required' => false, 'example' => 'ID_MIN', 'title' => ''], ], [ 'name' => 'CertType', 'in' => 'formData', - 'schema' => [ - 'description' => 'Type of identification. Currently, only IDENTITY_CARD is supported and must be provided.', - 'type' => 'string', - 'required' => false, - 'example' => 'IDENTITY_CARD', - ], + 'schema' => ['description' => 'The certificate type.'."\n" + .'Currently only ID cards are supported. You must set this parameter to IDENTITY_CARD.', 'type' => 'string', 'required' => false, 'example' => 'IDENTITY_CARD', 'title' => ''], ], [ 'name' => 'CertName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Real name.', - 'type' => 'string', - 'required' => false, - 'example' => '张三', - ], + 'schema' => ['description' => 'The real name.', 'type' => 'string', 'required' => false, 'example' => '张三', 'title' => ''], ], [ 'name' => 'CertNo', 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number', - 'type' => 'string', - 'required' => false, - 'example' => '330103xxxxxxxxxxxx', - ], + 'schema' => ['description' => 'The certificate number.', 'type' => 'string', 'required' => false, 'example' => '330103xxxxxxxxxxxx', 'title' => ''], ], [ 'name' => 'FaceContrastPicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded photo', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - ], + 'schema' => ['description' => 'The Base64-encoded photo.', 'type' => 'string', 'required' => false, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', 'title' => ''], ], [ 'name' => 'DeviceToken', 'in' => 'formData', - 'schema' => [ - 'description' => 'Risk Identification - Device Token', - 'type' => 'string', - 'required' => false, - 'example' => 'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', - ], + 'schema' => ['description' => 'The device token for risk identification.', 'type' => 'string', 'required' => false, 'example' => 'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', 'title' => ''], ], [ 'name' => 'Mobile', 'in' => 'formData', - 'schema' => [ - 'description' => 'User\'s phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '130xxxxxxxx', - ], + 'schema' => ['description' => 'The mobile phone number of the user.', 'type' => 'string', 'required' => false, 'example' => '130xxxxxxxx', 'title' => ''], ], [ 'name' => 'Ip', 'in' => 'formData', - 'schema' => [ - 'description' => 'User IP.', - 'type' => 'string', - 'required' => false, - 'example' => '114.xxx.xxx.xxx', - ], + 'schema' => ['description' => 'The IP address of the user.', 'type' => 'string', 'required' => false, 'example' => '114.xxx.xxx.xxx', 'title' => ''], ], [ 'name' => 'UserId', 'in' => 'formData', - 'schema' => [ - 'description' => 'Custom user ID defined by the customer\'s business.', - 'type' => 'string', - 'required' => false, - 'example' => '123456789', - ], + 'schema' => ['description' => 'The custom user ID defined by the business.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ 'name' => 'FaceContrastPictureUrl', 'in' => 'formData', - 'schema' => [ - 'description' => 'OSS photo URL, currently only supports authorized OSS photo URLs.'."\n" - .'> Among the four ways to input images (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to input.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', - ], + 'schema' => ['description' => 'The OSS photo URL. Currently only authorized OSS photo URLs are supported.'."\n" + ."\n" + .'> Among the four methods of passing in images (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, and OSS), select only one.', 'type' => 'string', 'required' => false, 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', 'title' => ''], ], [ 'name' => 'CertifyId', 'in' => 'formData', - 'schema' => [ - 'description' => 'The CertifyId of a previously passed real-person authentication, with the photo taken during that authentication used as the comparison photo. '."\n" - .'> Among the four ways to input images (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to provide.', - 'type' => 'string', - 'required' => false, - 'example' => '0bfa7c493f850e5178b9f8613634c9xx', - ], + 'schema' => ['description' => 'The CertifyId from a previous successful ID Verification. The photo from that verification is used as the comparison photo.'."\n" + ."\n" + .'> Among the four methods of passing in images (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, and OSS), select only one.', 'type' => 'string', 'required' => false, 'example' => '0bfa7c493f850e5178b9f8613634c9xx', 'title' => ''], ], [ 'name' => 'OssBucketName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Authorized OSS space Bucket name. In the methods of passing images, including FaceContrastPicture, FaceContrastPictureUrl, CertifyId, and OSS, choose one to pass in.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', - ], + 'schema' => ['description' => 'The bucket name of the authorized OSS space.'."\n" + ."\n" + .'> Among the four methods of passing in images (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, and OSS), select only one.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', 'title' => ''], ], [ 'name' => 'OssObjectName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Filename of the authorized OSS space.'."\n" - .'> Among the four ways to input images (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to input.', - 'type' => 'string', - 'required' => false, - 'example' => 'verify/xxxxx/xxxxxx.jpeg', - ], + 'schema' => ['description' => 'The file name in the authorized OSS space.'."\n" + ."\n" + .'> Among the four methods of passing in images (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, and OSS), select only one.', 'type' => 'string', 'required' => false, 'example' => 'verify/xxxxx/xxxxxx.jpeg', 'title' => ''], ], [ 'name' => 'Model', 'in' => 'query', - 'schema' => [ - 'description' => 'Liveness detection type. Possible values:'."\n" - ."\n" - .'• **NO_LIVENESS** – Liveness detection is disabled.'."\n" - ."\n" - .'• **FRONT_CAMERA_LIVENESS** (default) – Liveness detection on face images captured with the mobile device’s front camera.'."\n" - ."\n" - .'• **REAR_CAMERA_LIVENESS** – Liveness detection on face images captured in other scenarios (e.g., via the rear camera).', - 'type' => 'string', - 'required' => false, - 'example' => 'FRONT_CAMERA_LIVENESS', - ], + 'schema' => ['description' => 'The liveness detection type.', 'type' => 'string', 'required' => false, 'example' => 'FRONT_CAMERA_LIVENESS', 'title' => ''], ], [ 'name' => 'FaceContrastFile', 'in' => 'formData', - 'schema' => [ - 'description' => 'Local video file.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - 'isFileTransferUrl' => true, - ], + 'schema' => ['description' => 'The local video file.', 'type' => 'string', 'required' => false, 'isFileTransferUrl' => true, 'example' => '无', 'title' => ''], ], [ 'name' => 'Crop', 'in' => 'formData', - 'schema' => [ - 'description' => 'Allow face image cropping:'."\n" - ."\n" - .'- **T** – Cropping is allowed.'."\n" - .'- **F** (default) – Cropping is not allowed.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'Specifies whether to allow cropping of the face image. Valid values:'."\n" + ."\n" + .'- T: Allowed.'."\n" + ."\n" + .'- F (default): Not allowed.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], ], [ 'name' => 'EncryptType', 'in' => 'formData', - 'schema' => [ - 'description' => 'Encryption type. Leave it empty if no encryption is required.'."\n" - ."\n" - .'If you enable encrypted transmission, you must specify the encryption algorithm; currently, only the SM2 (Chinese national standard) algorithm is supported.'."\n" - ."\n" - .'When an encryption algorithm is specified, encrypt both **CertName** and **CertNo** and submit the resulting ciphertext. For more details on parameter encryption, see the [Parameter Encryption documentation](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/description-of-parameter-encryption?spm=a2c4g.11186623.0.0.49541a8554cELI#task-2229332).', - 'type' => 'string', - 'required' => false, - 'example' => 'SM2', - ], + 'schema' => ['description' => 'The encryption type. An empty value indicates no encryption.', 'type' => 'string', 'required' => false, 'example' => 'SM2', 'title' => ''], ], ], 'responses' => [ @@ -979,900 +910,361 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error message.', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', 'title' => ''], 'ResultObject' => [ - 'description' => 'Request result', + 'description' => 'The request result.', 'type' => 'object', 'properties' => [ - 'CertifyId' => [ - 'description' => 'Unique identifier for the real-person verification request.', - 'type' => 'string', - 'example' => '91707dc296d469ad38e4c5efa6a0****', - ], - 'SubCode' => [ - 'description' => 'Description of the authentication result. For details, see the SubCode explanation below.', - 'type' => 'string', - 'example' => '200', - ], - 'MaterialInfo' => [ - 'description' => 'Attachment information of the authenticated entity, mainly image materials, in JSON format, as follows.', - 'type' => 'string', - 'example' => '{"faceAttack": "F","facialPictureFront": {"qualityScore": 88.3615493774414,"verifyScore": 50.28594166529785}}', - ], - 'IdentityInfo' => [ - 'description' => 'Information about the authenticated entity, which is usually empty in general authentication scenarios.', - 'type' => 'string', - 'example' => 'null', - ], - 'Passed' => [ - 'description' => 'Whether it passed, T for pass, F for fail.', - 'type' => 'string', - 'example' => 'T', - ], + 'CertifyId' => ['description' => 'The unique identifier of the ID Verification request.', 'type' => 'string', 'example' => '91707dc296d469ad38e4c5efa6a0****', 'title' => ''], + 'SubCode' => ['description' => 'The verification result description. For more information, see the SubCode description below.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'MaterialInfo' => ['description' => 'The supplementary material information of the verification subject, primarily image-based materials, in JSON format as follows.', 'type' => 'string', 'example' => '{"faceAttack": "F","facialPictureFront": {"qualityScore": 88.3615493774414,"verifyScore": 50.28594166529785}}', 'title' => ''], + 'IdentityInfo' => ['description' => 'The subject information of the verification. This is returned as empty in common verification scenarios.', 'type' => 'string', 'example' => 'null', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification is passed. A value of T indicates passed. A value of F indicates not passed.', 'type' => 'string', 'example' => 'T', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0****\\",\\n \\"SubCode\\": \\"200\\",\\n \\"MaterialInfo\\": \\"{\\\\\\"faceAttack\\\\\\": \\\\\\"F\\\\\\",\\\\\\"facialPictureFront\\\\\\": {\\\\\\"qualityScore\\\\\\": 88.3615493774414,\\\\\\"verifyScore\\\\\\": 50.28594166529785}}\\",\\n \\"IdentityInfo\\": \\"null\\",\\n \\"Passed\\": \\"T\\"\\n }\\n}","type":"json"}]', - 'title' => 'Pure Server-Side API for Real Person Authentication', - 'description' => '- Interface Name: ContrastFaceVerify.'."\n" - .'- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.'."\n" - .'- Interface Description: An interface for real person authentication through server-side integration.'."\n" + 'title' => 'Server-side only API for ID verification', + 'description' => '- API operation: ContrastFaceVerify.'."\n" + .'- Endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + .'- Operation description: An API operation that implements ID Verification through server-side integration.'."\n" ."\n" - .'#### Image Format Requirements'."\n" - .'When performing real person authentication, please ensure that the images you upload meet all of the following conditions:'."\n" + .'#### Image format requirements'."\n" + .'When performing ID Verification, submit images that meet all of the following conditions:'."\n" ."\n" - .'- Recent photo with a clear, unobstructed, and natural expression, facing the camera directly.'."\n" - .'- Clear and properly exposed photo, without overly dark, bright, or haloed faces, and with minimal angle deviation.'."\n" - .'- Resolution not exceeding 1920*1080, at least 640*480, with the shorter side recommended to be resized to 720 pixels, and a compression ratio greater than 0.9.'."\n" - .'- Photo size: <1MB.'."\n" - .'- Supports 90, 180, and 270-degree photos; in cases of multiple faces, the largest face will be selected.'."\n", - 'requestParamsDescription' => '> If you choose to upload the face image via OSS, you must provide the OssBucketName and OssObjectName fields. The OSS input parameter format only supports URLs, Buckets, and file names generated from an authorized OSS when the real person authentication service was activated.'."\n" - .'If you choose to upload the face image using FaceContrastPicture (Base64 encoded photo), please check the photo size and avoid uploading excessively large photos; you can use the OSS method to upload larger face images.', - 'responseParamsDescription' => 'ResultObject.MaterialInfo的JSON格式示例:'."\n" + .'- A recent photo with a complete, clear, and unobstructed face, a natural expression, and the subject facing the camera directly.'."\n" + .'- A clear photo with normal exposure. The face must not be too dark, too bright, or have glare, and the angle must not deviate significantly.'."\n" + .'- The resolution must not exceed 1920 × 1080 and must be at least 640 × 480. We recommend scaling the short side to 720 pixels with a compression ratio greater than 0.9.'."\n" + .'- Photo size: < 1 MB.'."\n" + .'- Photos rotated 90, 180, and 270 degrees are supported. If multiple faces are detected, the largest face is selected.', + 'requestParamsDescription' => '> If you choose the OSS method to pass in a face photo, you must specify the OssBucketName and OssObjectName fields. The OSS input format supports only the URL, bucket, and file name generated by the OSS authorized when you activated the ID Verification service.'."\n" + .'If you choose the FaceContrastPicture (Base64-encoded photo) method to pass in a face photo, check the photo size and do not pass in an excessively large photo. You can use the OSS method to upload larger face photos.', + 'responseParamsDescription' => 'JSON format example of ResultObject.MaterialInfo:'."\n" ."\n" .'```'."\n" .'{'."\n" - .' // 是否为攻击:攻击为T,非攻击为F'."\n" + .' // Whether it is an attack: T for attack, F for non-attack'."\n" .' "faceAttack": "F",'."\n" .' "facialPictureFront": {'."\n" - .' // 活体人脸质量分数'."\n" + .' // Face liveness quality score'."\n" .' "qualityScore": 88.3615493774414,'."\n" - .' // 人脸比对分数'."\n" + .' // Face comparison score'."\n" .' "verifyScore": 50.28594166529785'."\n" .' }'."\n" .'}'."\n" - .'```'."\n" - ."\n", - 'extraInfo' => '## 返回码'."\n" + .'```.', + 'extraInfo' => '## Return codes'."\n" ."\n" - .'|返回码|返回信息|描述|'."\n" + .'|Return code|Return message|Description|'."\n" .' |----|-------|--|'."\n" - .' |200|success|成功。|'."\n" - .' |400|参数不能为空|参数不能为空。|'."\n" - .' |401|参数非法|非法参数。传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母等特殊字符。|'."\n" - .' |402|应用配置不存在|应用配置不存在。|'."\n" - .' |404|认证场景配置不存在|认证场景配置不存在,请先在控制台上创建认证场景。|'."\n" - .' |405|您的年龄未满14周岁,不允许使用此产品|未满14周岁的用户无法使用本产品,建议人工审核。|'."\n" - .' |410|未开通服务|未开通OSS产品或未完成OSS读写授权,请登录控制台完成授权。|'."\n" - .' |411|RAM无权限|需要给子账号授予 AliyunAntCloudAuthFullAccess 的操作权限。|'."\n" - .' |412|欠费中|金融级实人认证或OSS存在欠费,请充值后操作。|'."\n" - .' |417|无法使用刷脸服务|当前身份信息比对源不可用。若信息正确,建议人工审核。|'."\n" - .' |418|刷脸失败次数过多|当天刷脸认证次数过多,请明天再试。|'."\n" - .' |419|传入图片不可用|图片无法下载、图片内容为空、图片分辨率不符合要求或提取不到人脸特征,建议更换图片。|'."\n" - .' |420|数据重复|图片传入方式超过1种。<ul> <li> FaceContrastPicture</li> <li> FaceContrastPictureUrl </li><li> Oss</li> <li> CertifyId</li><ul>|'."\n" - .' |421|传入图片过大|图片超过了1 MB,建议压缩图片或更换图片上传方式。|'."\n" - .'|422|下载图片超时|图片下载超过了3秒,请排查网络后重新操作。|'."\n" - .'|423|状态错误|传入的certifyID认证状态需要为T,您也可以更换其他方式传入图片。|'."\n" - .'|500|系统错误|系统内部错误,请反馈工程师排查。|'."\n" + .' |200|success|Success.|'."\n" + .' |400|Parameter cannot be empty|The parameter cannot be empty.|'."\n" + .' |401|Invalid parameter|Invalid parameter. The name and ID card number must comply with national standards and must not contain letters or other special characters.|'."\n" + .' |402|Application configuration does not exist|The application configuration does not exist.|'."\n" + .' |404|Verification scenario configuration does not exist|The verification scenario configuration does not exist. Create a verification scenario in the console first.|'."\n" + .' |405|You are under 14 years old and cannot use this product|Users under 14 years old cannot use this product. Manual review is recommended.|'."\n" + .' |410|Service not activated|OSS is not activated or OSS read/write authorization is not completed. Log on to the console to complete the authorization.|'."\n" + .' |411|RAM unauthorized|Grant the AliyunAntCloudAuthFullAccess permission to the RAM user.|'."\n" + .' |412|Overdue payment|The China Finance Certification or OSS service has an overdue payment. Top up your account before proceeding.|'."\n" + .' |417|Unable to use ID Verification service|The current identity information comparison source is unavailable. If the information is correct, manual review is recommended.|'."\n" + .' |418|Too many failed ID Verification attempts|Too many failed ID Verification attempts today. Try again tomorrow.|'."\n" + .' |419|Input image unavailable|The image cannot be downloaded, the image content is empty, the image resolution does not meet the requirements, or facial features cannot be extracted. Use a different image.|'."\n" + .' |420|Duplicate data|More than one image input method is used.<ul> <li> FaceContrastPicture</li> <li> FaceContrastPictureUrl </li><li> Oss</li> <li> CertifyId</li><ul>|'."\n" + .' |421|Input image too large|The image exceeds 1 MB. Compress the image or use a different upload method.|'."\n" + .'|422|Image download timed out|The image download exceeded 3 seconds. Check the network and try again.|'."\n" + .'|423|Status error|The verification status of the specified CertifyId must be T. You can also use a different method to pass in the image.|'."\n" + .'|500|System error|An internal system error occurred. Contact technical support for troubleshooting.|'."\n" ."\n\n" - .'ResultObject.SubCode说明:'."\n" + .'ResultObject.SubCode description:'."\n" ."\n" - .'|错误码|认证描述文案|是否计费|可能原因和运营建议|'."\n" + .'|Error code|Verification description|Billable|Possible cause and operational suggestion|'."\n" .'|---|------|----|---------|'."\n" - .'|200|认证通过|是| |'."\n" - .'|201|姓名和身份证不一致|是|可能用户的信息有误或假信息,建议用户确认后重新操作。|'."\n" - .'|202|查询不到身份信息|是|可能是用户户口迁移、军人等特殊状态导致,建议预留人工审核入口,进行人工审核。|'."\n" - .'|203|查询不到照片或照片不可用|是|可能是公安库数据问题导致,建议预留人工审核入口,进行人工审核。|'."\n" - .'|204|人脸比对不一致|是|可能不是同一人或活体照片质量较低,建议根据业务情况分层处理,若为同一人可重新操作。|'."\n" - .'|205|活体检测存在风险|是|可能存在攻击风险,建议人工审核分层处理,若为真人可重新操作。|'."\n" - .'|206|业务策略限制|是|可能存在异常风险操作,建议人工确认后操作。|', - 'translator' => 'machine', - ], - 'DescribeFaceVerify' => [ - 'summary' => 'After the mobile end of the integrator receives the callback, its server can call this interface to obtain the corresponding authentication status and authentication information.', - 'methods' => [ - 'post', - 'get', + .'|200|Verification passed|Yes| |'."\n" + .'|201|Name and ID card do not match|Yes|The user information may be incorrect or fraudulent. The user is advised to confirm and try again.|'."\n" + .'|202|Identity information not found|Yes|This may be caused by household registration migration, military personnel, or other special statuses. Provide a manual review option for manual verification.|'."\n" + .'|203|Photo not found or photo unavailable|Yes|This may be caused by data issues in the public security database. Provide a manual review option for manual verification.|'."\n" + .'|204|Face comparison mismatch|Yes|The photos may not be of the same person, or the liveness photo quality may be low. Handle this based on business requirements. If the subject is the same person, try again.|'."\n" + .'|205|Liveness detection risk detected|Yes|A potential attack risk exists. Manual review with tiered handling is recommended. If the subject is a real person, try again.|'."\n" + .'|206|Business policy restriction|Yes|A risky operation may exist. Proceed after manual confirmation.|', + 'changeSet' => [ + ['createdAt' => '2021-09-08T09:41:48.000Z', 'description' => 'Request parameters changed, Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '59117', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ContrastFaceVerify'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000000006', - ], - ], - [ - 'name' => 'CertifyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for real-person authentication.', - 'type' => 'string', - 'required' => false, - 'example' => '91707dc296d469ad38e4c5efa6a0f24b', - ], - ], - [ - 'name' => 'PictureReturnType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Image return type.', - 'type' => 'string', - 'required' => false, - 'example' => 'JPG', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'Return code: 200 indicates success, other values indicate failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error message', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], - 'ResultObject' => [ - 'description' => 'Returned result information', - 'type' => 'object', - 'properties' => [ - 'SubCode' => [ - 'description' => 'Description of the authentication result. For details, see the SubCode explanation below.', - 'type' => 'string', - 'example' => '200', - ], - 'MaterialInfo' => [ - 'description' => 'Attachment information of the authenticated subject, mainly image materials. JSON format, see example below.', - 'type' => 'string', - 'example' => '{"faceAttack": "F","facialPictureFront": {"qualityScore": 88.3615493774414,"pictureUrl": "https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg","ossBucketName": "cn-shanghai-aliyun-cloudauth-1260051251634779","ossObjectName": "verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg"}}', - ], - 'IdentityInfo' => [ - 'description' => 'Information about the authenticated subject, usually empty in general authentication scenarios.', - 'type' => 'string', - 'example' => 'null', - ], - 'DeviceToken' => [ - 'description' => 'Device token.', - 'type' => 'string', - 'example' => 'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', - ], - 'Passed' => [ - 'description' => 'Whether it passed, T for pass, F for fail.', - 'type' => 'string', - 'example' => 'T', - ], - 'DeviceRisk' => [ - 'description' => 'Device risk label.', - 'type' => 'string', - 'example' => 'ROOT,VPN,HOOK', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'string', - 'example' => 'True', - ], - 'UserInfo' => [ - 'description' => 'Records the identity information and corresponding encoding entered by the user under the rare character mode. The returned data is a JSON formatted string, which will be an empty string if there are no rare characters in the name.'."\n" - ."\n" - .'- name: Refers to the name entered by the user.'."\n" - ."\n" - .'- verifyName: Refers to the final name encoding after verification. For example, if a rare character is verified through transcoding: “Mr. Wang”, the actual verified name is “Wang Xiansheng”.'."\n" - ."\n" - .'- number: Refers to the identification number entered by the user.', - 'type' => 'string', - 'example' => '{'."\n" - .' "number": "610***********1110",'."\n" - .' "name": "王先生",'."\n" - .' "verifyName": "王先"'."\n" - .'}', - ], - ], - ], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ContrastFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"ResultObject\\": {\\n \\"SubCode\\": \\"200\\",\\n \\"MaterialInfo\\": \\"{\\\\\\"faceAttack\\\\\\": \\\\\\"F\\\\\\",\\\\\\"facialPictureFront\\\\\\": {\\\\\\"qualityScore\\\\\\": 88.3615493774414,\\\\\\"pictureUrl\\\\\\": \\\\\\"https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg\\\\\\",\\\\\\"ossBucketName\\\\\\": \\\\\\"cn-shanghai-aliyun-cloudauth-1260051251634779\\\\\\",\\\\\\"ossObjectName\\\\\\": \\\\\\"verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg\\\\\\"}}\\",\\n \\"IdentityInfo\\": \\"null\\",\\n \\"DeviceToken\\": \\"McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx\\",\\n \\"Passed\\": \\"T\\",\\n \\"DeviceRisk\\": \\"ROOT,VPN,HOOK\\",\\n \\"Success\\": \\"True\\",\\n \\"UserInfo\\": \\"{\\\\n \\\\\\"number\\\\\\": \\\\\\"610***********1110\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"王先生\\\\\\",\\\\n \\\\\\"verifyName\\\\\\": \\\\\\"王先\\\\\\"\\\\n}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<ResultObject>\\n <Passed>T</Passed>\\n <DeviceToken>McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx</DeviceToken>\\n <IdentityInfo>null</IdentityInfo>\\n <MaterialInfo>{\\"faceAttack\\": \\"F\\",\\"facialPictureFront\\": {\\"qualityScore\\": 88.3615493774414,\\"pictureUrl\\": \\"https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg\\",\\"ossBucketName\\": \\"cn-shanghai-aliyun-cloudauth-1260051251634779\\",\\"ossObjectName\\": \\"verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg\\"}}</MaterialInfo>\\n <SubCode>200</SubCode>\\n</ResultObject>\\n<RequestId>130A2C10-B9EE-4D84-88E3-5384FF039795</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', - 'title' => 'Query Authentication Details Interface', - 'description' => '- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => '> Determine the authentication result based on the ResultObject.Passed or ResultObject.SubCode field.'."\n" - ."\n" - .'#### Example JSON format of ResultObject.MaterialInfo'."\n" - .'- APP Authentication Solution & Live Face Verification Solution'."\n" - ."\n" - .' ```'."\n" - .'{'."\n" - .' // Whether it is an attack: T indicates an attack, F indicates no attack'."\n" - .' "faceAttack": "F", '."\n" - .' // Information of the authenticated photo'."\n" - .' "facialPictureFront": {'."\n" - .' // Live face quality score'."\n" - .' "qualityScore": 88.3615493774414,'."\n" - .' // Face comparison score'."\n" - .' "verifyScore": 50.28594166529785,'."\n" - .' // Photo HTTPS URL, valid for 15 minutes starting from the query time '."\n" - .' "pictureUrl": "https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg",'."\n" - .' // The photo is stored in the customer\'s OSS in the Shanghai region; this is the bucket name'."\n" - .' "ossBucketName": "cn-shanghai-aliyun-cloudauth-1260051251634779",'."\n" - .' // The photo is stored in the customer\'s OSS in the Shanghai region; this is the file name'."\n" - .' "ossObjectName": "verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg" '."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'- Live Detection Solution'."\n" - ."\n" - .' ```'."\n" - .' {'."\n" - .' // Whether it is an attack: T indicates an attack, F indicates no attack'."\n" - .' "faceAttack": "F", '."\n" - .' // Information of the authenticated photo'."\n" - .' "facialPictureFront": {'."\n" - .' // Live face quality score'."\n" - .' "qualityScore": 88.3615493774414,'."\n" - .' // Photo HTTPS URL, valid for 15 minutes starting from the query time '."\n" - .' "pictureUrl": "https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg",'."\n" - .' // The photo is stored in the customer\'s OSS in the Shanghai region; this is the bucket name'."\n" - .' "ossBucketName": "cn-shanghai-aliyun-cloudauth-1260051251634779",'."\n" - .' // The photo is stored in the customer\'s OSS in the Shanghai region; this is the file name'."\n" - .' "ossObjectName": "verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg" '."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n\n" - ."\n" - .'#### Description of ResultObject.SubCode'."\n" - ."\n\n" - .'|Error Code|Authentication Description| Billing |Possible Causes & Operational Suggestions|'."\n" - .'|---|------|----|---------|'."\n" - .' |200|Authentication passed|Yes| |'."\n" - .'|201|Name and ID card do not match|Yes|The user\'s information may be incorrect or false. Advise the user to verify and try again.|'."\n" - .'|202|Unable to find identity information|Yes|The user\'s household registration transfer, military status or other special situations may cause this. Suggest providing a manual review path.|'."\n" - .'|203|Unable to find photo or photo unavailable|Yes|Possible issue with public security database data. Suggest providing manual review.|'."\n" - .'|204|Face comparison mismatch|Yes|May not be the same person or live photo quality is low. Layered handling based on business scenario; if it is the same person, they can try again.|'."\n" - .'|205|Risk detected in live detection|Yes|Possible attack risk. Suggest layered manual review; if it is a real person they can retry.'."\n" - .'|206|Business policy restricted|Yes|Possible abnormal risky operation. Advise manual confirmation before proceeding.|', - 'extraInfo' => '## Result Codes'."\n" - ."\n" - .'|Code|Message| Description |'."\n" - .'|----|-------|--|'."\n" - .'|200|success|Success.|'."\n" - .'|400|Parameter cannot be null| The parameter cannot be null.|'."\n" - .'|401|Invalid parameter|Illegal parameter. The length of the name and ID number must comply with national standards and must not contain letters or other special characters.|'."\n" - .'|403|Authentication not completed|Authentication not completed.'."\n" - .'|404|Authentication scenario configuration does not exist|The authentication scenario configuration does not exist. Please create the authentication scenario in the console first.'."\n" - .'|406| Invalid certifyId|Invalid certifyId.|'."\n" - .'|410|Service not enabled|The OSS product has not been enabled or OSS read/write authorization has not been completed.|'."\n" - .'|411|No RAM permission|Grant the sub-account the AliyunAntCloudAuthFullAccess permission.|'."\n" - .'|424|Identity authentication record does not exist|The specified certifyId has no corresponding identity authentication submission record.'."\n" - .'|500|System error|Internal system error.|', - 'translator' => 'machine', ], - 'InitFaceVerify' => [ - 'summary' => 'Real-Person Server Initialization Interface', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateAntCloudAuthScene' => [ + 'summary' => 'Creates a network access credential.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '59164', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthGDLZVA', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '59097', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000000006', - ], - ], - [ - 'name' => 'OuterOrderNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for the merchant\'s request.'."\n" - ."\n" - .'The value is a 32-character alphanumeric combination. The first few characters are a custom abbreviation defined by the merchant, followed by a period, and the latter part can be a random or incremental sequence.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], - ], - [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Fixed value. The parameter value differs based on the product solution:'."\n" - .'- APP Authentication Scheme: Fixed value is ID_PRO'."\n" - .'- Live Face Verification Scheme: Fixed value is PV_FV'."\n" - .'- Liveness Detection Scheme: Fixed value is LR_FR', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], - ], - [ - 'name' => 'CertType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Document type.'."\n" - .'Currently, only IDENTITY_CARD (ID card) is supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'IDENTITY_CARD', - ], - ], - [ - 'name' => 'CertName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Real name.', - 'type' => 'string', - 'required' => false, - 'example' => '张三', - ], - ], - [ - 'name' => 'CertNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'Document number.', - 'type' => 'string', - 'required' => false, - 'example' => '330103xxxxxxxxxxxx', - ], - ], - [ - 'name' => 'ReturnUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'Target URL for the merchant\'s business page to redirect to. ', - 'type' => 'string', - 'required' => false, - 'example' => 'www.aliyun.com', - ], - ], - [ - 'name' => 'FaceContrastPicture', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded photo.'."\n" - ."\n" - .'> Choose one of the following methods to upload the image: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS.'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - 'maxLength' => 1548576, - ], - ], - [ - 'name' => 'MetaInfo', - 'in' => 'query', - 'schema' => [ - 'description' => 'Metainfo environment parameter, which needs to be obtained through the client SDK.', - 'type' => 'string', - 'required' => false, - 'example' => '{"zimVer":"3.0.0","appVersion": "1","bioMetaInfo": "4.1.0:11501568,0","appName": "com.aliyun.antcloudauth","deviceType": "ios","osVersion": "iOS 10.3.2","apdidToken": "","deviceModel": "iPhone9,1"}', - ], - ], - [ - 'name' => 'Mobile', - 'in' => 'query', - 'schema' => [ - 'description' => 'User\'s phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '130xxxxxxxx', - ], - ], - [ - 'name' => 'Ip', + 'name' => 'SceneName', 'in' => 'query', - 'schema' => [ - 'description' => 'User\'s IP address.', - 'type' => 'string', - 'required' => false, - 'example' => '114.xxx.xxx.xxx', - ], + 'schema' => ['description' => 'The scenario name.', 'type' => 'string', 'required' => true, 'example' => '测试场景', 'title' => ''], ], [ - 'name' => 'UserId', + 'name' => 'StoreImage', 'in' => 'query', - 'schema' => [ - 'description' => 'Custom user ID for the customer\'s business, please ensure it is unique.', - 'type' => 'string', - 'required' => false, - 'example' => '123456789', - ], + 'schema' => ['description' => 'Specifies whether to deliver the files generated during authentication to the customer\'s OSS. Valid values:'."\n" + .'- **Y**: Yes.'."\n" + .'- **N**: No.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], ], [ - 'name' => 'FaceContrastPictureUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'OSS photo address, currently only supports authorized OSS photo addresses.'."\n" - ."\n" - .'> Among the four image input methods (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to input.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', - ], - ], - [ - 'name' => 'CertifyId', + 'name' => 'BindMiniProgram', 'in' => 'query', - 'schema' => [ - 'description' => '><warning>To be deprecated></warning>'."\n" - ."\n" - .'Previously passed CertifyId for real-person authentication, where the photo taken during authentication is used as the comparison photo.'."\n" - ."\n" - .'> Among the four image input methods (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to input.', - 'type' => 'string', - 'required' => false, - 'example' => '0bfa7c493f850e5178b9f8613634c9xx', - ], + 'schema' => ['description' => 'Specifies whether to enable mini program binding. Valid values:'."\n" + .'- **Y**: enabled'."\n" + .'- **N (default)**: disabled.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], ], [ - 'name' => 'OssBucketName', + 'name' => 'MiniProgramName', 'in' => 'query', - 'schema' => [ - 'description' => 'Authorized OSS bucket name.'."\n" - ."\n" - .'> Among the four image input methods (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to input.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', - ], + 'schema' => ['description' => 'The mini program name.', 'type' => 'string', 'required' => false, 'example' => '测试APP', 'title' => ''], ], [ - 'name' => 'OssObjectName', + 'name' => 'Platform', 'in' => 'query', - 'schema' => [ - 'description' => 'Authorized OSS object name.'."\n" - ."\n" - .'> Among the four image input methods (FaceContrastPicture, FaceContrastPictureUrl, CertifyId, OSS), choose one to input.', - 'type' => 'string', - 'required' => false, - 'example' => 'verify/xxxxx/xxxxxx.jpeg', - ], + 'schema' => ['description' => 'The mini program platform to bind. Valid values:'."\n" + .'- **WECHAT**: WeChat'."\n" + .'- **ALIPAY**: Alipay'."\n" + .'- **TIKTOK**: TikTok.', 'type' => 'string', 'required' => false, 'example' => 'WECHAT', 'title' => ''], ], [ - 'name' => 'Model', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Liveness detection type, with values:'."\n" - .'> Only the following liveness detection types are supported; custom actions or combinations are not supported at this time.'."\n" - ."\n" - .'Note'."\n" - .'Only the following liveness detection types are supported; custom actions or combinations are not supported at this time.'."\n" - ."\n" - .'- **LIVENESS** (default): Blinking'."\n" - ."\n" - .'- **PHOTINUS_LIVENESS**: Blinking + Colorful Light'."\n" - ."\n" - .'- **MULTI_ACTION**: Blinking + Head Shaking (the order of blinking and head shaking is random)'."\n" - ."\n" - .'- **MOVE_ACTION** (recommended): Moving Closer and Farther + Blinking'."\n" - ."\n" - .'- **MOVE_PHOTINUS**: Moving Closer and Farther + Colorful Light'."\n" - ."\n" - .'> '."\n" - .'>- The **default liveness detection type** is supported in the following versions:'."\n" - .'> - Android SDK 1.2.6 and above'."\n" - .'> - iOS SDK 1.2.4 and above'."\n" - .'> - Harmony SDK 1.0.0 and above'."\n" - .'>- Other types are supported in the latest SDK versions for Android/iOS/Harmony. It is recommended to integrate the latest version.', - 'type' => 'string', - 'required' => false, - 'example' => 'MOVE_ACTION', - ], - ], - [ - 'name' => 'CallbackUrl', + 'name' => 'CheckFileName', 'in' => 'query', - 'schema' => [ - 'description' => 'Callback notification address for the authentication result, with the default callback request method being GET. The callback address must start with `https`. After completing the authentication, the platform will call back this address and automatically add the `certifyId` and `passed` fields, where the value of the `passed` field is the subcode, for example: `https://www.aliyun.com?callbackToken=1000004826&certifyId=shaxxxx&passed=200`.'."\n" - ."\n" - .'<notice>'."\n" - ."\n" - .'- Callbacks are triggered only when the authentication is completed (including both successful and unsuccessful authentications). If the authentication is abandoned, interrupted abnormally, or not performed, no notification will be sent. It is recommended that you retrieve detailed authentication information through a query interface if needed after receiving the callback notification.'."\n" - .'- The accessibility of the provided address will be verified before the API call. If the address cannot be accessed over the public network, a 401 error will be returned.'."\n" - .'- The callback interface must return an HTTP status code of 200; otherwise, it will trigger a retry, with two callbacks within 3 seconds.'."\n" - ."\n" - .'</notice>', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com', - ], + 'schema' => ['description' => 'The name of the uploaded verification file.', 'type' => 'string', 'required' => false, 'example' => '测试.txt', 'title' => ''], ], [ - 'name' => 'CallbackToken', + 'name' => 'CheckFileBody', 'in' => 'query', - 'schema' => [ - 'description' => 'Security token, generated by you, used for preventing duplication and tampering.'."\n" - ."\n" - .'If this value is set, the **CallbackToken** field will be displayed in the callback address.', - 'type' => 'string', - 'required' => false, - 'example' => 'NMjvQanQgplBSaEI0sL86WnQplB', - ], + 'schema' => ['description' => 'The content of the uploaded verification file.', 'type' => 'string', 'required' => false, 'example' => '774c4aab45981ff4a86cde9255a11xxx', 'title' => ''], ], [ - 'name' => 'Crop', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Whether to allow cropping of the face image, with the default being not allowed.'."\n" - ."\n" - .'- T: Indicates allowing cropping.'."\n" - ."\n" - .'- F: Indicates not allowing cropping.'."\n" - ."\n" - .'> If the image you are requesting is not from a standard liveness detection SDK, it is recommended to allow face image cropping. When this feature is enabled, the requested image will first undergo face cropping and alignment, and then the service request will be initiated.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], - ], - [ - 'name' => 'CertifyUrlType', + 'name' => 'ReturnPicCount', 'in' => 'query', - 'schema' => [ - 'description' => 'Web SDK device type, with values **WEB** or **H5**.'."\n" - ."\n" - .'> Only Web SDK device types are supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'WEB', - ], + 'schema' => ['description' => 'The number of face photos for evidence storage (1-5).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'AuthId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'User authorization ID, with a maximum length of 64 characters.', - 'type' => 'string', - 'required' => false, - 'example' => '92d46b9e9e2d703f2897f350d5bd4149', - ], - ], - [ - 'name' => 'EncryptType', + 'name' => 'ReturnVideoLength', 'in' => 'query', - 'schema' => [ - 'description' => 'Encryption algorithm to be used, currently supporting only the SM2 national encryption algorithm.'."\n" - ."\n" - .'After enabling encrypted transmission, you need to pass in the encrypted CertName and CertNo. For how to encrypt, please refer to [Parameter Encryption Instructions](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/description-of-parameter-encryption?spm=a2c4g.11186623.0.0.1a9d566eWdqwy8#task-2229332).', - 'type' => 'string', - 'required' => false, - 'example' => 'SM2', - ], + 'schema' => ['description' => 'The duration of the evidence storage video, in seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'VoluntaryCustomizedContent', + 'name' => 'DeviceRiskPlus', 'in' => 'query', - 'schema' => [ - 'description' => 'Customized content. Required when personalized settings are enabled. The format is a JSON String of a String List.'."\n" - ."\n" - .'- For the follow-reading scenario: It should not exceed 60 Chinese characters (excluding punctuation), and the List contains only one element.'."\n" - ."\n" - .'- For the Q&A scenario: Up to 3 questions can be set, with each question not exceeding 30 Chinese characters, and each question being an element in the List.', - 'type' => 'string', - 'required' => false, - 'example' => '["本人王先生同意***协议。"]', - ], + 'schema' => ['description' => 'Specifies whether to enable enhanced device risk detection. Valid values:'."\n" + .'- **Y**: enabled'."\n" + .'- **N**: disabled.', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], ], - [ - 'name' => 'SuitableType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Aging-friendly configuration parameters that take effect for each authentication request. You can choose different parameters based on your app\'s business attributes, customer distribution, operational characteristics, etc., for each authentication request. The options include the following, with the default being 0.'."\n" - ."\n" - .'- **0**: Not enabled, indicating that the current authentication request does not enable aging-friendly mode.'."\n" - ."\n" - .'- **1**: Enabled, indicating that the current authentication request enables aging-friendly mode.'."\n" - ."\n" - .'- **2**: User choice.'."\n" - ."\n\n" - .'Supports end-users in choosing the authentication mode. The product guide page provides two authentication entry points: \'Enable Authentication\' and \'Elderly Authentication Mode\'. When the user selects \'Elderly Authentication Mode\', the system enters aging-friendly mode.'."\n" - .'> '."\n" - .'> - Aging-friendly parameters are only effective when the liveness detection type **Model** is set to **LIVENESS** or **MULTI_ACTION**.', - 'type' => 'string', - 'required' => false, - 'example' => '0', + 'type' => 'object', + 'properties' => [ + 'SceneId' => ['description' => 'The instance ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000015112', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01D3BDC6-64C0-58E2-8760-3F1B56AAE299', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ProcedurePriority', - 'in' => 'query', - 'schema' => [ - 'description' => 'Degradation configuration for mobile H5 authentication when WebRTC or Webassembly is incompatible.'."\n" - ."\n" - .'- **keep**: Does not support degradation, returns directly.'."\n" - ."\n" - .'- **url** (default): Supports degradation, returns an authentication URL. Users can use this URL to open or switch browsers for authentication.'."\n" - ."\n" - .'- **video**: Supports degradation, uses the system camera to record a 3~5 second blinking video for authentication.'."\n" - ."\n\n" - .'> '."\n" - .'> When the degradation mode is Video, the following functions will be disabled, and the product security will decrease. It is recommended to configure it only for secure scenarios.'."\n" - .'> - Liveness detection type settings will not take effect.'."\n" - .'> - The VideoEvidence function is not supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'url', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SceneId\\": 1000015112,\\n \\"RequestId\\": \\"01D3BDC6-64C0-58E2-8760-3F1B56AAE299\\"\\n}","type":"json"}]', + 'title' => 'Create a cloud scenario', + 'description' => 'Request method: Supports sending requests by using HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'changeSet' => [ + ['createdAt' => '2025-12-12T06:45:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-10-17T08:48:54.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAntCloudAuthScene'], ], + ], + 'ramActions' => [ [ - 'name' => 'Mode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Method to obtain passport NFC verification elements:'."\n" - ."\n" - .'- **1**: User input, where the end-user manually inputs the document information using the UI interface provided by the Alibaba Cloud SDK.'."\n" - ."\n" - .'- **3**: External parameter input, where the document information is passed through external parameters.'."\n" - ."\n" - .'> When decoding the encrypted information from the passport chip using NFC, three elements of the passport need to be obtained, including name, date of birth, and document expiration date.', - 'type' => 'string', - 'required' => false, - 'example' => '1', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateAntCloudAuthScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'CreateAuthKey' => [ + 'summary' => 'Obtains an authorization key for activating the offline facial recognition SDK.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ReadImg', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to read the document photo:'."\n" - ."\n" - .'- **Y**: Read'."\n" - ."\n" - .'- **N**: Do not read'."\n" - ."\n" - .'> If the document face photo is needed in subsequent authentication steps, it is recommended to set this parameter to Y.', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59098', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + ], + 'parameters' => [ [ - 'name' => 'Birthday', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'description' => 'Date of birth on the document.'."\n" - ."\n" - .'This field is required when the document type **CertType** is **PASSPORT** and **Mode** is **3**.', - 'type' => 'string', - 'required' => false, - 'example' => '1993-10-10', - ], + 'schema' => ['description' => 'The business type. The value can be up to 64 characters in length. You can use this parameter to add remarks for a specific business, such as different facial recognition scenarios of the requester or the customer identifier to be delivered. We recommend that you specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'FACE_TEST', 'title' => ''], ], [ - 'name' => 'ValidityDate', + 'name' => 'UserDeviceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Document expiration date.'."\n" - ."\n" - .'This field is required when the document type **CertType** is **PASSPORT** and **Mode** is **3**.', - 'type' => 'string', - 'required' => false, - 'example' => '2039-06-10', - ], + 'schema' => ['description' => 'The user device ID. The value can be up to 64 characters in length. You can use this parameter to identify a specific device. We recommend that you use the physical device number. We recommend that you specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '3iJ1AY$oHcu7mC69', 'title' => ''], ], [ - 'name' => 'CertifyUrlStyle', + 'name' => 'Test', 'in' => 'query', - 'schema' => [ - 'description' => 'Types of **CertifyUrl** returned, including:'."\n" - ."\n" - .'- **L**: Original long link'."\n" - ."\n" - .'- **S** (default): Short link', - 'type' => 'string', - 'required' => false, - 'example' => 'L', - ], + 'schema' => ['description' => 'The test identifier. Valid values:'."\n" + .'- true: Uses test authorization. The authorization duration is 30 days by default.'."\n" + .'- false: The authorization duration is determined by the AuthYears parameter.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'FaceGuardOutput', + 'name' => 'AuthYears', 'in' => 'query', - 'schema' => [ - 'description' => 'Device assistant label type, with the value: **DeviceRisk**.'."\n" - ."\n" - .'>'."\n" - .'> - Choosing to output the device assistant will incur additional costs. For details, see [Paid Value-Added Services](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/face-guard?spm=a2c4g.11186623.0.0.443e5522rbHsR4).'."\n" - .'> - If you do not need to output the device assistant label, you can either not pass the parameter or pass an empty value.', - 'type' => 'string', - 'required' => false, - 'example' => 'DeviceRisk', - ], + 'schema' => ['description' => 'The authorization duration. This parameter is required when the Test parameter is set to false or is left empty. Unit: years. Valid values: 1 to 100. A value of 100 indicates permanent authorization.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - [ - 'name' => 'RarelyCharacters', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Whether to enable rare character mode:'."\n" - ."\n" - .'- **Y**: Enable. A message input box will pop up before the user authenticates, requiring the input of the rare character name and ID number. The user must agree to the terms before starting the authentication process.'."\n" - ."\n" - .'- **N**: Not enabled (default)', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', + 'type' => 'object', + 'properties' => [ + 'AuthKey' => ['description' => 'The key that can be used for authorization activation. The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', 'type' => 'string', 'example' => 'auth.1KQMcnLd4m37LN2D0F0WCD-1qtQI$', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'UiCustomUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'UI configuration file URL.'."\n" - ."\n" - .'You can view the complete configuration in the [Web SDK UI Customization Description](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/web-sdk-ui-custom-configuration-description?spm=a2c4g.11186623.0.0.4c683f5c8K3I9p).', - 'type' => 'string', - 'required' => false, - 'example' => 'www.aliyundoc.com', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AuthKey\\": \\"auth.1KQMcnLd4m37LN2D0F0WCD-1qtQI$\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Obtain an authorization key', + 'description' => 'Request method: Supports sending requests by using HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-04-16T02:19:07.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAuthKey'], ], + ], + 'ramActions' => [ [ - 'name' => 'VideoEvidence', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable video evidence:'."\n" - ."\n" - .'- **true**: Enable'."\n" - ."\n" - .'- **false** (default): Disable'."\n" - ."\n" - .'> Due to the large size of video files, when the network is unstable, the system will discard the video file to prioritize the transmission of necessary images for authentication. It is recommended that your business set a weak dependency on the video.', - 'type' => 'string', - 'required' => false, - 'example' => 'false', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateAuthKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'CreateCloudauthstScene' => [ + 'summary' => 'Creates an authentication scenario for enhanced ID Verification.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AppQualityCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether the SDK enables strict face quality detection:'."\n" - ."\n" - .'- **Y**: Enable'."\n" - ."\n" - .'- **N** (default): Disable'."\n" - ."\n\n" - .'> '."\n" - .'> - If this parameter is enabled, the SDK needs to integrate the [strict face quality detection module](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/description-of-sdk-package-clipping?spm=a2c4g.11186623.0.0.1a9d35c6ySFUPW). Enabling strict quality detection may decrease the success rate of user face recognition.'."\n" - .'> - Only supported in Android SDK version 2.3.24 and above.', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59099', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], + ], + 'parameters' => [ [ - 'name' => 'CameraSelection', + 'name' => 'ProductCode', 'in' => 'query', 'schema' => [ - 'description' => 'Whether to enable the camera selection feature:'."\n" - ."\n" - .'- **Y**: Enable'."\n" - ."\n" - .'- **N** (default): Disable'."\n" - ."\n" - .'> This feature only takes effect in PC integration mode. When enabled, it allows users to select the camera for authentication.', + 'description' => 'The product code.', + 'enumValueTitles' => ['SMART_VERIFY' => 'SMART_VERIFY', 'SMART_CARD' => 'SMART_CARD', 'SMART_COMPARE' => 'SMART_COMPARE', 'SMART_FLASH' => 'SMART_FLASH', 'SMART_DETECT' => 'SMART_DETECT'], 'type' => 'string', - 'required' => false, - 'example' => 'N', + 'required' => true, + 'example' => 'SMART_COMPARE', + 'title' => '', ], ], [ - 'name' => 'NeedMultiFaceCheck', + 'name' => 'SceneName', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to intercept when multiple faces are detected, with the following values:'."\n" - ."\n" - .'- **Y**: Intercept, and the client prompts the user to re-scan their face.'."\n" - ."\n" - .'- **N** (default): Do not intercept, and send the largest face in the scanned image to the server for security checks.', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => 'The scenario name.', 'type' => 'string', 'required' => true, 'example' => '测试场景', 'title' => ''], ], [ - 'name' => 'H5DegradeConfirmBtn', + 'name' => 'StoreImage', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'H5 Downgrade Confirmation Button Switch:'."\n" - ."\n" - .'- **Y**: Enabled (On)'."\n" - .'- **N (default)**: Disabled (Off)', - 'example' => 'Y', - ], + 'schema' => ['description' => 'Specifies whether to deliver files generated during authentication to the customer\'s OSS. Valid values:'."\n" + .'- **Y**: Enabled.'."\n" + .'- **N**: Disabled.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], ], ], 'responses' => [ @@ -1880,689 +1272,320 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'Return code: 200 indicates success, other values indicate failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error message.', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], - 'ResultObject' => [ - 'description' => 'Result object.', - 'type' => 'object', - 'properties' => [ - 'CertifyId' => [ - 'description' => 'Unique identifier for real-person authentication.', - 'type' => 'string', - 'example' => '91707dc296d469ad38e4c5efa6a0f24b', - ], - 'CertifyUrl' => [ - 'description' => 'URL for real-person authentication in a Web browser, which will redirect according to the ReturnUrl parameter after authentication.'."\n" - ."\n" - .'><notice>'."\n" - ."\n" - .'- The CertifyUrl returned by the initialization interface is valid for **30 minutes and can only be used once**. Please use it within the validity period to avoid reuse.'."\n" - .'- This parameter requires the correct input of **MetaInfo** to return a CertifyUrl that matches the client. If you cannot obtain it, please check whether **MetaInfo** and other input parameters are correct.'."\n" - ."\n" - .'- The domain name of this URL may change with service updates. To ensure normal service availability, it is recommended not to apply access control to this domain name.'."\n" - ."\n" - .'- When redirecting in the browser, try not to use incognito mode or modify the URL, as this may result in a **signature error**.'."\n" - ."\n" - .'></notice>', - 'type' => 'string', - 'example' => 'https://t.aliyun.com/****', - ], - ], - ], + 'ResultObject' => ['description' => 'The returned result that indicates whether the operation is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0f24b\\",\\n \\"CertifyUrl\\": \\"https://t.aliyun.com/****\\"\\n }\\n}","type":"json"}]', - 'title' => 'Initialization Interface', - 'description' => '- Service Address: cloudauth.aliyuncs.com'."\n" - .'- Request Method: HTTPS POST and GET.'."\n" - .'- This interface uses different parameters for different product solutions. For details, please refer to the [official documentation](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/product-overview/introduction/?spm=a2c4g.11186623.help-menu-2401581.d_0_0.13f644ecRzFHfm&scm=20140722.H_99169._.OR_help-T_cn~zh-V_1).'."\n" - ."\n" - .'#### Image Format Requirements'."\n" - .'When performing real-person authentication, please provide images that meet all of the following conditions:'."\n" - .'- Recent photo with a clear, unobstructed face, natural expression, and facing the camera directly.'."\n" - .'- Clear photo with normal exposure, no overexposure, underexposure, or halo effects, and no significant angle deviation.'."\n" - .'- Resolution not exceeding 1920*1080, at least 640*480, recommended short side scaled to 720 pixels, compression ratio greater than 0.9.'."\n" - .'- Photo size: <1MB.'."\n" - .'- Supports 90, 180, and 270-degree photos; in the case of multiple faces, the largest face will be selected.', - 'requestParamsDescription' => '> If you choose to upload the face image via OSS, you must provide the OssBucketName and OssObjectName fields.'."\n" - .'The OSS input format only supports URLs, Buckets, and file names generated by the OSS authorized when enabling the real-person authentication service. For how to query the authorized OSS, see [Enable OSS Space and Authorization](https://help.aliyun.com/document_detail/163108.html?spm=a2c4g.11186623.2.14.7dd9f397RmV0jw#section-4w2-trd-8q6).'."\n" - .'If you choose to upload the face photo via FaceContrastPicture (Base64 encoded photo), please check the photo size and do not upload overly large photos; you can use the OSS method to upload larger face photos.'."\n" - ."\n" - .'Depending on the chosen authentication scheme, the required fields may differ. Please refer to the table below for specific details.'."\n" - ."\n" - .'Field|APP Authentication Scheme|Live Face Verification Scheme|Liveness Detection Scheme'."\n" - .'--|--|--|--'."\n" - .'CertType|Yes|Optional|Optional'."\n" - .'CertName|Yes|Optional|Optional'."\n" - .'CertNo|Yes|Optional|Optional'."\n" - .'UserId|Optional|Yes|Yes'."\n" - .'FaceContrastPicture|No|Yes|No'."\n" - .'FaceContrastPictureUrl|No|Yes|No'."\n" - .'CertifyId|No|Yes|No'."\n" - .'OssBucketName|No|Yes|No'."\n" - .'OssObjectName|No|Yes|No', - 'responseParamsDescription' => ' ', - 'extraInfo' => '## Result Codes'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\"\\n}","type":"json"}]', + 'title' => 'Create a cloud scenario', + 'description' => 'Request method: Supports sending requests by using HTTPS POST and GET methods.'."\n" ."\n" - .'| Result Code | Message | Description |'."\n" - .'|----|-------|--|'."\n" - .'|200|success|Success.|'."\n" - .'|400|Parameter cannot be empty|The parameter cannot be empty.|'."\n" - .'|401|Invalid parameter|Invalid parameter. The length of the name and ID number must comply with national standards and must not contain English letters or other special characters.|'."\n" - .'|402|Application configuration does not exist|Application configuration does not exist.|'."\n" - .'|404|Authentication scenario configuration does not exist|Authentication scenario configuration does not exist. Please create an authentication scenario in the console first.|'."\n" - .'|405|Age under 14, not allowed to use this product|Users under 14 years old cannot use this product; manual review is recommended.|'."\n" - .'|410|Service not enabled|The OSS product has not been enabled or OSS read/write authorization has not been completed. Please log in to the console to complete authorization.|'."\n" - .'|411|No RAM permission|Grant the sub-account the AliyunAntCloudAuthFullAccess permission.|'."\n" - .'|412|In arrears|Financial-grade real-person authentication or OSS has outstanding payments. Please recharge before proceeding.|'."\n" - .'|414|Device type not supported|The current mobile device does not support face authentication. Please change devices and try again.|'."\n" - .'|415|SDK version not supported|The current authentication SDK version does not support face authentication. Please upgrade the SDK and try again.|'."\n" - .'|416|OS version not supported|The current operating system version does not support face authentication. Please upgrade the OS or change the device.|'."\n" - .'|417|Face authentication service unavailable|The identity information comparison source is unavailable. If the information is correct, manual review is recommended.|'."\n" - .'|418|Too many face authentication failures|Too many face authentication attempts today. Please try again tomorrow.|'."\n" - .'|419|Invalid image supplied|The image cannot be downloaded, the content is empty, the resolution does not meet requirements, or no facial features can be extracted. Please use another image.|'."\n" - .'|420|Duplicate data|More than one image input method provided.<ul><li>FaceContrastPicture</li><li>FaceContrastPictureUrl</li><li>Oss</li><li>CertifyId</li></ul>|'."\n" - .'|421|Image too large|The image exceeds 1 MB; compress it or choose another upload method.|'."\n" - .'|422|Image download timeout|Image download exceeded 3 seconds. Check your network and try again.|'."\n" - .'|423|Invalid status|The certifyID status must be T. You can also submit the image via another method.|'."\n" - .'|500|System error|Internal system error. Please contact engineers for troubleshooting.|', - 'translator' => 'machine', - ], - 'DescribeFaceGuardRisk' => [ - 'summary' => 'Financial-Grade Face Guard Service', - 'methods' => [ - 'post', - 'get', + .'> The authorization code is valid for 30 minutes and cannot be reused. Obtain a new authorization code before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCloudauthstScene'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateCloudauthstScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateSceneConfig' => [ + 'summary' => 'Creates a willingness authentication configuration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '250715', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCPTLY3', - ], + 'abilityTreeCode' => '138594', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DeviceToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'Risk identification - device token.', - 'type' => 'string', - 'required' => false, - 'example' => 'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', - ], - ], - [ - 'name' => 'OuterOrderNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'This identifier is used for subsequent troubleshooting, and you need to ensure that this value is unique in your business.'."\n" - ."\n" - .'Supports the use of English letters (including uppercase and lowercase) and numbers, with a maximum length of 32 characters.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35xxxx', - ], + 'name' => 'type', + 'in' => 'formData', + 'schema' => ['description' => 'The configuration type.', 'type' => 'string', 'required' => true, 'example' => 'VOLUNTARY', 'title' => ''], ], [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product code, fixed value: FACE_GUARD', - 'type' => 'string', - 'required' => false, - 'example' => 'FACE_GUARD', - ], + 'name' => 'sceneId', + 'in' => 'formData', + 'schema' => ['description' => 'The scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1000014084', 'title' => ''], ], [ - 'name' => 'BizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication ID', - 'type' => 'string', - 'required' => false, - 'example' => 'aba9830f471a4335af4612c8adaa91b0', - ], + 'name' => 'config', + 'in' => 'formData', + 'schema' => ['description' => 'The willingness authentication configuration, in JSON string format.', 'type' => 'string', 'required' => true, 'example' => '{\\"faceCompareMode\\":\\"AUTHORITY\\",\\"certConfigs\\":[{\\"index\\":0,\\"openVoiceCompare\\":true,\\"openCustomizedContent\\":true,\\"model\\":\\"FOLLOW\\"}],\\"screenEvidence\\":false}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'RespDTO<SceneConfigDTO>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates successful response from the interface.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'RiskExtends' => [ - 'description' => 'Extended information, in JSON format. (Customized return based on tenant requirements)', - 'type' => 'string', - 'example' => '{'."\n" - .' "code": 200'."\n" - .' "badNet":false,'."\n" - .' "umid":"74e37355171ab62230063569350d368e",'."\n" - .' "fileTags":"basic_root,basic_hook",'."\n" - .' "queryCount":1,'."\n" - .' "querySessionCount":1,'."\n" - .' "queryUmidCount":1'."\n" - .' "platform":"Android"'."\n" - .'}', - ], - 'RiskTags' => [ - 'description' => 'Device risk tags.'."\n" - ."\n" - .'- Multiple device risk tags are separated by commas (,). For example, “ROOT,VPN,HOOK”,'."\n" - ."\n" - .'- For more information about device risk tags and their meanings, please refer to the official documentation on Face Guard Tag Descriptions.', - 'type' => 'string', - 'example' => 'ROOT,VPN,HOOK', - ], - 'CertifyId' => [ - 'description' => 'Unique real-person authentication identifier.', - 'type' => 'string', - 'example' => 'sha43d9cabd52d370d9f4cca9468f71e', - ], - 'GuardRiskScore' => [ - 'type' => 'number', - 'format' => 'double', - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"RiskExtends\\": \\"{\\\\n \\\\\\"code\\\\\\": 200\\\\n \\\\\\"badNet\\\\\\":false,\\\\n \\\\\\"umid\\\\\\":\\\\\\"74e37355171ab62230063569350d368e\\\\\\",\\\\n \\\\\\"fileTags\\\\\\":\\\\\\"basic_root,basic_hook\\\\\\",\\\\n \\\\\\"queryCount\\\\\\":1,\\\\n \\\\\\"querySessionCount\\\\\\":1,\\\\n \\\\\\"queryUmidCount\\\\\\":1\\\\n \\\\\\"platform\\\\\\":\\\\\\"Android\\\\\\"\\\\n}\\",\\n \\"RiskTags\\": \\"ROOT,VPN,HOOK\\",\\n \\"CertifyId\\": \\"sha43d9cabd52d370d9f4cca9468f71e\\",\\n \\"GuardRiskScore\\": 80\\n }\\n}","type":"json"}]', - 'title' => 'Pure Server-Side Face Guard API', - 'translator' => 'machine', - ], - 'AIGCFaceVerify' => [ - 'summary' => 'Add AIGC Face Detection Capability', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\"\\n}","type":"json"}]', + 'title' => 'Create a willingness authentication configuration for a scenario', + 'description' => 'Request method: Send requests by using the HTTPS POST method.'."\n" + .'Request URL: cloudauth.aliyuncs.com.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSceneConfig'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateSceneConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateVerifySetting' => [ + 'summary' => 'Creates an ID Verification scenario configuration. This is equivalent to creating a verification scenario in the console.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '206861', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59103', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'SceneId', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication scene ID. This ID is automatically generated after creating an authentication scene in the console. For how to create an authentication scene, see Adding an Authentication Scene.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100000xxxx', - ], + 'schema' => ['description' => 'The identifier of the verification scenario.', 'type' => 'string', 'required' => true, 'example' => 'UserRegister', 'title' => ''], ], [ - 'name' => 'OuterOrderNo', + 'name' => 'BizName', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the client side, used for subsequent troubleshooting. The value should be a combination of letters and numbers with a maximum length of 32 characters, please ensure its uniqueness.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'schema' => ['description' => 'The name of the verification scenario.', 'type' => 'string', 'required' => true, 'example' => '用户注册', 'title' => ''], ], [ - 'name' => 'ProductCode', + 'name' => 'Solution', 'in' => 'query', - 'schema' => [ - 'description' => 'Product solution', - 'type' => 'string', - 'required' => false, - 'example' => 'LR_FR_AIGC', - ], + 'schema' => ['description' => 'The name of the verification solution.', 'type' => 'string', 'required' => true, 'example' => 'RPBasic', 'title' => ''], ], [ - 'name' => 'FaceContrastPicture', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded photo.'."\n" - .'> Choose one of the three ways to input images: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx'."\n", - ], - ], - [ - 'name' => 'FaceContrastPictureUrl', + 'name' => 'GuideStep', 'in' => 'query', - 'schema' => [ - 'description' => 'Portrait address, accessible via public HTTP or HTTPS link.'."\n" - ."\n" - .'> Choose one of the three ways to input images: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', - ], + 'schema' => ['description' => 'Specifies whether to use the default system guide page.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'OssBucketName', + 'name' => 'PrivacyStep', 'in' => 'query', - 'schema' => [ - 'description' => 'Authorized OSS bucket name.'."\n" - .'> Choose one of the three ways to input images: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx'."\n", - ], + 'schema' => ['description' => 'Specifies whether to use the default system authorization page.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'OssObjectName', + 'name' => 'ResultStep', 'in' => 'query', - 'schema' => [ - 'description' => 'Authorized OSS file name.'."\n" - .'> Choose one of the three ways to input images: FaceContrastPicture, FaceContrastPictureUrl, or OSS.', - 'type' => 'string', - 'required' => false, - 'example' => ' '."\n" - .'verify/xxxxx/xxxxxx.jpeg'."\n", - ], + 'schema' => ['description' => 'Specifies whether to use the default system result page.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response object', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Message' => [ - 'description' => 'Message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'ResultObject' => [ - 'description' => 'Returned result', - 'type' => 'object', - 'properties' => [ - 'Result' => [ - 'description' => 'Authentication result. Values:'."\n" - ."\n" - .'● Y: AIGC-generated face.'."\n" - ."\n" - .'● N: Not detected', - 'type' => 'string', - 'enumValueTitles' => [ - 'Y' => 'AIGC生成人脸', - 'N' => '非AIGC生成人脸', - ], - 'example' => 'Y', - ], - 'Score' => [ - 'description' => 'Detection score', - 'type' => 'string', - 'example' => '1.0000', - ], - 'CertifyId' => [ - 'description' => 'Unique real-person authentication identifier.', - 'type' => 'string', - 'example' => '91707dc296d469ad38e4c5efa6a0****', - ], - ], + 'BizName' => ['description' => 'The name of the verification scenario.', 'type' => 'string', 'example' => '用户注册', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', 'title' => ''], + 'Solution' => ['description' => 'The name of the verification solution.', 'type' => 'string', 'example' => 'RPBasic', 'title' => ''], + 'BizType' => ['description' => 'The identifier of the verification scenario.', 'type' => 'string', 'example' => 'UserRegister', 'title' => ''], + 'StepList' => [ + 'description' => 'The verification steps. guide indicates the guide step, and privacy indicates the authorization step.', + 'type' => 'array', + 'items' => ['description' => 'The verification steps. guide indicates the guide step, and privacy indicates the authorization step.', 'type' => 'string', 'example' => '["GUIDE","PRIVACY","FACE_LIVENESS","TAKE_ID_PHOTO","RESULT"]', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BizName\\": \\"用户注册\\",\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Solution\\": \\"RPBasic\\",\\n \\"BizType\\": \\"UserRegister\\",\\n \\"StepList\\": [\\n \\"[\\\\\\"GUIDE\\\\\\",\\\\\\"PRIVACY\\\\\\",\\\\\\"FACE_LIVENESS\\\\\\",\\\\\\"TAKE_ID_PHOTO\\\\\\",\\\\\\"RESULT\\\\\\"]\\"\\n ]\\n}","type":"json"}]', + 'title' => 'Create an ID verification scenario configuration', + 'description' => 'Request method: Only HTTPS POST requests are supported.', + 'changeSet' => [ + ['createdAt' => '2024-04-16T02:19:06.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"Y\\",\\n \\"Score\\": \\"1.0000\\",\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0****\\"\\n }\\n}","type":"json"}]', - 'title' => 'AIGC Image Generation Detection', - 'translator' => 'machine', - ], - 'DeleteFaceVerifyResult' => [ - 'summary' => 'Financial Level Sensitive Data Deletion Interface', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVerifySetting'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateVerifySetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateWhitelistSetting' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '247721', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59105', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'CertifyId', + 'name' => 'SourceIp', 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for real-person authentication.', - 'type' => 'string', - 'required' => false, - 'example' => 'shae18209d29ce4e8ba252caae98ab15', - ], + 'schema' => ['description' => 'The source IP address of the visitor. You do not need to specify this parameter. The system automatically obtains the value.', 'type' => 'string', 'required' => false, 'example' => '27.115.63.58', 'title' => ''], ], [ - 'name' => 'DeleteAfterQuery', + 'name' => 'Lang', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether deletion depends on having already obtained relevant data from the corresponding authentication process.'."\n" - ."\n" - .'- Y: Required. To successfully delete the related data, you must have obtained the processing result through the DescribeFaceVerify interface.'."\n" - .'- N: Not required (default). For pure server-side API integration, you can directly pass N.', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => 'The user language.', 'type' => 'string', 'required' => false, 'example' => 'zh', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'CertifyId' => [ - 'description' => 'Unique identifier for real-person authentication.', - 'type' => 'string', - 'example' => 'sha58aeae7ea2f5ed069530f58df4e6d', - ], - 'DeleteResult' => [ - 'description' => 'Deletion result. Possible values are as follows:'."\n" - ."\n" - .'- Y: Deletion successful.'."\n" - .'- N: Deletion failed.', - 'type' => 'string', - 'example' => 'N', - ], - 'FailReason' => [ - 'description' => 'Reason for deletion failure'."\n" - ."\n" - .'- NOT_DELETE_REPEATEDLY: Cannot be deleted repeatedly'."\n" - .'- NEED_QUERY_VERIFY_RESULT: Need to query the verification result first, then delete', - 'type' => 'string', - 'example' => 'NOT_DELETE_REPEATEDLY', - ], - ], - ], - ], - ], + [ + 'name' => 'ServiceCode', + 'in' => 'query', + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: Financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): ID Verification Enhanced Edition.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"sha58aeae7ea2f5ed069530f58df4e6d\\",\\n \\"DeleteResult\\": \\"N\\",\\n \\"FailReason\\": \\"NOT_DELETE_REPEATEDLY\\"\\n }\\n}","type":"json"}]', - 'title' => 'Financial Level New Service Deletion Interface', - 'description' => 'Deletes all personal information fields in the request, including name, ID number, phone number, IP, images, videos, and device information, etc.', - 'translator' => 'machine', - ], - 'DeepfakeDetect' => [ - 'summary' => 'Face Credential Verification Service', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SceneId', + 'in' => 'query', + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000014526', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '226413', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthS6WIN6', + [ + 'name' => 'CertifyId', + 'in' => 'query', + 'schema' => ['description' => 'The certificate ID. The user associated with this authentication is added to the whitelist.', 'type' => 'string', 'required' => false, 'example' => 'sha6d0405f42926084e396e76a037d00', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'OuterOrderNo', + 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique identifier for the merchant\'s request, consisting of a 32-character alphanumeric combination. The first few characters can be a custom abbreviation defined by the merchant, the middle part may include a timestamp, and the latter part can use a random or incrementing sequence.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', - ], + 'schema' => ['description' => 'The ID card number to add to the whitelist.', 'type' => 'string', 'required' => false, 'example' => '44018219950810XXXX', 'title' => ''], ], [ - 'name' => 'FaceInputType', + 'name' => 'ValidDay', 'in' => 'query', - 'schema' => [ - 'description' => 'Input **IMAGE** to indicate an image type.', - 'type' => 'string', - 'required' => false, - 'example' => 'IMAGE', - ], + 'schema' => ['description' => 'The number of valid days after the whitelist is created.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '7', 'title' => ''], ], [ - 'name' => 'FaceUrl', + 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'description' => 'Enter the URL of the face image.'."\n" - .'> Either FaceUrl or FaceBase64 must be provided.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The remarks for the whitelist.', 'type' => 'string', 'required' => false, 'example' => '测试白名单。', 'title' => ''], ], [ - 'name' => 'FaceBase64', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Enter the Base64 encoded string of the face image.'."\n" - .'> Either FaceUrl or FaceBase64 must be provided.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx'."\n", - ], + 'name' => 'WhitelistType', + 'in' => 'query', + 'schema' => ['type' => 'string', 'example' => 'SUPER', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates success, others indicate failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'Result' => [ - 'description' => 'Risk result:'."\n" - ."\n" - .'- **0**: Low risk'."\n" - .'- **1**: High risk'."\n" - .'- **2**: Suspicious', - 'type' => 'string', - 'example' => '1', - ], - 'RiskTag' => [ - 'description' => 'Risk tags. Multiple tags are separated by commas (,). Includes:'."\n" - ."\n" - .'- Suspected deep forgery SuspectDeepForgery'."\n" - .'- Suspected synthetic attack SuspectPSFace'."\n" - .'- Suspected watermark SuspectWarterMark'."\n" - .'- Suspected black industry attack SuspectTemple'."\n" - .'- Suspected generated face SuspectAIGC Face'."\n" - .'- Suspected rephotographed face SuspectRemake', - 'type' => 'string', - 'example' => 'SuspectDeepForgery,SuspectWarterMark', - ], - 'RiskScore' => [ - 'description' => 'Risk score map.', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "SuspectPSFace": "1.0000",'."\n" - .' "SuspectDeepForgery": "0.8619",'."\n" - .' "SuspectWaterMark": "0.0126",'."\n" - .' "SuspectTemple": "0.0985"'."\n" - .' }', - 'description' => 'Risk score labels and their values.', - ], - ], - ], - ], + 'ResultObject' => ['description' => 'The returned result that indicates whether the whitelist is created. Valid values:'."\n" + .'- true: Succeeded.'."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CF4979D3-060F-5336-BD9F-0D46ECB66B22', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'Create a whitelist', + 'summary' => 'Creates an authentication whitelist.', + 'description' => 'Request method: Only HTTPS POST requests are supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateWhitelistSetting'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"SuspectDeepForgery, SuspectPSFace\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"SuspectPSFace\\\\\\": \\\\\\"1.0000\\\\\\",\\\\n \\\\\\"SuspectDeepForgery\\\\\\": \\\\\\"0.8619\\\\\\",\\\\n \\\\\\"SuspectRemake\\\\\\": \\\\\\"0.0126\\\\\\",\\\\n \\\\\\"SuspectTemple\\\\\\": \\\\\\"0.0985\\\\\\"\\\\n }\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Face Deepfake Detection Service', - 'description' => '> The Face Deepfake Detection API is currently in the free public beta stage, which will end on August 30, 2024, at 23:59:59. During the public beta, the QPS (Queries Per Second) cannot exceed 3 times/second.'."\n" - ."\n" - .'- Service address: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" - .'- Request method: POST and GET.'."\n" - .'- Transfer protocol: HTTPS.', - 'requestParamsDescription' => 'To ensure stable model performance, you need to make sure that the image contains a face with a normal angle. Additionally, the following conditions must be met:'."\n" - ."\n" - .'- Image format: JPG, JPEG.'."\n" - .'- Image size: Recommended 50~100 KB, not exceeding 1 MB.'."\n" - .'- Image resolution: Suggested 640×480 (height×width), not exceeding 1920×1080 (height×width), and the height of the photo should be greater than its width. It is recommended to resize the shorter side to 720 pixels with a compression ratio of 0.8.'."\n" - .'- Image quality: The photo should be clear and properly exposed, without overly dark, overly bright, or haloed faces.'."\n" - .'- Image face: If multiple faces appear in the image, the system will default to detecting the largest face.', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateWhitelistSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"CF4979D3-060F-5336-BD9F-0D46ECB66B22\\"\\n}","type":"json"}]', ], 'CredentialProductVerifyV2' => [ - 'summary' => 'Product Credential Verification', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'summary' => 'API operation for the product image tampering detection service. Detects image tampering, quality (clarity), and similar images.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2575,9 +1598,7 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '219634', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -2586,182 +1607,148 @@ 'name' => 'CredType', 'in' => 'query', 'schema' => [ - 'description' => 'Credential type: Only supports value 05 (product image).', + 'description' => 'The credential type. Only the following value is supported: 05 (product image).', 'type' => 'string', 'required' => true, + 'enum' => ['05'], 'example' => '05', - 'enum' => [ - '05', - ], + 'title' => '', ], ], [ 'name' => 'CredName', 'in' => 'query', 'schema' => [ - 'description' => 'Credential name: Only supports value 0501 (product image).', + 'description' => 'The credential name. Only the following value is supported: 0501 (product image).', 'type' => 'string', 'required' => true, + 'enum' => ['0501'], 'example' => '0501', - 'enum' => [ - '0501', - ], + 'title' => '', ], ], [ 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'URL of the image.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://aliyundoc.com/picture*****.jpeg', - ], + 'schema' => ['description' => 'The URL of the image.', 'type' => 'string', 'required' => false, 'example' => 'https://aliyundoc.com/picture*****.jpeg', 'title' => ''], ], [ 'name' => 'ImageFile', 'in' => 'formData', - 'schema' => [ - 'description' => 'InputStream object of the image.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://aliyundoc.com/picture*****.jpeg', - 'isFileTransferUrl' => true, - ], + 'schema' => ['description' => 'The InputStream object of the image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'https://aliyundoc.com/picture*****.jpeg', 'title' => ''], ], [ 'name' => 'MerchantId', 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant ID.', - 'type' => 'string', - 'required' => false, - 'example' => '无。', - ], + 'schema' => ['description' => 'The merchant ID.', 'type' => 'string', 'required' => false, 'example' => '无。', 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'query', 'schema' => [ - 'description' => 'Invocation mode:'."\n" - .'Only supports value ANTI_FAKE_CHECK.', + 'description' => 'The call mode. Only the following value is supported: ANTI_FAKE_CHECK.', 'type' => 'string', 'required' => true, + 'enum' => ['ANTI_FAKE_CHECK'], 'example' => 'ANTI_FAKE_CHECK', - 'enum' => [ - 'ANTI_FAKE_CHECK', - ], + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Result object.', + 'description' => 'The result object.', 'type' => 'object', 'properties' => [ - 'Result' => [ - 'description' => '- 0: Low risk'."\n" - .'- 1: High risk'."\n" - .'- 2: Suspicious', - 'type' => 'string', - 'example' => '1', - ], - 'RiskTag' => [ - 'description' => 'Risk tags, separated by commas, including:'."\n" - .'- PS: Image has been photoshopped'."\n" - .'- LOW_QUALITY_PRODUCT: Low quality (low clarity)'."\n" - .'- SAME_BACKGROUND: Similar background', - 'type' => 'string', - 'example' => 'PS,LOW_QUALITY_PRODUCT', - ], + 'Result' => ['description' => 'Valid values:'."\n" + .'- 0: low risk'."\n" + .'- 1: high risk'."\n" + .'- 2: suspicious.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RiskTag' => ['description' => 'The risk labels. Multiple labels are separated by commas. Valid values:'."\n" + .'- PS: image manipulation'."\n" + .'- LOW_QUALITY_PRODUCT: low quality (low clarity)'."\n" + .'- SAME_BACKGROUND: similar image.', 'type' => 'string', 'example' => 'PS,LOW_QUALITY_PRODUCT', 'title' => ''], 'RiskScore' => [ - 'description' => 'Map of risk scores.', + 'description' => 'The risk score map.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .'"PS": "0.0211",'."\n" - .'"SAME_BACKGROUND": "0.0861"'."\n" - .'}', - 'description' => 'Risk score.'."\n" - .'Only supports PS and SAME_BACKGROUND to return scores.', - ], - ], - 'MaterialInfo' => [ - 'description' => 'Additional information in JSON format.', - 'type' => 'string', - 'example' => '{'."\n" - .' "sameBackgroundDetail": {'."\n" - .' // 相似背景对于的原始图请求RequestId'."\n" - .' "originalRequestId": "130A2C10-B9EE-4D84-88E3-5384FF03****";'."\n" - .' // 相似背景对于的原始图请求商户ID '."\n" - .' "originalMerchantId": "xxxxxxxx" '."\n" - .' }'."\n" - .'}', + 'additionalProperties' => ['description' => '风险分值。'."\n" + .'仅支持PS、SAME_BACKGROUND返回分值。', 'type' => 'string', 'example' => '{'."\n" + .'"PS": "0.0211",'."\n" + .'"SAME_BACKGROUND": "0.0861"'."\n" + .'}', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'MaterialInfo' => ['description' => 'The additional information in JSON format.', 'type' => 'string', 'example' => '{'."\n" + .' "sameBackgroundDetail": {'."\n" + .' // 相似背景对于的原始图请求RequestId'."\n" + .' "originalRequestId": "130A2C10-B9EE-4D84-88E3-5384FF03****";'."\n" + .' // 相似背景对于的原始图请求商户ID '."\n" + .' "originalMerchantId": "xxxxxxxx" '."\n" + .' }'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"PS,LOW_QUALITY_PRODUCT\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n\\\\\\"PS\\\\\\": \\\\\\"0.0211\\\\\\",\\\\n\\\\\\"SAME_BACKGROUND\\\\\\": \\\\\\"0.0861\\\\\\"\\\\n}\\"\\n },\\n \\"MaterialInfo\\": \\"{\\\\n \\\\\\"sameBackgroundDetail\\\\\\": {\\\\n // 相似背景对于的原始图请求RequestId\\\\n \\\\\\"originalRequestId\\\\\\": \\\\\\"130A2C10-B9EE-4D84-88E3-5384FF03****\\\\\\";\\\\n // 相似背景对于的原始图请求商户ID \\\\n \\\\\\"originalMerchantId\\\\\\": \\\\\\"xxxxxxxx\\\\\\" \\\\n }\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Product Image Tampering Detection Service', - 'description' => 'Upload e-commerce product images to perform tampering, quality (clarity), and similar image detection, returning risk labels and scores.', - 'translator' => 'machine', - ], - 'CredentialVerifyV2' => [ - 'summary' => 'Credential Verification', - 'methods' => [ - 'post', + 'title' => 'Product image tampering detection service', + 'description' => 'Submits an e-commerce product image to perform tampering detection, quality (clarity) assessment, and similar image detection. Returns risk labels and risk scores.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialProductVerifyV2'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CredentialProductVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CredentialVerify' => [ + 'summary' => 'Credential verification.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '219634', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -2769,391 +1756,282 @@ [ 'name' => 'CredType', 'in' => 'query', - 'schema' => [ - 'description' => 'Credential type:'."\n" - ."\n" - .'- 01: Personal ID cards'."\n" - .'- 02: Business scenario'."\n" - .'- 03: Corporate qualifications', - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'schema' => ['description' => 'The credential type. Valid values:'."\n" + ."\n" + .'- 01: personal card and certificate'."\n" + .'- 02: business scenario'."\n" + .'- 03: enterprise qualification.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], ], [ 'name' => 'CredName', 'in' => 'query', - 'schema' => [ - 'description' => '- 01: Personal ID cards'."\n" - .' - 0101: ID card'."\n" - .' - 0102: Bank card'."\n" - .' - 0104: Teacher qualification certificate'."\n" - .' - 0107: Student ID card'."\n" - .'- 02: Business scenario'."\n" - .' - 0201: Storefront photo'."\n" - .' - 0202: Counter photo'."\n" - .' - 0203: Scene photo'."\n" - .'- 03: Corporate qualifications'."\n" - .' - 0301: Business license', - 'type' => 'string', - 'required' => false, - 'example' => '0104'."\n", - ], + 'schema' => ['description' => 'The credential name. Valid values:'."\n" + ."\n" + .'- 01: personal card and certificate'."\n" + .' - 0101: ID card'."\n" + .' - 0102: bank card'."\n" + .' - 0104: teacher qualification certificate'."\n" + .' - 0107: student ID card'."\n" + .'- 02: business scenario'."\n" + .' - 0201: storefront photo'."\n" + .' - 0202: counter photo'."\n" + .' - 0203: scene photo'."\n" + .'- 03: enterprise qualification'."\n" + .' - 0301: business license.', 'type' => 'string', 'required' => false, 'example' => '0104'."\n", 'title' => ''], ], [ 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Image URL, choose one from `imageUrl`, `imageFile`, or `imageContext`.', - 'type' => 'string', - 'required' => false, - 'example' => 'http://marry.momocdn.com/avatar/3B/B6/3BB6527E-7467-926E-1048-B43614F20CC420230803_L.jpg', - ], - ], - [ - 'name' => 'ImageFile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Image input stream, choose one from `imageUrl`, `imageFile`, or `imageContext`.', - 'type' => 'string', - 'required' => false, - 'example' => 'none', - 'isFileTransferUrl' => true, - ], + 'schema' => ['description' => 'The image URL. Specify either imageUrl or imageContext.', 'type' => 'string', 'required' => false, 'example' => 'http://marry.momocdn.com/avatar/3B/B6/3BB6527E-7467-926E-1048-B43614F20CC420230803_L.jpg', 'title' => ''], ], [ 'name' => 'ImageContext', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded image, choose one from `imageUrl`, `imageFile`, or `imageContext`.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'schema' => ['description' => 'The Base64-encoded image. Specify either imageUrl or imageContext.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'IsOcr', + 'name' => 'IsOCR', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to use OCR', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'Specifies whether to enable optical character recognition (OCR). Valid values:'."\n" + ."\n" + .'- **0**: Disabled.'."\n" + .'- **1**: Enabled.'."\n" + ."\n" + .'You can set **isOCR** to **1** only when **CredType** is set to **01**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'IsCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable authoritative authentication'."\n" - ."\n" - .'- ****0****: No'."\n" - .'- **1**: Yes', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'Specifies whether to enable authoritative verification. Valid values:'."\n" + ."\n" + .'- **0**: Disabled.'."\n" + .'- **1**: Enabled.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => 'Name.', - 'type' => 'string', - 'required' => false, - 'example' => '张三', - ], + 'schema' => ['description' => 'The name.', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], ], [ 'name' => 'IdentifyNum', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '4****************1', - ], + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => false, 'example' => '429001********8211', 'title' => ''], ], [ 'name' => 'CertNum', 'in' => 'query', - 'schema' => [ - 'description' => 'Relevant certificate number.', - 'type' => 'string', - 'required' => false, - 'example' => '4601*****', - ], + 'schema' => ['description' => 'The certificate number.', 'type' => 'string', 'required' => false, 'example' => '4601*****', 'title' => ''], ], [ 'name' => 'MerchantId', 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant ID. This field is required when ****CredName**** is set to **02**.', - 'type' => 'string', - 'required' => false, - 'example' => 'none', - ], + 'schema' => ['description' => 'The merchant ID. This parameter is required when **CredName** is set to **02**.', 'type' => 'string', 'required' => false, 'example' => '无。', 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Invocation mode:'."\n" - ."\n" - .'- ANTI_FAKE_CHECK: Image anti-forgery check'."\n" - ."\n" - .'- ANTI_FAKE_VL: Image anti-forgery check and semantic understanding'."\n" - ."\n" - .'- IMAGE_VL_COG: Image semantic understanding'."\n" - ."\n" - .'Default value: ANTI_FAKE_CHECK'."\n" - ."\n" - .'When CredType is set to 02, ProductCode can only be ANTI_FAKE_VL or IMAGE_VL_COG.', - 'type' => 'string', - 'required' => false, - 'example' => 'ANTI_FAKE_CHECK', - ], + 'schema' => ['description' => 'The call mode. Valid values:'."\n" + ."\n" + .'* ANTI_FAKE_CHECK: image anti-forgery detection.'."\n" + ."\n" + .'* ANTI_FAKE_VL: image anti-forgery detection and semantic understanding.'."\n" + ."\n" + .'* IMAGE_VL_COG: image semantic understanding.'."\n" + ."\n" + .'Default value: ANTI_FAKE_CHECK.'."\n" + ."\n" + .'ProductCode can be set to ANTI_FAKE_VL or IMAGE_VL_COG only when CredType is set to 02.', 'type' => 'string', 'required' => false, 'example' => 'ANTI_FAKE_CHECK', 'title' => ''], ], [ 'name' => 'PromptModel', 'in' => 'query', - 'schema' => [ - 'description' => 'Prompt acquisition method for image semantic understanding:'."\n" - ."\n" - .'- DEFAULT: System default'."\n" - ."\n" - .'- CUSTOM: Customer-defined'."\n" - ."\n" - .'Note: When ProductCode is set to ANTI_FAKE_VL or IMAGE_VL_COG, this parameter must be provided.', - 'type' => 'string', - 'required' => false, - 'example' => 'DEFAULT', - ], + 'schema' => ['description' => 'The method to obtain the prompt for image semantic understanding. Valid values:'."\n" + ."\n" + .'* DEFAULT: system default.'."\n" + ."\n" + .'* CUSTOM: custom.'."\n" + ."\n" + .'Note: This parameter is required when ProductCode is set to ANTI_FAKE_VL or IMAGE_VL_COG.', 'type' => 'string', 'required' => false, 'example' => 'DEFAULT', 'title' => ''], ], [ 'name' => 'Prompt', 'in' => 'query', - 'schema' => [ - 'description' => 'Customer-defined prompt content for image semantic understanding.'."\n" - ."\n" - .'This field is required when PromptModel is set to CUSTOM.', - 'type' => 'string', - 'required' => false, - 'example' => 'none'."\n", - ], + 'schema' => ['description' => 'The custom prompt content for image semantic understanding.'."\n" + ."\n" + .'This parameter is required when PromptModel is set to CUSTOM.', 'type' => 'string', 'required' => false, 'example' => '无', 'title' => ''], ], [ 'name' => 'MerchantDetail', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'Merchant details:'."\n" - ."\n" - .'MerchantName: Merchant name'."\n" - ."\n" - .'BusinessType: Industry information'."\n" - ."\n" - .'BusinessContent: Business content'."\n" - ."\n" - .'This field is required when PromptModel is set to DEFAULT.', + 'description' => 'This parameter is required when PromptModel is set to DEFAULT.', 'type' => 'array', 'items' => [ - 'description' => 'Keyword', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'Keyword key.', - 'type' => 'string', - 'required' => false, - 'example' => 'MerchantName', - ], - 'Value' => [ - 'description' => 'Keyword value.', - 'type' => 'string', - 'required' => false, - 'example' => '***', - ], + 'Key' => ['description' => 'The replacement keyword key.', 'type' => 'string', 'required' => false, 'example' => 'keyword', 'title' => ''], + 'Value' => ['description' => 'The replacement keyword value.', 'type' => 'string', 'required' => false, 'example' => '关键字', 'title' => ''], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10'], + 'Code' => ['description' => 'The response code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result information.', + 'description' => 'The result information.', 'type' => 'object', 'properties' => [ - 'Result' => [ - 'description' => 'Risk result'."\n" - ."\n" - .'- 0: Low risk'."\n" - .'- 1: High risk'."\n" - .'- 2: Suspicious', - 'type' => 'string', - 'example' => '1', - ], - 'RiskTag' => [ - 'description' => 'Risk tags, separated by commas (,), including:'."\n" - ."\n" - .'- PS: Image manipulation.'."\n" - .'- SCREEN_PHOTO: Screen recapture.'."\n" - .'- SCREENSHOT: Screenshot.'."\n" - .'- WATERMARK: Watermark.'."\n" - .'- SAME_BACKGROUND: Similar background.'."\n" - .'- ORIGINAL_PHOTO: Not the original image', - 'type' => 'string', - 'example' => 'PS,SCREEN_PHOTO', - ], + 'Result' => ['description' => 'The risk result. Valid values:'."\n" + ."\n" + .'- **0**: Low risk.'."\n" + .'- **1**: High risk.'."\n" + .'- **2**: Suspicious.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RiskTag' => ['description' => 'The risk tags, separated by commas (,). Valid values:'."\n" + ."\n" + .'- PS: image manipulation.'."\n" + .'- SCREEN_PHOTO: screen recapture.'."\n" + .'- SCREENSHOT: screenshot.'."\n" + .'- WATERMARK: watermark.'."\n" + .'- COLOR_PRINT: color print copy.'."\n" + .'- WEB_IMAGE: web image.'."\n" + .'- SAME_FACE: similar face.'."\n" + .'- SAME_BACKGROUND: similar background.', 'type' => 'string', 'example' => 'PS,SCREEN_PHOTO', 'title' => ''], 'RiskScore' => [ - 'description' => 'Risk score map.', + 'description' => 'The risk score map.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "PS": "0.9458",'."\n" - .' "SCREEN_PHOTO": "0.1781",'."\n" - .' "WATERMARK": "0.1863"'."\n" - .'}', - 'description' => 'Risk score.', - ], - ], - 'OcrInfo' => [ - 'description' => 'OCR recognition result.', - 'type' => 'string', - 'example' => '{'."\n" - .' "certNo":"20216*********",'."\n" - .' "certType":"小学教师资格",'."\n" - .' "gender":"男",'."\n" - .' "subject":"美术",'."\n" - .' "name":"李**",'."\n" - .' "ext_info":"{}",'."\n" - .' "birthDate":"1998-07-28",'."\n" - .' "idNo":"620************",'."\n" - .' "certOrg":""'."\n" - .'}', - ], - 'VerifyResult' => [ - 'description' => 'Authority verification result', - 'type' => 'string', - 'example' => ' *', - ], - 'VerifyDetail' => [ - 'description' => 'Authority verification details.', - 'type' => 'string', - 'example' => '**', - ], - 'MaterialInfo' => [ - 'description' => 'Additional information in JSON format.', - 'type' => 'string', - 'example' => '{'."\n" - ."\n" - .'"sameBackgroundDetail": {'."\n" - ."\n" - .'// 相似背景对于的原始图请求RequestId'."\n" - ."\n" - .'"originalRequestId": "130A2C10-B9EE-4D84-88E3-5384FF03****";'."\n" - ."\n" - .'// 相似背景对于的原始图请求商户ID'."\n" - ."\n" - .'"originalMerchantId": "xxxxxxxx"'."\n" - ."\n" - .'}'."\n" - ."\n" - .'}', + 'additionalProperties' => ['description' => '风险分值。', 'type' => 'string', 'example' => '{'."\n" + .' "PS": "0.9458",'."\n" + .' "SCREEN_PHOTO": "0.1781",'."\n" + .' "WATERMARK": "0.1863"'."\n" + .'}', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'OcrInfo' => ['description' => 'The OCR recognition result.', 'type' => 'string', 'example' => '{'."\n" + .' "certNo":"20216*********",'."\n" + .' "certType":"小学教师资格",'."\n" + .' "gender":"男",'."\n" + .' "subject":"美术",'."\n" + .' "name":"李**",'."\n" + .' "ext_info":"{}",'."\n" + .' "birthDate":"1998-07-28",'."\n" + .' "idNo":"620************",'."\n" + .' "certOrg":""'."\n" + .'}', 'title' => ''], + 'VerifyResult' => ['description' => 'The authoritative verification result.', 'type' => 'string', 'example' => ' *', 'title' => ''], + 'VerifyDetail' => ['description' => 'The authoritative verification details.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'MaterialInfo' => ['description' => 'The additional information in JSON format.', 'type' => 'string', 'example' => '{'."\n" + ."\n" + .'"sameBackgroundDetail": {'."\n" + ."\n" + .'// 相似背景对于的原始图请求RequestId'."\n" + ."\n" + .'"originalRequestId": "130A2C10-B9EE-4D84-88E3-5384FF03****";'."\n" + ."\n" + .'// 相似背景对于的原始图请求商户ID'."\n" + ."\n" + .'"originalMerchantId": "xxxxxxxx"'."\n" + ."\n" + .'}'."\n" + ."\n" + .'}', 'title' => ''], 'VlResult' => [ - 'description' => 'Qwen interpretation.', + 'description' => 'The Qwen interpretation.', 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Qwen interpretation success indicator'."\n" - ."\n" - .'true: Success'."\n" - ."\n" - .'false: Failure', - 'type' => 'boolean', - 'example' => 'true', - ], - 'VlContent' => [ - 'description' => 'Image understanding result:'."\n" - ."\n" - .'- When PromptModel is DEFAULT, the output format refers to the example on the right.'."\n" - ."\n" - .'- When PromptModel is CUSTOM, the output format follows the agreed format of the Prompt.', - 'type' => 'string', - 'example' => '{'."\n" - .' "CHK_DOOR_PHOTO":1, -- 是否门头照 1:是 0:否'."\n" - .' "CHK_INTERIOR_PHOTO":0, -- 是否内景照 1:是 0:否'."\n" - .' "CHK_COUNTER_PHOTO":0 -- 是否柜台照 1:是 0:否'."\n" - .'}', - ], + 'Success' => ['description' => 'Indicates whether the Qwen interpretation is successful. Valid values:'."\n" + ."\n" + .'- true: Successful.'."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'VlContent' => ['description' => 'The Qwen interpretation content.', 'type' => 'string', 'example' => '{\\"这张图有没有明显的PS特征\\":0,\\"图片是否为正常经营照片\\":1,\\"图片中有没有58、美团、大众点评字样\\":0,\\"这张图有没有网站信息\\":0,\\"图片经营的场景是否为酒店\\":0}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"PS,SCREEN_PHOTO\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"PS\\\\\\": \\\\\\"0.9458\\\\\\",\\\\n \\\\\\"SCREEN_PHOTO\\\\\\": \\\\\\"0.1781\\\\\\",\\\\n \\\\\\"WATERMARK\\\\\\": \\\\\\"0.1863\\\\\\"\\\\n}\\"\\n },\\n \\"OcrInfo\\": \\"{\\\\n \\\\\\"certNo\\\\\\":\\\\\\"20216*********\\\\\\",\\\\n \\\\\\"certType\\\\\\":\\\\\\"小学教师资格\\\\\\",\\\\n \\\\\\"gender\\\\\\":\\\\\\"男\\\\\\",\\\\n \\\\\\"subject\\\\\\":\\\\\\"美术\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"李**\\\\\\",\\\\n \\\\\\"ext_info\\\\\\":\\\\\\"{}\\\\\\",\\\\n \\\\\\"birthDate\\\\\\":\\\\\\"1998-07-28\\\\\\",\\\\n \\\\\\"idNo\\\\\\":\\\\\\"620************\\\\\\",\\\\n \\\\\\"certOrg\\\\\\":\\\\\\"\\\\\\"\\\\n}\\",\\n \\"VerifyResult\\": \\" *\\",\\n \\"VerifyDetail\\": \\"**\\",\\n \\"MaterialInfo\\": \\"{\\\\n\\\\n\\\\\\"sameBackgroundDetail\\\\\\": {\\\\n\\\\n// 相似背景对于的原始图请求RequestId\\\\n\\\\n\\\\\\"originalRequestId\\\\\\": \\\\\\"130A2C10-B9EE-4D84-88E3-5384FF03****\\\\\\";\\\\n\\\\n// 相似背景对于的原始图请求商户ID\\\\n\\\\n\\\\\\"originalMerchantId\\\\\\": \\\\\\"xxxxxxxx\\\\\\"\\\\n\\\\n}\\\\n\\\\n}\\",\\n \\"VlResult\\": {\\n \\"Success\\": true,\\n \\"VlContent\\": \\"{\\\\n \\\\\\"CHK_DOOR_PHOTO\\\\\\":1, -- 是否门头照 1:是 0:否\\\\n \\\\\\"CHK_INTERIOR_PHOTO\\\\\\":0, -- 是否内景照 1:是 0:否\\\\n \\\\\\"CHK_COUNTER_PHOTO\\\\\\":0 -- 是否柜台照 1:是 0:否\\\\n}\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Credential Verification V2', - 'description' => 'Input credential image information, perform image tampering and forgery detection, and image semantic understanding. Return the risk detection results.', - 'translator' => 'machine', - ], - 'CredentialVerify' => [ - 'summary' => 'Credential verification', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"PS,SCREEN_PHOTO\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"PS\\\\\\": \\\\\\"0.9458\\\\\\",\\\\n \\\\\\"SCREEN_PHOTO\\\\\\": \\\\\\"0.1781\\\\\\",\\\\n \\\\\\"WATERMARK\\\\\\": \\\\\\"0.1863\\\\\\"\\\\n}\\"\\n },\\n \\"OcrInfo\\": \\"{\\\\n \\\\\\"certNo\\\\\\":\\\\\\"20216*********\\\\\\",\\\\n \\\\\\"certType\\\\\\":\\\\\\"小学教师资格\\\\\\",\\\\n \\\\\\"gender\\\\\\":\\\\\\"男\\\\\\",\\\\n \\\\\\"subject\\\\\\":\\\\\\"美术\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"李**\\\\\\",\\\\n \\\\\\"ext_info\\\\\\":\\\\\\"{}\\\\\\",\\\\n \\\\\\"birthDate\\\\\\":\\\\\\"1998-07-28\\\\\\",\\\\n \\\\\\"idNo\\\\\\":\\\\\\"620************\\\\\\",\\\\n \\\\\\"certOrg\\\\\\":\\\\\\"\\\\\\"\\\\n}\\",\\n \\"VerifyResult\\": \\" *\\",\\n \\"VerifyDetail\\": \\"**\\",\\n \\"MaterialInfo\\": \\"{\\\\n\\\\n\\\\\\"sameBackgroundDetail\\\\\\": {\\\\n\\\\n// 相似背景对于的原始图请求RequestId\\\\n\\\\n\\\\\\"originalRequestId\\\\\\": \\\\\\"130A2C10-B9EE-4D84-88E3-5384FF03****\\\\\\";\\\\n\\\\n// 相似背景对于的原始图请求商户ID\\\\n\\\\n\\\\\\"originalMerchantId\\\\\\": \\\\\\"xxxxxxxx\\\\\\"\\\\n\\\\n}\\\\n\\\\n}\\",\\n \\"VlResult\\": {\\n \\"Success\\": true,\\n \\"VlContent\\": \\"{\\\\\\\\\\\\\\"这张图有没有明显的PS特征\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"图片是否为正常经营照片\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"图片中有没有58、美团、大众点评字样\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"这张图有没有网站信息\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"图片经营的场景是否为酒店\\\\\\\\\\\\\\":0}\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Credential verification', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" + .'- Request method: POST and GET.'."\n" + .'- Transfer protocol: HTTPS.', + 'requestParamsDescription' => 'The image specified by imageUrl or imageContext must meet the following requirements:'."\n" + ."\n" + .'- Image format: PNG, JPG, JPEG, BMP, and WebP are supported.'."\n" + .'- Image dimensions: The width and height must be greater than 15 pixels and less than 8192 pixels, and the aspect ratio must be less than 50.'."\n" + .' > For better recognition results, the width and height should both be greater than 500 pixels.'."\n" + .'- Image size: The binary file size cannot exceed 10 MB.'."\n" + .' > Large images affect the response speed. Use images smaller than 1.5 MB.', + 'changeSet' => [ + ['createdAt' => '2024-10-09T07:43:36.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-18T10:55:15.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-05-30T09:20:35.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialVerify'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CredentialVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'CredentialVerifyV2' => [ + 'summary' => 'Credential verification.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '219634', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], 'autoTest' => false, 'tenantRelevance' => 'publicInformation', ], @@ -3161,369 +2039,242 @@ [ 'name' => 'CredType', 'in' => 'query', - 'schema' => [ - 'description' => 'Credential type:'."\n" - ."\n" - .'- 01: Personal ID cards'."\n" - .'- 02: Business scenario'."\n" - .'- 03: Corporate qualifications', - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'schema' => ['description' => 'The credential type. Valid values:'."\n" + ."\n" + .'- 01: personal card or certificate'."\n" + .'- 02: business scenario'."\n" + .'- 03: enterprise qualification.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], ], [ 'name' => 'CredName', 'in' => 'query', - 'schema' => [ - 'description' => '- 01: Personal ID cards'."\n" - .' - **0101**: ID card'."\n" - .' - **0102**: Bank card'."\n" - .' - **0104**: Teacher qualification certificate'."\n" - .' - **0107**: Student ID card'."\n" - .'- 02: Business scenario'."\n" - .' - **0201**: Storefront photo'."\n" - .' - **0202**: Counter photo'."\n" - .' - **0203**: Scene photo'."\n" - .'- 03: Corporate qualifications'."\n" - .' - **0301**: Business license', - 'type' => 'string', - 'required' => false, - 'example' => '0104', - ], + 'schema' => ['description' => 'The credential name. Valid values:'."\n" + ."\n" + .'- 01: personal card or certificate'."\n" + .' - 0101: ID card'."\n" + .' - 0102: bank card'."\n" + .' - 0104: teacher qualification certificate'."\n" + .' - 0107: student ID card'."\n" + .'- 02: business scenario'."\n" + .' - 0201: storefront photo'."\n" + .' - 0202: counter photo'."\n" + .' - 0203: scene photo'."\n" + .'- 03: enterprise qualification'."\n" + .' - 0301: business license.', 'type' => 'string', 'required' => false, 'example' => '0104'."\n", 'title' => ''], ], [ 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Image URL, choose one from `imageUrl`, `imageFile`, or `imageContext`.', - 'type' => 'string', - 'required' => false, - 'example' => 'http://marry.momocdn.com/avatar/3B/B6/3BB6527E-7467-926E-1048-B43614F20CC420230803_L.jpg', - ], + 'schema' => ['description' => 'The URL of the image. Specify one of imageUrl, imageFile, or imageContext.', 'type' => 'string', 'required' => false, 'example' => 'http://marry.momocdn.com/avatar/3B/B6/3BB6527E-7467-926E-1048-B43614F20CC420230803_L.jpg', 'title' => ''], + ], + [ + 'name' => 'ImageFile', + 'in' => 'formData', + 'schema' => ['description' => 'The input stream of the image. Specify one of imageUrl, imageFile, or imageContext.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '无', 'title' => ''], ], [ 'name' => 'ImageContext', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded image, choose one from `imageUrl`, `imageFile`, or `imageContext`.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'schema' => ['description' => 'The Base64-encoded image. Specify one of imageUrl, imageFile, or imageContext.', 'type' => 'string', 'required' => false, 'example' => '无', 'title' => ''], ], [ - 'name' => 'IsOCR', + 'name' => 'IsOcr', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable OCR recognition.'."\n" - ."\n" - .'- **0**: No'."\n" - .'- **1**: Yes'."\n" - ."\n" - .'> IsOCR can be set to 1 only when **CredType** is 01.', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to enable OCR.'."\n" + .'><danger>Deprecated></danger>.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'IsCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable authoritative authentication'."\n" - ."\n" - .'- ****0****: No'."\n" - .'- **1**: Yes', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'Specifies whether to enable authoritative verification. Valid values:'."\n" + ."\n" + .'- **0**: Disabled.'."\n" + .'- **1**: Enabled.'."\n" + .'><danger>Deprecated></danger>.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => 'UserName', - 'type' => 'string', - 'required' => false, - 'example' => '张*', - ], + 'schema' => ['description' => 'The name.', 'type' => 'string', 'required' => false, 'example' => '张三', 'title' => ''], ], [ 'name' => 'IdentifyNum', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'Note'."\n" - .'Only supports the ID numbers of second-generation resident IDs and Hong Kong, Macao, and Taiwan residence permits.'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext ID number.'."\n" - ."\n" - .'- When paramType is md5: first 6 digits of the ID number (plaintext) + date of birth (ciphertext) + last 4 digits of the ID number (plaintext).', - 'type' => 'string', - 'required' => false, - 'example' => '429001********8211', - ], + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => false, 'example' => '4****************1', 'title' => ''], ], [ 'name' => 'CertNum', 'in' => 'query', - 'schema' => [ - 'description' => 'Relevant certificate number.', - 'type' => 'string', - 'required' => false, - 'example' => '4601*****', - ], + 'schema' => ['description' => 'The certificate number.', 'type' => 'string', 'required' => false, 'example' => '4601*****', 'title' => ''], ], [ 'name' => 'MerchantId', 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant ID. '."\n" - ."\n" - .'> This field is required when ****CredName**** is set to **02**.', - 'type' => 'string', - 'required' => false, - 'example' => '913100********KW8P', - ], + 'schema' => ['description' => 'The merchant ID. This parameter is required when CredName is set to 02.', 'type' => 'string', 'required' => false, 'example' => '无。', 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Invocation mode:'."\n" - ."\n" - .'- **ANTI_FAKE_CHECK**: Image anti-forgery check'."\n" - ."\n" - .'- **ANTI_FAKE_VL**: Image anti-forgery check and semantic understanding'."\n" - ."\n" - .'- **IMAGE_VL_COG**: Image semantic understanding'."\n" - ."\n" - .'Default value: ANTI_FAKE_CHECK'."\n" - ."\n" - .'> When **CredType** is set to 02, **ProductCode** can only be ANTI_FAKE_VL or IMAGE_VL_COG.', - 'type' => 'string', - 'required' => false, - 'example' => 'ANTI_FAKE_CHECK', - ], + 'schema' => ['description' => 'The call mode. Valid values:'."\n" + ."\n" + .'- ANTI_FAKE_CHECK (default): image anti-forgery detection.', 'type' => 'string', 'required' => false, 'example' => 'ANTI_FAKE_CHECK', 'title' => ''], ], [ 'name' => 'PromptModel', 'in' => 'query', - 'schema' => [ - 'description' => 'Prompt acquisition method for image semantic understanding:'."\n" - ."\n" - .'- **DEFAULT**: System default'."\n" - ."\n" - .'- **CUSTOM**: Customer-defined'."\n" - ."\n" - .'> When **ProductCode** is set to **ANTI_FAKE_VL** or **IMAGE_VL_COG**, this parameter must be provided.', - 'type' => 'string', - 'required' => false, - 'example' => 'DEFAULT', - ], + 'schema' => ['description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], ], [ 'name' => 'Prompt', 'in' => 'query', - 'schema' => [ - 'description' => 'Customer-defined prompt content for image semantic understanding.'."\n" - ."\n\n" - .'> This field is required when PromptModel is set to CUSTOM.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'string', 'required' => false, 'example' => '-'."\n", 'title' => ''], ], [ 'name' => 'MerchantDetail', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'Merchant details:'."\n" - ."\n\n" - .'> This field is required when PromptModel is set to DEFAULT.', + 'description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'array', 'items' => [ + 'description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The private key of the certificate.'."\n" - ."\n" - .'> If this parameter is specified, you must also specify **CertName** and **Cert**. If **CertName**, **Cert**, and **Key** are specified, you do not need to specify **CertId**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'keyword', - ], - 'Value' => [ - 'description' => 'Keyword value.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'Key' => ['description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + 'Value' => ['description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], ], 'required' => false, - 'description' => 'Merchant details object', + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result', + 'description' => 'The result information.', 'type' => 'object', 'properties' => [ - 'Result' => [ - 'description' => 'Risk result'."\n" - ."\n" - .'- **0**: Low risk'."\n" - .'- **1**: High risk'."\n" - .'- **2**: Suspicious', - 'type' => 'string', - 'example' => '1', - ], - 'RiskTag' => [ - 'description' => 'Risk tags, separated by commas (,), including:'."\n" - ."\n" - .'- **PS**: Image manipulation.'."\n" - .'- **SCREEN_PHOTO**: Screen recapture.'."\n" - .'- **SCREENSHOT**: Screenshot.'."\n" - .'- **WATERMARK**: Watermark.'."\n" - .'- **SAME_BACKGROUND**: Similar background.'."\n" - .'- **ORIGINAL_PHOTO**: Not the original image', - 'type' => 'string', - 'example' => 'PS,SCREEN_PHOTO', - ], + 'Result' => ['description' => 'The risk result. Valid values:'."\n" + ."\n" + .'- 0: Low risk.'."\n" + .'- 1: High risk.'."\n" + .'- 2: Suspicious.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RiskTag' => ['description' => 'The risk tags, separated by commas (,). Valid values:'."\n" + ."\n" + .'- PS: image manipulation.'."\n" + .'- SCREEN_PHOTO: screen recapture.'."\n" + .'- SCREENSHOT: screenshot.'."\n" + .'- WATERMARK: watermark.'."\n" + .'- SAME_BACKGROUND: similar background.'."\n" + .'- ORIGINAL_PHOTO: non-original image.', 'type' => 'string', 'example' => 'PS,SCREEN_PHOTO', 'title' => ''], 'RiskScore' => [ - 'description' => 'Risk score map.', + 'description' => 'The risk score map.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "PS": "0.9458",'."\n" - .' "SCREEN_PHOTO": "0.1781",'."\n" - .' "WATERMARK": "0.1863"'."\n" - .'}', - 'description' => 'Risk score map.', - ], - ], - 'OcrInfo' => [ - 'description' => 'OCR recognition result.', - 'type' => 'string', - 'example' => '{'."\n" - .' "certNo":"20216*********",'."\n" - .' "certType":"小学教师资格",'."\n" - .' "gender":"男",'."\n" - .' "subject":"美术",'."\n" - .' "name":"李**",'."\n" - .' "ext_info":"{}",'."\n" - .' "birthDate":"1998-07-28",'."\n" - .' "idNo":"620************",'."\n" - .' "certOrg":""'."\n" - .'}', - ], - 'VerifyResult' => [ - 'description' => 'The verification result.', - 'type' => 'string', - 'example' => ' *', - ], - 'VerifyDetail' => [ - 'description' => 'Authority verification details.', - 'type' => 'string', - 'example' => '**', - ], - 'MaterialInfo' => [ - 'description' => 'Additional information in JSON format.', - 'type' => 'string', - 'example' => '{'."\n" - ."\n" - .'"sameBackgroundDetail": {'."\n" - ."\n" - .'// 相似背景对于的原始图请求RequestId'."\n" - ."\n" - .'"originalRequestId": "130A2C10-B9EE-4D84-88E3-5384FF03****";'."\n" - ."\n" - .'// 相似背景对于的原始图请求商户ID'."\n" - ."\n" - .'"originalMerchantId": "xxxxxxxx"'."\n" - ."\n" - .'}'."\n" - ."\n" - .'}', + 'additionalProperties' => ['description' => '风险分值。', 'type' => 'string', 'example' => '{'."\n" + .' "PS": "0.9458",'."\n" + .' "SCREEN_PHOTO": "0.1781",'."\n" + .' "WATERMARK": "0.1863"'."\n" + .'}', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'OcrInfo' => ['description' => 'The OCR recognition result.'."\n" + .'><danger>Deprecated></danger>.', 'type' => 'string', 'example' => '{'."\n" + .' "certNo":"20216*********",'."\n" + .' "certType":"小学教师资格",'."\n" + .' "gender":"男",'."\n" + .' "subject":"美术",'."\n" + .' "name":"李**",'."\n" + .' "ext_info":"{}",'."\n" + .' "birthDate":"1998-07-28",'."\n" + .' "idNo":"620************",'."\n" + .' "certOrg":""'."\n" + .'}', 'title' => ''], + 'VerifyResult' => ['description' => 'The authoritative verification result.'."\n" + .'><danger>Deprecated></danger>.', 'type' => 'string', 'example' => ' *', 'title' => ''], + 'VerifyDetail' => ['description' => 'The authoritative verification details.'."\n" + .'><danger>Deprecated></danger>.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'MaterialInfo' => ['description' => 'The additional information in JSON format.', 'type' => 'string', 'example' => '{'."\n" + ."\n" + .'"sameBackgroundDetail": {'."\n" + ."\n" + .'// 相似背景对于的原始图请求RequestId'."\n" + ."\n" + .'"originalRequestId": "130A2C10-B9EE-4D84-88E3-5384FF03****";'."\n" + ."\n" + .'// 相似背景对于的原始图请求商户ID'."\n" + ."\n" + .'"originalMerchantId": "xxxxxxxx"'."\n" + ."\n" + .'}'."\n" + ."\n" + .'}', 'title' => ''], 'VlResult' => [ - 'description' => 'Qwen interpretation.', + 'description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Indicates whether the call was successful. Valid values:'."\n" - ."\n" - .'- **true**: The call was successful.'."\n" - .'- **false**: The call failed.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'VlContent' => [ - 'description' => 'Image understanding result:'."\n" - ."\n" - .'- When PromptModel is DEFAULT, the output format refers to the example on the right.'."\n" - ."\n" - .'- When PromptModel is CUSTOM, the output format follows the agreed format of the Prompt.', - 'type' => 'string', - 'example' => '{\\"这张图有没有明显的PS特征\\":0,\\"图片是否为正常经营照片\\":1,\\"图片中有没有58、美团、大众点评字样\\":0,\\"这张图有没有网站信息\\":0,\\"图片经营的场景是否为酒店\\":0}'."\n", - ], + 'Success' => ['description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'boolean', 'example' => '-', 'title' => ''], + 'VlContent' => ['description' => 'This feature is offline. This parameter no longer takes effect.', 'type' => 'string', 'example' => '-', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"PS,SCREEN_PHOTO\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"PS\\\\\\": \\\\\\"0.9458\\\\\\",\\\\n \\\\\\"SCREEN_PHOTO\\\\\\": \\\\\\"0.1781\\\\\\",\\\\n \\\\\\"WATERMARK\\\\\\": \\\\\\"0.1863\\\\\\"\\\\n}\\"\\n },\\n \\"OcrInfo\\": \\"{\\\\n \\\\\\"certNo\\\\\\":\\\\\\"20216*********\\\\\\",\\\\n \\\\\\"certType\\\\\\":\\\\\\"小学教师资格\\\\\\",\\\\n \\\\\\"gender\\\\\\":\\\\\\"男\\\\\\",\\\\n \\\\\\"subject\\\\\\":\\\\\\"美术\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"李**\\\\\\",\\\\n \\\\\\"ext_info\\\\\\":\\\\\\"{}\\\\\\",\\\\n \\\\\\"birthDate\\\\\\":\\\\\\"1998-07-28\\\\\\",\\\\n \\\\\\"idNo\\\\\\":\\\\\\"620************\\\\\\",\\\\n \\\\\\"certOrg\\\\\\":\\\\\\"\\\\\\"\\\\n}\\",\\n \\"VerifyResult\\": \\" *\\",\\n \\"VerifyDetail\\": \\"**\\",\\n \\"MaterialInfo\\": \\"{\\\\n\\\\n\\\\\\"sameBackgroundDetail\\\\\\": {\\\\n\\\\n// 相似背景对于的原始图请求RequestId\\\\n\\\\n\\\\\\"originalRequestId\\\\\\": \\\\\\"130A2C10-B9EE-4D84-88E3-5384FF03****\\\\\\";\\\\n\\\\n// 相似背景对于的原始图请求商户ID\\\\n\\\\n\\\\\\"originalMerchantId\\\\\\": \\\\\\"xxxxxxxx\\\\\\"\\\\n\\\\n}\\\\n\\\\n}\\",\\n \\"VlResult\\": {\\n \\"Success\\": true,\\n \\"VlContent\\": \\"{\\\\\\\\\\\\\\"这张图有没有明显的PS特征\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"图片是否为正常经营照片\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"图片中有没有58、美团、大众点评字样\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"这张图有没有网站信息\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"图片经营的场景是否为酒店\\\\\\\\\\\\\\":0}\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Credential verification', - ], - 'BankMetaVerify' => [ - 'summary' => 'Bank Card Element Verification Interface', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"PS,SCREEN_PHOTO\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"PS\\\\\\": \\\\\\"0.9458\\\\\\",\\\\n \\\\\\"SCREEN_PHOTO\\\\\\": \\\\\\"0.1781\\\\\\",\\\\n \\\\\\"WATERMARK\\\\\\": \\\\\\"0.1863\\\\\\"\\\\n}\\"\\n },\\n \\"OcrInfo\\": \\"{\\\\n \\\\\\"certNo\\\\\\":\\\\\\"20216*********\\\\\\",\\\\n \\\\\\"certType\\\\\\":\\\\\\"小学教师资格\\\\\\",\\\\n \\\\\\"gender\\\\\\":\\\\\\"男\\\\\\",\\\\n \\\\\\"subject\\\\\\":\\\\\\"美术\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"李**\\\\\\",\\\\n \\\\\\"ext_info\\\\\\":\\\\\\"{}\\\\\\",\\\\n \\\\\\"birthDate\\\\\\":\\\\\\"1998-07-28\\\\\\",\\\\n \\\\\\"idNo\\\\\\":\\\\\\"620************\\\\\\",\\\\n \\\\\\"certOrg\\\\\\":\\\\\\"\\\\\\"\\\\n}\\",\\n \\"VerifyResult\\": \\" *\\",\\n \\"VerifyDetail\\": \\"**\\",\\n \\"MaterialInfo\\": \\"{\\\\n\\\\n\\\\\\"sameBackgroundDetail\\\\\\": {\\\\n\\\\n// 相似背景对于的原始图请求RequestId\\\\n\\\\n\\\\\\"originalRequestId\\\\\\": \\\\\\"130A2C10-B9EE-4D84-88E3-5384FF03****\\\\\\";\\\\n\\\\n// 相似背景对于的原始图请求商户ID\\\\n\\\\n\\\\\\"originalMerchantId\\\\\\": \\\\\\"xxxxxxxx\\\\\\"\\\\n\\\\n}\\\\n\\\\n}\\",\\n \\"VlResult\\": {\\n \\"Success\\": true,\\n \\"VlContent\\": \\"-\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Credential verification V2', + 'description' => 'Submits a credential image to perform image tampering and forgery detection and image semantic understanding. Returns risk detection results.', + 'changeSet' => [ + ['createdAt' => '2025-06-12T08:52:25.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialVerifyV2'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CredentialVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeepfakeDetect' => [ + 'summary' => 'Accepts a face image and uses algorithms to detect deepfake risks. Covers risk scenarios such as AIGC-generated faces, deepfake face swaps, template faces, and recaptured faces. Returns risk labels and confidence levels.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3535,1157 +2286,669 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '208613', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth883TGF', - ], + 'abilityTreeCode' => '226413', + 'abilityTreeNodes' => ['FEATUREcloudauthS6WIN6'], ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: Unencrypted.'."\n" - .'- md5: MD5 encrypted.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'normal' => 'normal', - 'md5' => 'md5', - ], - 'example' => 'normal', - ], - ], - [ - 'name' => 'VerifyMode', + 'name' => 'OuterOrderNo', 'in' => 'query', - 'schema' => [ - 'description' => 'VERIFY_BANK_CARD: Bank card authentication mode. It indicates whether the provided bank card number matches the user\'s real name, ID number, and mobile phone number.', - 'type' => 'string', - 'required' => false, - 'example' => 'VERIFY_BANK_CARD', - ], + 'schema' => ['description' => 'The unique identifier of the merchant request. The value is a 32-character alphanumeric string. The first few characters consist of a custom merchant abbreviation, the middle part can contain a time segment, and the last part can use a random or incremental sequence.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', 'title' => ''], ], [ - 'name' => 'ProductType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product type to call:'."\n" - ."\n" - .'- BANK_CARD_2_META: Bank card number + name verification.'."\n" - .'- BANK_CARD_3_META: Bank card number + name + ID number verification.'."\n" - .'- BANK_CARD_4_META: Bank card number + name + ID number + mobile phone number verification.', - 'type' => 'string', - 'required' => false, - 'example' => 'BANK_CARD_2_META', - ], - ], - [ - 'name' => 'UserName', + 'name' => 'FaceInputType', 'in' => 'query', 'schema' => [ - 'description' => 'Name.'."\n" + 'description' => 'The input type of the face material. Valid values:'."\n" ."\n" - .'- When `paramType` is `normal`, enter the plain text name.'."\n" - .'- When `paramType` is `md5`, encrypt the first character of the name with MD5 (32 lowercase MD5) + the rest of the name in plain text.', - 'type' => 'string', - 'required' => false, - 'example' => '张*', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.'."\n" + .'- IMAGE (default): face image'."\n" + .'- VIDEO: face video'."\n" ."\n" - .'- When `ProductType` is `BANK_CARD_3_META`, this field is required.'."\n" - .'- When `paramType` is `normal`, enter the plain text ID number.'."\n" - .'- When `paramType` is `md5`, enter the first 6 digits of the ID number in plain text + the birth date encrypted with MD5 (32 lowercase MD5) + the last 4 digits of the ID number.', + .'> Video processing takes longer. Set the timeout to more than 3 seconds.', + 'enumValueTitles' => ['IMAGE' => 'IMAGE', 'VIDEO' => 'VIDEO'], 'type' => 'string', 'required' => false, - 'example' => '429001********8211', - ], - ], - [ - 'name' => 'BankCard', - 'in' => 'query', - 'schema' => [ - 'description' => 'Bank card number.'."\n" - ."\n" - .'- When `paramType` is `normal`, enter the plain text bank card number.'."\n" - .'- When `paramType` is `md5`, enter the part of the card number except the last 6 digits in plain text + the last 6 digits encrypted with MD5 (32 lowercase).', - 'type' => 'string', - 'required' => false, - 'example' => '610*************1181', + 'example' => 'IMAGE', + 'title' => '', ], ], [ - 'name' => 'Mobile', + 'name' => 'FaceUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Mobile phone number.'."\n" - ."\n" - .'- When `ProductType` is `BANK_CARD_4_META`, this field is required.'."\n" - .'- When `paramType` is `normal`, enter the plain text mobile phone number.'."\n" - .'- When `paramType` is `md5`, enter the mobile phone number (32 lowercase MD5).', - 'type' => 'string', - 'required' => false, - 'example' => '138******11', - ], + 'schema' => ['description' => 'The URL of the face image.'."\n" + .'> Specify either FaceUrl or FaceBase64.', 'type' => 'string', 'required' => false, 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', 'title' => ''], ], [ - 'name' => 'IdentityType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Identity type.', - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'name' => 'FaceBase64', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face image.'."\n" + .'> Specify either FaceUrl or FaceBase64.', 'type' => 'string', 'required' => false, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx'."\n", 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '473469C7-A***B-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result information', + 'description' => 'The result information.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result.'."\n" - ."\n" - .'- 1: Consistent (billable)'."\n" - .'- 2: Inconsistent (billable)'."\n" - .'- 3: No record found (non-billable)', - 'type' => 'string', - 'example' => '1', - ], - 'SubCode' => [ - 'description' => 'Verification details:'."\n" - ."\n" - .'- **101**: Verification passed.'."\n" - .'- **201**: Authentication information does not match, cardholder information is incorrect.'."\n" - .'- **202**: Authentication information does not match, bank card has not enabled authentication payment.'."\n" - .'- **203**: Authentication information does not match, bank card has expired.'."\n" - .'- **204**: Authentication information does not match, bank card is a restricted card.'."\n" - .'- **205**: Authentication information does not match, this card has been confiscated.'."\n" - .'- **206**: Authentication information does not match, bank card is invalid.'."\n" - .'- **207**: Authentication information does not match, this card has no corresponding issuing bank.'."\n" - .'- **208**: Authentication information does not match, the card is uninitialized or a dormant card.'."\n" - .'- **209**: Authentication information does not match, this card is a cheating card or swallowed card.'."\n" - .'- **210**: Authentication information does not match, this card has been reported lost.'."\n" - .'- **211**: Authentication information does not match, the number of password errors exceeds the limit.'."\n" - .'- **212**: Authentication information does not match, the issuing bank does not support this transaction.'."\n" - .'- **213**: Authentication information does not match, the card status is abnormal or the card is invalid.'."\n" - .'- **214**: Authentication information does not match, no mobile phone number reserved.'."\n" - .'- **215**: Authentication information does not match, the entered password, expiration date, or CVN2 is incorrect.'."\n" - .'- **216**: Authentication information does not match, other card anomalies.'."\n" - .'- **301**: Unable to verify, the bank card does not support this service.'."\n" - .'- **302**: Unable to verify, verification failed or the bank refused to verify, please contact the issuing bank.'."\n" - .'- **303**: Unable to verify, the bank card does not currently support mobile phone number verification.'."\n" - .'- **304**: Unable to verify, the bank card number is incorrect.'."\n" - .'- **305**: Unable to verify, other reasons.'."\n" - .'- **306**: Unable to verify, the number of verifications exceeds the limit.', - 'type' => 'string', - 'example' => '101', + 'Result' => ['description' => 'The risk result. Valid values:'."\n" + ."\n" + .'- **0**: Low risk.'."\n" + .'- **1**: High risk.'."\n" + .'- **2**: Suspicious.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RiskTag' => ['description' => 'The risk labels. Multiple labels are separated by commas (,). Valid values:'."\n" + ."\n" + .'- SuspectDeepForgery: suspected deepfake'."\n" + .'- SuspectPSFace: suspected synthetic attack'."\n" + .'- SuspectTemple: suspected fraudulent attack'."\n" + .'- SuspectRemake: suspected recaptured face.', 'type' => 'string', 'example' => 'SuspectDeepForgery, SuspectPSFace', 'title' => ''], + 'RiskScore' => [ + 'description' => 'The risk score map.', + 'type' => 'object', + 'additionalProperties' => ['description' => '风险分值标签及其分值。', 'type' => 'string', 'example' => '{'."\n" + .' "SuspectPSFace": "1.0000",'."\n" + .' "SuspectDeepForgery": "0.8619",'."\n" + .' "SuspectRemake": "0.0126",'."\n" + .' "SuspectTemple": "0.0985"'."\n" + .' }', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-A***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', - 'title' => 'Verification of Two, Three, and Four Elements of Bank Card', - 'description' => 'Bank card verification, including: two elements (name + bank card number), three elements (name + ID number + bank card number), and four elements (name + ID number + mobile phone number + bank card number) consistency verification.'."\n" - .'- Service address:'."\n" - .' - Beijing region: cloudauth.cn-beijing.aliyuncs.com (IPv4) or cloudauth-dualstack.cn-beijing.aliyuncs.com (IPv6).'."\n" - .' - Shanghai region: cloudauth.cn-shanghai.aliyuncs.com (IPv4) or cloudauth-dualstack.cn-shanghai.aliyuncs.com (IPv6).'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"SuspectDeepForgery, SuspectPSFace\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"SuspectPSFace\\\\\\": \\\\\\"1.0000\\\\\\",\\\\n \\\\\\"SuspectDeepForgery\\\\\\": \\\\\\"0.8619\\\\\\",\\\\n \\\\\\"SuspectRemake\\\\\\": \\\\\\"0.0126\\\\\\",\\\\n \\\\\\"SuspectTemple\\\\\\": \\\\\\"0.0985\\\\\\"\\\\n }\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Face deepfake detection', + 'description' => '> The face deepfake detection operation is currently in free public preview. The free public preview ends at 23:59:59 on August 30, 2024. During the public preview, the QPS cannot exceed 3 queries per second.'."\n" + ."\n" + .'- Service endpoint: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" .'- Request method: POST and GET.'."\n" .'- Transfer protocol: HTTPS.', - 'translator' => 'machine', - ], - 'MobileRecycledMetaVerify' => [ - 'summary' => '手机号二次放号核验', - 'path' => '', - 'methods' => [ - 'post', - 'get', + 'requestParamsDescription' => 'To ensure stable model performance, make sure the input image contains a face with a normal angle. In addition, the following conditions must be met:'."\n" + ."\n" + .'- Image format: JPG or JPEG.'."\n" + .'- Image size: 50 to 100 KB recommended. Maximum size is 1 MB.'."\n" + .'- Image resolution: 640 × 480 (height × width) recommended. Do not exceed 1920 × 1080 (height × width). The height must be greater than the width. Scale the short edge to 720 pixels with a compression ratio of 0.8.'."\n" + .'- Image quality: the photo must be clear with normal exposure. The face must not be too dark, too bright, or have lens flare.'."\n" + .'- Face in image: if the image contains multiple faces, the system detects the largest face by default.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeepfakeDetect'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeepfakeDetect', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteAllCustomizeFlowStrategy' => [ + 'summary' => 'Deletes all custom rate limiting policies.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '207521', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I', 'FEATUREcloudauthXA9M4C', 'FEATUREcloudauthA9Y5H0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ParamType', + 'name' => 'UserId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'normal', - ], + 'schema' => ['title' => '', 'description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '126005125163xxxx'], ], [ - 'name' => 'RegisterDate', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'Mobile', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '', - ], + 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'SingleDataResponse<Integer>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'ResultObject' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'SubCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '101', - ], - ], - ], + 'Data' => ['description' => 'The returned data.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', - ], - 'MobileDetect' => [ - 'summary' => 'Number Detection', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": 1,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\"\\n}","type":"json"}]', + 'title' => 'Delete all custom rate limiting policies', + 'description' => 'Request method: Supports sending requests by using the HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAllCustomizeFlowStrategy'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteAllCustomizeFlowStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteAntCloudAuthScene' => [ + 'summary' => 'Deletes a China Finance Verification scene.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '218021', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59106', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Encryption method:'."\n" - .'- normal: plaintext, no encryption'."\n" - .'- md5: MD5 encryption', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'Mobiles', - 'in' => 'formData', - 'schema' => [ - 'description' => 'List of phone numbers.', - 'type' => 'string', - 'required' => false, - 'example' => '19833232569', - ], + 'name' => 'SceneId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scene to delete.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1000011589', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => '969434DF-926B-4997-9881-4DE94E39F805', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information', - 'type' => 'object', - 'properties' => [ - 'ChargeCount' => [ - 'description' => 'Billing count, the total billing count in one request', - 'type' => 'string', - 'example' => '2', - ], - 'Items' => [ - 'description' => 'Verification results set', - 'type' => 'array', - 'items' => [ - 'description' => 'List of returned data.', - 'type' => 'object', - 'properties' => [ - 'Mobile' => [ - 'description' => 'Phone number', - 'type' => 'string', - 'example' => '131********', - ], - 'BizCode' => [ - 'description' => 'Verification result'."\n" - ."\n" - .'- 1: Available online '."\n" - .'- 2: Not available online'."\n" - .'- 3: No query result', - 'type' => 'string', - 'example' => '1', - ], - 'SubCode' => [ - 'description' => 'Verification details'."\n" - ."\n" - .'- 101: Available number'."\n" - .'- 102: Empty number'."\n" - .'- 103: Suspended '."\n" - .'- 104: Silent number (inactive small number, new number, non-smartphone user within the last six months) '."\n" - .'- 105: Risky number (long-term shutdown or no voice service activated and prone to complaints)'."\n" - .'- 301: No record found', - 'type' => 'string', - 'example' => '101', - ], - 'IspName' => [ - 'description' => 'Operator name'."\n" - ."\n" - .'- CMCC: China Mobile '."\n" - .'- CUCC: China Unicom '."\n" - .'- CTCC: China Telecom', - 'type' => 'string', - 'example' => 'CMCC', - ], - 'Area' => [ - 'description' => 'Phone number\'s area (only for plaintext phone numbers)', - 'type' => 'string', - 'example' => '安徽-马**', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '80D1ACD4-1C7D-53CB-8C54-3758FF03C762', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"969434DF-926B-4997-9881-4DE94E39F805\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"ChargeCount\\": \\"2\\",\\n \\"Items\\": [\\n {\\n \\"Mobile\\": \\"131********\\",\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\",\\n \\"Area\\": \\"安徽-马**\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'Batch Number Detection', - 'translator' => 'machine', - ], - 'Mobile3MetaSimpleVerify' => [ - 'summary' => 'Mobile Three Elements Simplified Interface', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"80D1ACD4-1C7D-53CB-8C54-3758FF03C762\\"\\n}","type":"json"}]', + 'title' => 'Delete a China finance verification scene', + 'description' => '- Endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAntCloudAuthScene'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteAntCloudAuthScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteBlackListStrategy' => [ + 'summary' => 'Deletes a blacklist rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '194556', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '214004', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Encryption method:'."\n" - ."\n" - .'- normal: plaintext, not encrypted'."\n" - ."\n" - .'- md5: MD5 encryption', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'Note'."\n" - .'Only supports the ID numbers of second-generation resident IDs and Hong Kong, Macao, and Taiwan residence permits.'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext ID number.'."\n" - ."\n" - .'- When paramType is md5: enter the encrypted ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:429001********8211'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'32fa7bcd874161bea8ec8fd98f390ec9', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext name.'."\n" - ."\n" - .'- When paramType is md5: enter the encrypted name.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:张三'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'32fa7bcd874161bea8ec8fd98f390ec9', - ], + 'name' => 'Id', + 'in' => 'query', + 'schema' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '38', 'title' => ''], ], [ - 'name' => 'Mobile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Mobile phone number:'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext mobile phone number.'."\n" - ."\n" - .'- When paramType is md5: enter the encrypted mobile phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:186****2055'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'849169cd3b20621c1c78bd61a11a4fc2', - ], + 'name' => 'ProductName', + 'in' => 'query', + 'schema' => ['description' => 'The product name. Valid values:'."\n" + .'- **id2meta**: ID card two-element verification.'."\n" + .'- **mobile3Meta**: Mobile number element verification.'."\n" + .'- **bankcardMeta**: Bank card element verification.', 'type' => 'string', 'required' => false, 'example' => 'id2meta', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: Verification consistent.'."\n" - .'- **2**: Verification inconsistent.'."\n" - .'- **3**: No record found.', - 'type' => 'string', - 'example' => '1', - ], - 'IspName' => [ - 'description' => 'ISP name:'."\n" - ."\n" - .'- **CMCC**: China Mobile.'."\n" - .'- **CUCC**: China Unicom.'."\n" - .'- **CTCC**: China Telecom.', - 'type' => 'string', - 'example' => 'CMCC', - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => ['description' => 'The returned data.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Mobile Three Elements Simplified Interface', - 'description' => '- Service address: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" - .'- Request method: POST and GET.'."\n" - .'- Transfer protocol: HTTPS.', - 'translator' => 'machine', - ], - 'Mobile3MetaDetailVerify' => [ - 'summary' => 'Detailed Mobile Three-Element Verification Interface', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": 1\\n}","type":"json"}]', + 'title' => 'Delete a blacklist rule', + 'description' => 'Request method: Only HTTPS POST requests are supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteBlackListStrategy'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteBlackListStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteCloudauthstScene' => [ + 'summary' => 'Delete a specified authentication scene for Enhanced Real-person Identity Verification', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '194557', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59107', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Encryption method:'."\n" - ."\n" - .'- normal: plaintext, unencrypted'."\n" - ."\n" - .'- md5: MD5 encryption', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'Note'."\n" - .'Only supports the ID numbers of second-generation resident IDs and Hong Kong, Macao, and Taiwan residence permits.'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext ID number.'."\n" - ."\n" - .'- When paramType is md5: enter the encrypted ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:429001********8211'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'32fa7bcd874161bea8ec8fd98f390ec9', - ], - ], - [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext name.'."\n" - ."\n" - .'- When paramType is md5: enter the encrypted name.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:张三'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'32fa7bcd874161bea8ec8fd98f390ec9', - ], - ], - [ - 'name' => 'Mobile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Mobile phone number:'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext mobile phone number.'."\n" - ."\n" - .'- When paramType is md5: enter the encrypted mobile phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:186****2055'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'849169cd3b20621c1c78bd61a11a4fc2', - ], + 'name' => 'SceneId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scene to be deleted.', 'type' => 'string', 'required' => true, 'example' => '4275001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates a successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: Verification consistent.'."\n" - .'- **2**: Verification inconsistent.'."\n" - .'- **3**: No record found.', - 'type' => 'string', - 'example' => '1', - ], - 'SubCode' => [ - 'description' => 'Detailed verification results:'."\n" - ."\n" - .'- **101**: Verification passed.'."\n" - .'- **201**: Mobile number and name do not match, mobile number and ID number do not match.'."\n" - .'- **202**: Mobile number and name match, but mobile number and ID number do not match.'."\n" - .'- **203**: Mobile number and ID number match, but mobile number and name do not match.'."\n" - .'- **204**: Other inconsistencies.'."\n" - .'- **301**: No record found.', - 'type' => 'string', - 'example' => '101', - ], - 'IspName' => [ - 'description' => 'Operator name:'."\n" - ."\n" - .'- **CMCC**: China Mobile.'."\n" - .'- **CUCC**: China Unicom.'."\n" - .'- **CTCC**: China Telecom.', - 'type' => 'string', - 'example' => 'CMCC', - ], - ], - ], + 'ResultObject' => ['description' => 'The returned result.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '969434DF-926B-4997-9881-4DE94E39F805', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Detailed Mobile Three-Element Verification Interface', - 'description' => '- Service address: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" - .'- Request method: POST and GET.'."\n" - .'- Transfer protocol: HTTPS.', - 'translator' => 'machine', - ], - 'Mobile2MetaVerify' => [ - 'summary' => 'Mobile Two-Factor Verification', - 'path' => '', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"969434DF-926B-4997-9881-4DE94E39F805\\"\\n}","type":"json"}]', + 'title' => 'Delete a cloud scene', + 'description' => 'Request method: Supports sending requests using HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. We recommend that you obtain a new key before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCloudauthstScene'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteCloudauthstScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteControlStrategy' => [ + 'summary' => 'Delete a stability alert rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '215260', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I', 'FEATUREcloudauthA9Y5H0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Encryption method:'."\n" - .'- normal: plaintext without encryption'."\n" - .'- md5: MD5 encryption', - 'type' => 'string', - 'required' => true, - 'example' => 'normal', - ], + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - .'- When paramType is normal: input the plaintext name.'."\n" - .'- When paramType is md5: input the encrypted name.', - 'type' => 'string', - 'required' => true, - 'example' => '● 明文:张三'."\n" - .'● 密文:'."\n" - .'32fa7bcd874161bea8ec8fd98f390ec9', - ], + 'name' => 'Id', + 'in' => 'query', + 'schema' => ['description' => 'The security rule ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '38', 'title' => ''], ], [ - 'name' => 'Mobile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Phone number:'."\n" - .'- When paramType is normal: input the plaintext phone number.'."\n" - .'- When paramType is md5: input the encrypted phone number.', - 'type' => 'string', - 'required' => true, - 'example' => '● 明文:186****2055'."\n" - .'● 密文:'."\n" - .'849169cd3b20621c1c78bd61a11a4fc2', - ], + 'name' => 'ApiName', + 'in' => 'query', + 'schema' => ['description' => 'The API name, same as **ProductCode**.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], + ], + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => ['description' => 'The product type. Currently, only **ANT_CLOUD_AUTH** (financial-grade real-person authentication) is supported. All other types have been discontinued.', 'type' => 'string', 'required' => false, 'example' => 'ANT_CLOUD_AUTH', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Result object.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result:'."\n" - .'- 1: Consistent verification'."\n" - .'- 2: Inconsistent verification'."\n" - .'- 3: No record found', - 'type' => 'string', - 'example' => '1', - ], - 'IspName' => [ - 'description' => 'Operator name:'."\n" - .'- CMCC: China Mobile'."\n" - .'- CUCC: China Unicom'."\n" - .'- CTCC: China Telecom', - 'type' => 'string', - 'example' => 'CMCC', - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'D6C1237B-D34B-5126-93AC-36A4B9E819C6'], + 'Code' => ['description' => 'The response code. **200** indicates a successful API response.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the response is successful.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + 'Data' => ['description' => 'The returned data.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Mobile Two-Factor Verification', - 'description' => 'Input the phone number and name, verify their authenticity and consistency through authoritative data sources.', - 'translator' => 'machine', - ], - 'MobileOnlineTime' => [ - 'summary' => 'Query the online duration of a mobile number', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6C1237B-D34B-5126-93AC-36A4B9E819C6\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": 1\\n}","type":"json"}]', + 'title' => 'Delete a stability alert rule', + 'description' => 'Request method: Supports sending requests using the HTTPS POST method.'."\n" + .'Request URL: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteControlStrategy'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteControlStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteCustomizeFlowStrategy' => [ + 'summary' => 'Deletes a custom rate limiting policy.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '216495', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', - ], + 'abilityTreeCode' => '207420', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U', 'FEATUREcloudauthGEV2SZ', 'FEATUREcloudauthKKY1LP', 'FEATUREcloudauthFO5MJB', 'FEATUREcloudauthIT1PW0', 'FEATUREcloudauth434P23'], ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: unencrypted.'."\n" - .'- md5: md5 encrypted.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], + 'name' => 'Id', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The policy ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '38'], ], [ - 'name' => 'Mobile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Mobile number:'."\n" - .'- When `paramType` is `normal`: provide the plaintext mobile number.'."\n" - .'- When `paramType` is `md5`: provide the encrypted mobile number.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:186****2055'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'849169cd3b20621c1c78bd61a11a4fc2', - ], + 'name' => 'UserId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '126005125163xxxx'], + ], + [ + 'name' => 'ApiName', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The API name, same as **ProductCode**.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai'], + ], + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => ['description' => 'The product type. Currently, only **ANT_CLOUD_AUTH** (financial-grade ID Verification) is supported. All other types have been discontinued.', 'type' => 'string', 'required' => false, 'example' => 'ANT_CLOUD_AUTH', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'SingleDataResponse<Integer>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code.'."\n" - .'- 1: Verification consistent'."\n" - .'- 2: Verification inconsistent'."\n" - .'- 3: No record found', - 'type' => 'string', - 'example' => '1', - ], - 'IspName' => [ - 'description' => 'Operator name'."\n" - ."\n" - .'- CMCC: China Mobile '."\n" - .'- CUCC: China Unicom '."\n" - .'- CTCC: China Telecom', - 'type' => 'string', - 'example' => 'CMCC', - ], - 'TimeCode' => [ - 'description' => '- 1: [0,3) indicates the online duration is 0~3 months '."\n" - .'- 2: [3,6) indicates the online duration is 3~6 months '."\n" - .'- 3: [6,12) indicates the online duration is 6~12 months '."\n" - .'- 4: [12,24) indicates the online duration is 12~24 months '."\n" - .'- 5: [24,+) indicates the online duration is more than 24 months', - 'type' => 'string', - 'example' => '5', - ], - ], - ], + 'Data' => ['description' => 'The returned data.', 'type' => 'integer', 'format' => 'int32', 'example' => '-', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the response is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success'."\n", 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\",\\n \\"TimeCode\\": \\"5\\"\\n }\\n}","type":"json"}]', - 'title' => 'Mobile Online Duration', - 'translator' => 'machine', - ], - 'MobileOnlineStatus' => [ - 'summary' => 'Query the online status of a mobile number', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": 0,\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\\\n\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\"\\n}","type":"json"}]', + 'title' => 'Delete a custom rate limiting policy', + 'description' => 'Request method: Supports sending requests by using HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCustomizeFlowStrategy'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteCustomizeFlowStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteFaceVerifyResult' => [ + 'summary' => 'API for deleting sensitive data in financial-grade services.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '216535', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '247721', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: unencrypted.'."\n" - .'- md5: md5 encrypted.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], + 'name' => 'CertifyId', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier for real-person authentication.', 'type' => 'string', 'required' => false, 'example' => 'shae18209d29ce4e8ba252caae98ab15', 'title' => ''], ], [ - 'name' => 'Mobile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Mobile number:'."\n" - ."\n" - .'- When `paramType` is `normal`: provide the plaintext mobile number.'."\n" - .'- When `paramType` is `md5`: provide the encrypted mobile number.', - 'type' => 'string', - 'required' => false, - 'example' => '13665148158', - ], + 'name' => 'DeleteAfterQuery', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether deletion depends on having retrieved the relevant data from the corresponding authentication process.'."\n" + ."\n" + .'- Y: Required. To successfully delete the relevant data, you must have already obtained the processing result through the DescribeFaceVerify API.'."\n" + .'- N: Not required (default). You can directly pass N when integrating through the pure server-side API mode.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2'], + 'Code' => ['description' => 'Return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result information', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result'."\n" - ."\n" - .'- 1: Available online '."\n" - .'- 2: Not available online (see subCode for details)'."\n" - .'- 3: No query result', - 'type' => 'string', - 'example' => '1', - ], - 'IspName' => [ - 'description' => 'ISP name'."\n" - ."\n" - .'- CMCC: China Mobile '."\n" - .'- CUCC: China Unicom '."\n" - .'- CTCC: China Telecom', - 'type' => 'string', - 'example' => 'CMCC', - ], - 'SubCode' => [ - 'description' => 'Verification details'."\n" - ."\n" - .'- 101: Available online '."\n" - .'- 201: Suspended '."\n" - .'- 202: Disconnected '."\n" - .'- 203: Online but not available '."\n" - .'- 204: Not online '."\n" - .'- 301: No record found', - 'type' => 'string', - 'example' => '101', - ], + 'CertifyId' => ['description' => 'The unique identifier for real-person authentication.', 'type' => 'string', 'example' => 'sha58aeae7ea2f5ed069530f58df4e6d', 'title' => ''], + 'DeleteResult' => ['description' => 'The deletion result. Valid values:'."\n" + ."\n" + .'- Y: Deletion successful.'."\n" + .'- N: Deletion failed.', 'type' => 'string', 'example' => 'N', 'title' => ''], + 'FailReason' => ['description' => 'The reason for deletion failure.'."\n" + ."\n" + .'- NOT_DELETE_REPEATEDLY: The data cannot be deleted repeatedly.'."\n" + .'- NEED_QUERY_VERIFY_RESULT: You must query the authentication result before deleting.', 'type' => 'string', 'example' => 'NOT_DELETE_REPEATEDLY', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', - 'title' => 'Mobile Online Status', - 'translator' => 'machine', - ], - 'Mobile3MetaSimpleStandardVerify' => [ - 'summary' => 'Simplified Three-Element Verification for Phone Number_Standard Version', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"sha58aeae7ea2f5ed069530f58df4e6d\\",\\n \\"DeleteResult\\": \\"N\\",\\n \\"FailReason\\": \\"NOT_DELETE_REPEATEDLY\\"\\n }\\n}","type":"json"}]', + 'title' => 'Financial-Grade Service Deletion API', + 'description' => 'Deletes all personal information fields from the request, including name, ID card number, phone number, IP address, images, videos, device information, etc.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteFaceVerifyResult'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'antcloudauth:DeleteFaceVerifyResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteSceneConfig' => [ + 'summary' => 'Deletes a scenario configuration.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4695,532 +2958,206 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '257102', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], + 'abilityTreeCode' => '138610', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: Unencrypted.'."\n" - .'- md5: MD5 encrypted.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'- When `paramType` is `normal`: Input the plain text of the ID number.'."\n" - .'- When `paramType` is `md5`: Input the encrypted ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '429001********8211', - ], - ], - [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - ."\n" - .'- When `paramType` is `normal`: Input the plain text of the name.'."\n" - .'- When `paramType` is `md5`: Input the encrypted name.', - 'type' => 'string', - 'required' => false, - 'example' => '张*', - ], - ], - [ - 'name' => 'Mobile', + 'name' => 'sceneConfigId', 'in' => 'formData', - 'schema' => [ - 'description' => 'Phone number:'."\n" - ."\n" - .'- When `paramType` is `normal`: Input the plain text of the phone number.'."\n" - .'- When `paramType` is `md5`: Input the encrypted phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '130********', - ], + 'schema' => ['description' => 'The ID of the ID Verification scenario configuration.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '559', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'RespDTO<Boolean>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result:'."\n" - ."\n" - .'- 1: Consistent (billable)'."\n" - .'- 2: Inconsistent (billable)'."\n" - .'- 3: No record found (non-billable)', - 'type' => 'string', - 'example' => '1', - ], - 'IspName' => [ - 'description' => 'Operator name:'."\n" - ."\n" - .'- **CMCC**: China Mobile.'."\n" - .'- **CUCC**: China Unicom.'."\n" - .'- **CTCC**: China Telecom.'."\n" - .'- **CBCC**: China Broadcasting Network.', - 'type' => 'string', - 'example' => 'CMCC', - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Simplified Three-Element Verification for Phone Number - Standard Version', - 'description' => 'Input the phone number, name, and ID number to verify their authenticity and consistency through authoritative data sources.', - 'translator' => 'machine', - ], - 'Mobile3MetaDetailStandardVerify' => [ - 'summary' => 'Detailed Three-Element Verification for Phone Number_Standard Version', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'Delete a scenario configuration', + 'description' => '- Request method: HTTPS POST and GET methods are supported.'."\n" + .'- Request URL: cloudauth.aliyuncs.com.'."\n" + ."\n" + .'> The authorization code is valid for 30 minutes and cannot be reused. Obtain a new authorization code before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSceneConfig'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteSceneConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'SceneConfig', 'arn' => 'acs:yundun-cloudauth::{#accountId}:sceneconfig/{#SceneConfigId}'], + ], + ], + ], ], + ], + 'DeleteWhitelistSetting' => [ + 'summary' => 'Deletes the version of a specified cluster.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '257106', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59109', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: Unencrypted.'."\n" - .'- md5: Encrypted with MD5.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], + 'name' => 'SourceIp', + 'in' => 'query', + 'schema' => ['description' => 'The source IP address of the visitor. CIDR format and IPv4 format are supported. Example: 10.0.3.0/24.', 'type' => 'string', 'required' => false, 'example' => '120.25.41.25', 'title' => ''], ], [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'- When `paramType` is `normal`: Input the plain text of the ID number.'."\n" - .'- When `paramType` is `md5`: Input the encrypted text of the ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '429001********8211', - ], + 'name' => 'Lang', + 'in' => 'query', + 'schema' => ['description' => 'The language of the user information to delete. Valid values:'."\n" + .'- **zh**: Chinese.'."\n" + .'- **en**: English.', 'type' => 'string', 'required' => false, 'example' => 'zh', 'title' => ''], ], [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - ."\n" - .'- When `paramType` is `normal`: Input the plain text of the name.'."\n" - .'- When `paramType` is `md5`: Input the encrypted text of the name.', - 'type' => 'string', - 'required' => false, - 'example' => '张*', - ], + 'name' => 'ServiceCode', + 'in' => 'query', + 'schema' => ['description' => 'The service code of the ID Verification product. Set the value to **antcloudauth**.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], [ - 'name' => 'Mobile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Phone number:'."\n" - ."\n" - .'- When `paramType` is `normal`: Input the plain text of the phone number.'."\n" - .'- When `paramType` is `md5`: Input the encrypted text of the phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '138********', - ], + 'name' => 'Ids', + 'in' => 'query', + 'schema' => ['description' => 'The list of rule IDs to delete.', 'type' => 'string', 'required' => true, 'example' => '[6222001]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates a successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: Verification matches.'."\n" - .'- **2**: Verification does not match.'."\n" - .'- **3**: No record found.', - 'type' => 'string', - 'example' => '1', - ], - 'SubCode' => [ - 'description' => 'Detailed verification results:'."\n" - ."\n" - .'- 101: Passed, three elements are consistent.'."\n" - .'- 201: The phone number does not match the name and ID number.'."\n" - .'- 202: The phone number matches the name but does not match the ID number.'."\n" - .'- 203: The phone number does not match the name but matches the ID number.'."\n" - .'- 204: Other inconsistencies.'."\n" - .'- 301: No record found.', - 'type' => 'string', - 'example' => '101', - ], - 'IspName' => [ - 'description' => 'ISP name:'."\n" - ."\n" - .'- **CMCC**: China Mobile.'."\n" - .'- **CUCC**: China Unicom.'."\n" - .'- **CTCC**: China Telecom.'."\n" - .'- **CBCC**: China Broadcasting Network.', - 'type' => 'string', - 'example' => 'CMCC', - ], - ], - ], + 'ResultObject' => ['description' => 'The returned result.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Detailed Three-Element Verification for Phone Number - Standard Version', - 'description' => 'Input the phone number, name, and ID number to verify their authenticity and consistency through authoritative data sources. If they do not match, the reason for the mismatch is returned.', - 'translator' => 'machine', - ], - 'Id2MetaStandardVerify' => [ - 'summary' => 'Identity Two-Factor Standard', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '250706', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\"\\n}","type":"json"}]', + 'title' => 'Delete whitelist configuration', + 'description' => 'Request method: Only HTTPS POST requests are supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteWhitelistSetting'], ], ], - 'parameters' => [ - [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: unencrypted.'."\n" - .'- md5: md5 encrypted.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'- When `paramType` is normal: enter the plain text of the ID number.'."\n" - .'- When `paramType` is md5:'."\n" - .'The first 6 digits (plain text) + date of birth (encrypted) + last 4 digits (plain text).', - 'type' => 'string', - 'required' => false, - 'example' => '4****************1', - ], - ], + 'ramActions' => [ [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - ."\n" - .'- When `paramType` is normal: enter the plain text of the name.'."\n" - .'- When `paramType` is md5: the first character of the name (encrypted) + the rest of the name (plain text).', - 'type' => 'string', - 'required' => false, - 'example' => '张*', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: verification matches.'."\n" - .'- **2**: verification does not match.'."\n" - .'- **3**: no record found.', - 'type' => 'string', - 'example' => '1', - ], - ], - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteWhitelistSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', - 'title' => 'Identity Two-Factor Standard Verification Interface', - 'translator' => 'machine', ], - 'Id2MetaVerify' => [ - 'summary' => 'Identity Two-Factor Interface', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DescribeAntAndCloudAuthUserStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '194526', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], - ], - 'parameters' => [ - [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Encryption method:'."\n" - ."\n" - .'- normal: plaintext, no encryption'."\n" - ."\n" - .'- md5: MD5 encryption', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'Note'."\n" - .'Only supports the ID numbers of second-generation resident IDs and Hong Kong, Macao, and Taiwan residence permits.'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext ID number.'."\n" - ."\n" - .'- When paramType is md5: first 6 digits of the ID number (plaintext) + date of birth (ciphertext) + last 4 digits of the ID number (plaintext).', - 'type' => 'string', - 'required' => false, - 'example' => '明文:429001********8211'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'42900132fa7bcd874161bea8ec8fd98f390ec98211', - ], - ], - [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - ."\n" - .'- When paramType is normal: enter the plaintext name.'."\n" - ."\n" - .'- When paramType is md5: first character of the name in ciphertext + rest of the name in plaintext.', - 'type' => 'string', - 'required' => false, - 'example' => '明文:张三'."\n" - ."\n" - .'密文:'."\n" - ."\n" - .'6499fc7409049355527ef6a2ba5706b8三', - ], - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '59110', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: Verification consistent.'."\n" - .'- **2**: Verification inconsistent.'."\n" - .'- **3**: No record found.', - 'type' => 'string', - 'example' => '1', - ], - ], - ], + 'AntcloudauthEnabled' => ['description' => 'Indicates whether financial-grade ID Verification is activated. Valid values:'."\n" + .'- **true**: Activated.'."\n" + .'- **false**: Not activated.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CloudauthstEnabled' => ['description' => 'Indicates whether enhanced ID Verification is activated. Valid values:'."\n" + .'- **true**: Activated.'."\n" + .'- **false**: Not activated.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3FE07CCE-DF47-51C2-9D32-CD70ED62C91B', 'title' => ''], + 'CloudauthEnabled' => ['description' => 'Indicates whether ID Verification is activated. Valid values:'."\n" + .'- **true**: Activated.'."\n" + .'- **false**: Not activated.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'InforverifyEnabled' => ['description' => 'Indicates whether information verification is activated. Valid values:'."\n" + .'- **true**: Activated.'."\n" + .'- **false**: Not activated.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', - 'title' => 'Identity Two-Factor Verification Interface', - 'description' => '- Service address: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" - .'- Request method: POST and GET.'."\n" - .'- Transfer protocol: HTTPS.', - 'translator' => 'machine', - ], - 'Id2MetaVerifyWithOCR' => [ - 'summary' => 'ID Two-Factor Image Verification', - 'path' => '', - 'methods' => [ - 'post', + 'title' => 'Query the activation status of different ID verification product plans', + 'summary' => 'Queries the activation status of different ID Verification product plans.', + 'description' => 'Request method: Supports sending requests by using HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAntAndCloudAuthUserStatus'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeAntAndCloudAuthUserStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AntcloudauthEnabled\\": true,\\n \\"CloudauthstEnabled\\": true,\\n \\"RequestId\\": \\"3FE07CCE-DF47-51C2-9D32-CD70ED62C91B\\",\\n \\"CloudauthEnabled\\": false,\\n \\"InforverifyEnabled\\": false\\n}","type":"json"}]', + ], + 'DescribeAuthVerify' => [ + 'summary' => 'Retrieves OCR results.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5231,129 +3168,136 @@ 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH'], ], 'parameters' => [ [ - 'name' => 'CertUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Portrait side of the ID card image.'."\n" - .'A publicly accessible HTTP or HTTPS link.'."\n" - .'Choose one between CertUrl and CertFile.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com/cert.jpeg', - ], - ], - [ - 'name' => 'CertFile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Input stream for the portrait side of the ID card image.'."\n" - .'Choose one between CertUrl and CertFile.', - 'type' => 'string', - 'required' => false, - 'example' => '无', - 'isFileTransferUrl' => true, - ], - ], - [ - 'name' => 'CertNationalUrl', + 'name' => 'SceneId', 'in' => 'formData', - 'schema' => [ - 'description' => 'National emblem side of the ID card image URL. National emblem side'."\n" - .'A publicly accessible HTTP or HTTPS link.'."\n" - .'Choose one between CertNationalUrl and CertNationalFile, or omit both.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com/cert.jpeg'."\n", - ], + 'schema' => ['description' => 'The authentication scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => ' '."\n" + .'100000****', 'title' => ''], ], [ - 'name' => 'CertNationalFile', + 'name' => 'CertifyId', 'in' => 'formData', - 'schema' => [ - 'description' => 'National emblem side of the ID card image address.'."\n" - .'Choose one between CertNationalUrl and CertNationalFile, or omit both.', - 'type' => 'string', - 'required' => false, - 'example' => '无', - 'isFileTransferUrl' => true, - ], + 'schema' => ['description' => 'The unique identifier for ID Verification.'."\n" + .'Obtain this value by calling InitAuthVerify to initiate an OCR request.', 'type' => 'string', 'required' => true, 'example' => 'shsf57a4e0d9981c3bd66dc754f3d3cd', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****', - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates success, any other value indicates failure.'."\n" - .'**Important**'."\n" - .'- This parameter indicates whether the API was called correctly. For detailed return code explanations, please refer to the error codes.'."\n" - .'- Check the business verification results through the fields in ResultObject.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'API call return message.'."\n" - .'**Important**'."\n" - .'This parameter only indicates if there was an exception with the API call.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Result object', + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'Result' => [ + 'description' => 'The result.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Identity verification result:'."\n" - .'- 1: Consistent'."\n" - .'- 2: Inconsistent'."\n" - .'- 3: No record found', - 'type' => 'string', - 'example' => '1', - ], - 'CardInfo' => [ - 'description' => '{"address":"Zhejiang Province, Hangzhou City, Yu*****","birthDate":"19901226","certName":"Zhang San","certNo":"1234561990122*****","nationality":"Han","authority":"xxx Public Security Bureau","startDate":"20201130","endDate":"20301130"}', - 'type' => 'string', - 'example' => 'OCR读取的身份证信息。', - ], + 'SubCode' => ['description' => 'The result description.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'MaterialInfo' => ['description' => '- Card information read by OCR (ocrIdCardInfo)'."\n" + .'- Card information photo edited by the client (ocrIdEditInfo)'."\n" + .'- OSS storage location and link of the OCR photo (ocrPictureFront).', 'type' => 'string', 'example' => '"ocrIdCardInfo": {'."\n" + .' "certName": "张先生",'."\n" + .' "sex": "男",'."\n" + .' "nationality": "汉",'."\n" + .' "birth": "20010213",'."\n" + .' "address": "XXX省XX市XXX区XX街道X号",'."\n" + .' "certNo": "4****************X",'."\n" + .' "authority": "XXX公安局XXX分局",'."\n" + .' "startDate": "20250523",'."\n" + .' "endDate": "20450523"'."\n" + .' },'."\n" + .'"ocrIdEditInfo": {'."\n" + .' "certName": "张先生",'."\n" + .' "sex": "男",'."\n" + .' "nationality": "汉",'."\n" + .' "birth": "20010213",'."\n" + .' "address": "XXX省XX市XXX区XX街道X号",'."\n" + .' "certNo": "4****************X",'."\n" + .' "authority": "XXX公安局XXX分局",'."\n" + .' "startDate": "20250523",'."\n" + .' "endDate": "20450523"'."\n" + .' },'."\n" + .' "ocrPictureFront": {'."\n" + .' "ossBucketName": "cn-shanghai-aliyun-cloudauth-12********",'."\n" + .' "ossIdFaceObjectName": "verify/1234567890/f7ed1ef80ad1234fdsd95c********cd_ocridface_b749.jpeg",'."\n" + .' "ossIdFaceUrl": "http://cn-shanghai-aliyun-cloudauth-1234567890.oss-cn-shanghai.aliyuncs.com/verify/1234567890/f7ed1ef80ad1234fdsd95c66d83340cd_ocridface_b749.jpeg?security-token=CAISjdfgeJ1q6F...",'."\n" + .' "ossIdNationalEmblemObjectName": "verify/1234567890/f7ed1ef80ad1234fdsd95c********cd_ocridnationalemblem_a3hf.jpeg",'."\n" + .' "ossIdNationalEmblemUrl": "http://cn-shanghai-aliyun-cloudauth-1234567890.oss-cn-shanghai.aliyuncs.com/verify/1234567890/f7ed1ef80ad1234fdsd95c66d83340cd_ocridnationalemblem_a3hf.jpeg?security-token=CAISjgJ1q6..."'."\n" + .' }', 'title' => ''], + 'SpoofInfo' => ['description' => 'The anti-spoofing detection result for the front side of the document, including the risk determination result and risk type:'."\n" + .'> - '."\n" + .'Card front anti-spoofing detection is enabled only when IdSpoof = Y is set in the Initialize operation. Otherwise, spoofRiskResult returns N by default, and spoofType is empty.'."\n" + ."\n" + .'spoofRiskResult:'."\n" + .'- Y: Risk detected.'."\n" + .' - N: No risk detected.'."\n" + ."\n" + .'spoofType:'."\n" + .'- SCREEN_REMARK: Recaptured photo.'."\n" + .'- PHOTO_COPY: Photocopy.'."\n" + .'- TAMPER: Digitally tampered.'."\n" + ."\n" + .'> - This is an algorithm prediction result. This field may not be returned. Avoid setting a mandatory dependency on this field in your business logic.', 'type' => 'string', 'example' => 'spoofRiskResult:Y'."\n" + .'spoofType:SCREEN_REMARK', 'title' => ''], + 'SpoofBackInfo' => ['description' => 'The anti-spoofing detection result for the back side of the document, including the risk determination result and risk type:'."\n" + .'> - '."\n" + .'Card front anti-spoofing detection is enabled only when IdSpoof = Y is set in the Initialize operation. Otherwise, spoofRiskResult returns N by default, and spoofType is empty.'."\n" + ."\n" + .'spoofRiskResult:'."\n" + .'- Y: Risk detected.'."\n" + .' - N: No risk detected.'."\n" + ."\n" + .'spoofType:'."\n" + .'- SCREEN_REMARK: Recaptured photo.'."\n" + .'- PHOTO_COPY: Photocopy.'."\n" + .'- TAMPER: Digitally tampered.'."\n" + ."\n" + .'> - This is an algorithm prediction result. This field may not be returned. Avoid setting a mandatory dependency on this field in your business logic.', 'type' => 'string', 'example' => 'spoofRiskResult:Y'."\n" + .'spoofType:SCREEN_REMARK', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Result\\": {\\n \\"SubCode\\": \\"200\\",\\n \\"MaterialInfo\\": \\"\\\\\\"ocrIdCardInfo\\\\\\": {\\\\n \\\\\\"certName\\\\\\": \\\\\\"张先生\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"男\\\\\\",\\\\n \\\\\\"nationality\\\\\\": \\\\\\"汉\\\\\\",\\\\n \\\\\\"birth\\\\\\": \\\\\\"20010213\\\\\\",\\\\n \\\\\\"address\\\\\\": \\\\\\"XXX省XX市XXX区XX街道X号\\\\\\",\\\\n \\\\\\"certNo\\\\\\": \\\\\\"4****************X\\\\\\",\\\\n \\\\\\"authority\\\\\\": \\\\\\"XXX公安局XXX分局\\\\\\",\\\\n \\\\\\"startDate\\\\\\": \\\\\\"20250523\\\\\\",\\\\n \\\\\\"endDate\\\\\\": \\\\\\"20450523\\\\\\"\\\\n },\\\\n\\\\\\"ocrIdEditInfo\\\\\\": {\\\\n \\\\\\"certName\\\\\\": \\\\\\"张先生\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"男\\\\\\",\\\\n \\\\\\"nationality\\\\\\": \\\\\\"汉\\\\\\",\\\\n \\\\\\"birth\\\\\\": \\\\\\"20010213\\\\\\",\\\\n \\\\\\"address\\\\\\": \\\\\\"XXX省XX市XXX区XX街道X号\\\\\\",\\\\n \\\\\\"certNo\\\\\\": \\\\\\"4****************X\\\\\\",\\\\n \\\\\\"authority\\\\\\": \\\\\\"XXX公安局XXX分局\\\\\\",\\\\n \\\\\\"startDate\\\\\\": \\\\\\"20250523\\\\\\",\\\\n \\\\\\"endDate\\\\\\": \\\\\\"20450523\\\\\\"\\\\n },\\\\n \\\\\\"ocrPictureFront\\\\\\": {\\\\n \\\\\\"ossBucketName\\\\\\": \\\\\\"cn-shanghai-aliyun-cloudauth-12********\\\\\\",\\\\n \\\\\\"ossIdFaceObjectName\\\\\\": \\\\\\"verify/1234567890/f7ed1ef80ad1234fdsd95c********cd_ocridface_b749.jpeg\\\\\\",\\\\n \\\\\\"ossIdFaceUrl\\\\\\": \\\\\\"http://cn-shanghai-aliyun-cloudauth-1234567890.oss-cn-shanghai.aliyuncs.com/verify/1234567890/f7ed1ef80ad1234fdsd95c66d83340cd_ocridface_b749.jpeg?security-token=CAISjdfgeJ1q6F...\\\\\\",\\\\n \\\\\\"ossIdNationalEmblemObjectName\\\\\\": \\\\\\"verify/1234567890/f7ed1ef80ad1234fdsd95c********cd_ocridnationalemblem_a3hf.jpeg\\\\\\",\\\\n \\\\\\"ossIdNationalEmblemUrl\\\\\\": \\\\\\"http://cn-shanghai-aliyun-cloudauth-1234567890.oss-cn-shanghai.aliyuncs.com/verify/1234567890/f7ed1ef80ad1234fdsd95c66d83340cd_ocridnationalemblem_a3hf.jpeg?security-token=CAISjgJ1q6...\\\\\\"\\\\n }\\",\\n \\"SpoofInfo\\": \\"spoofRiskResult:Y\\\\nspoofType:SCREEN_REMARK\\",\\n \\"SpoofBackInfo\\": \\"spoofRiskResult:Y\\\\nspoofType:SCREEN_REMARK\\"\\n }\\n}","type":"json"}]', + 'title' => 'Retrieve OCR results', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAuthVerify'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DescribeAuthVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"CardInfo\\": \\"OCR读取的身份证信息。\\"\\n }\\n}","type":"json"}]', - 'title' => 'ID Two-Factor Image Verification', - 'description' => 'Upload both sides of the ID card, and get the verification result of the two factors from an authoritative data source.', - 'translator' => 'machine', ], - 'Id3MetaVerify' => [ - 'summary' => 'Identity Three Elements Verification', + 'DescribeCardVerify' => [ + 'summary' => 'Retrieves the verification result for image element verification.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5364,952 +3308,593 @@ 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], - 'tenantRelevance' => 'publicInformation', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Encryption method:'."\n" - .'- normal: plaintext without encryption'."\n" - .'- md5: MD5 encryption'."\n" - ."\n" - .'**Important**'."\n" - ."\n" - .'- All encrypted parameters should be in the form of a 32-character lowercase MD5 string.'."\n" - .'- The ciphertext generated by different MD5 tools may vary. If the interface works before encryption but not after, try changing the MD5 tool.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - .'- When `paramType` is `normal`: enter the plaintext ID number.'."\n" - .'- When `paramType` is `md5`:'."\n" - .'The first 6 digits (plaintext) + date of birth (ciphertext) + last 4 digits (plaintext).', - 'type' => 'string', - 'required' => false, - 'example' => '● 明文:429001********8211'."\n" - .'● 密文:'."\n" - .'42900132fa7bcd874161bea8ec8fd98f39****8211', - ], - ], - [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name:'."\n" - .'- When `paramType` is `normal`: enter the plaintext name.'."\n" - .'- When `paramType` is `md5`: the first character of the name (ciphertext) + the rest of the name (plaintext).', - 'type' => 'string', - 'required' => false, - 'example' => '● 明文:张三'."\n" - .'● 密文:'."\n" - .'6499fc7409049355527ef6a2ba5706b8三', - ], - ], - [ - 'name' => 'FaceUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Portrait side of the ID card image.'."\n" - .'Accessible HTTP or HTTPS link on the public network.'."\n" - .'Choose one between `CertUrl` and `CertFile`.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com/cert.jpeg', - ], - ], - [ - 'name' => 'FaceFile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Portrait side of the ID card image input stream.'."\n" - .'Choose one between `CertUrl` and `CertFile`.', - 'type' => 'string', - 'required' => false, - 'example' => '无', - 'isFileTransferUrl' => true, - ], - ], - [ - 'name' => 'Crop', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Whether to allow cropping of the face image, default is not allowed.'."\n" - .'- T: Allow cropping.'."\n" - .'- F: Do not allow cropping.'."\n" - ."\n" - .'**Note**'."\n" - ."\n" - .'If the image you request is not collected from a standard liveness detection SDK, it is recommended to allow cropping of the face image. After enabling this feature, the system will first crop and correct the requested image, then initiate the service request.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'name' => 'CertifyId', + 'in' => 'query', + 'schema' => ['description' => 'The verification request ID.'."\n" + .'You must first call the InitCardVerify operation to submit a verification request before you can obtain the verification request ID.', 'type' => 'string', 'required' => true, 'example' => '91707dc296d469ad38e4c5efa6a0xxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****', - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates success, others indicate failure.'."\n" - .'**Important**'."\n" - .'- This parameter indicates whether the interface was called correctly. For detailed return code explanations, please refer to the error codes.'."\n" - .'- Check the business verification result through the fields in `ResultObject`.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Interface call return message.'."\n" - ."\n" - .'**Important**'."\n" - ."\n" - .'This parameter only indicates whether there was an exception with the interface.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****'], + 'Code' => ['description' => 'The response code. 200 indicates success. Other values indicate failure.'."\n" + .'> **Important**'."\n" + .'> - This parameter indicates whether the operation is called correctly. For more information about return codes, refer to error codes.'."\n" + .'> - Check the business verification result by viewing the fields in ResultObject.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message of the operation.'."\n" + .'> **Important**'."\n" + .'> - This parameter only indicates whether the operation is abnormal.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Result object.', + 'description' => 'The result object.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Identity verification result:'."\n" - ."\n" - .'- 1: Consistent'."\n" - .'- 2: Inconsistent'."\n" - .'- 3: No record found', - 'type' => 'string', - 'example' => '1', - ], - 'FaceDetail' => [ - 'description' => 'Image comparison score.', - 'type' => 'string', - 'example' => '{'."\n" - .' "verifyScore": 50.28594166529785'."\n" - .'}', - ], + 'BizCode' => ['description' => 'The identity verification result. Valid values:'."\n" + .'- 1: consistent'."\n" + .'- 2: inconsistent'."\n" + .'- 3: no record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'CardInfo' => ['description' => 'The ID card information submitted for verification.', 'type' => 'string', 'example' => '{"address":"浙江省杭州市余杭区文一西路969号","birthDate":"19901226","certName":"张三","certNo":"1234561990122*****","nationality":"汉","authority":"xxx公安局","startDate":"20201130","endDate":"20301130"}', 'title' => ''], + 'PictureInfo' => ['description' => 'The returned photo URLs.'."\n" + .'- certUrl: front side'."\n" + .'- certNationalUrl: national emblem side.', 'type' => 'string', 'example' => '{'."\n" + .' "certUrl": "https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxx/xxxxxxxxxx_ocridface_dbf2_normal.jpeg",'."\n" + .' "certNationalUrl": "https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxxxxx/xxxxxxxxxxx_ocridback_e8a3_normal.jpeg"'."\n" + .'}', 'title' => ''], + 'OcrCardInfo' => ['description' => 'The ID card information read by OCR.', 'type' => 'string', 'example' => '{"address":"浙江省杭州市余杭区文一西路969号","birthDate":"19901226","certName":"张三","certNo":"1234561990122*****","nationality":"汉","authority":"xxx公安局","startDate":"20201130","endDate":"20301130"}', 'title' => ''], + 'FaceDetail' => ['description' => 'The image comparison score.', 'type' => 'string', 'example' => '{'."\n" + .' "verifyScore": 50.28594166529785'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"CardInfo\\": \\"{\\\\\\"address\\\\\\":\\\\\\"浙江省杭州市余杭区文一西路969号\\\\\\",\\\\\\"birthDate\\\\\\":\\\\\\"19901226\\\\\\",\\\\\\"certName\\\\\\":\\\\\\"张三\\\\\\",\\\\\\"certNo\\\\\\":\\\\\\"1234561990122*****\\\\\\",\\\\\\"nationality\\\\\\":\\\\\\"汉\\\\\\",\\\\\\"authority\\\\\\":\\\\\\"xxx公安局\\\\\\",\\\\\\"startDate\\\\\\":\\\\\\"20201130\\\\\\",\\\\\\"endDate\\\\\\":\\\\\\"20301130\\\\\\"}\\",\\n \\"PictureInfo\\": \\"{\\\\n \\\\\\"certUrl\\\\\\": \\\\\\"https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxx/xxxxxxxxxx_ocridface_dbf2_normal.jpeg\\\\\\",\\\\n \\\\\\"certNationalUrl\\\\\\": \\\\\\"https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxxxxx/xxxxxxxxxxx_ocridback_e8a3_normal.jpeg\\\\\\"\\\\n}\\",\\n \\"OcrCardInfo\\": \\"{\\\\\\"address\\\\\\":\\\\\\"浙江省杭州市余杭区文一西路969号\\\\\\",\\\\\\"birthDate\\\\\\":\\\\\\"19901226\\\\\\",\\\\\\"certName\\\\\\":\\\\\\"张三\\\\\\",\\\\\\"certNo\\\\\\":\\\\\\"1234561990122*****\\\\\\",\\\\\\"nationality\\\\\\":\\\\\\"汉\\\\\\",\\\\\\"authority\\\\\\":\\\\\\"xxx公安局\\\\\\",\\\\\\"startDate\\\\\\":\\\\\\"20201130\\\\\\",\\\\\\"endDate\\\\\\":\\\\\\"20301130\\\\\\"}\\",\\n \\"FaceDetail\\": \\"{\\\\n \\\\\\"verifyScore\\\\\\": 50.28594166529785\\\\n}\\"\\n }\\n}","type":"json"}]', + 'title' => 'API for obtaining verify results', + 'description' => 'After you receive a callback notification, you can call this operation on the server side to obtain the corresponding verification status and verification materials.', + 'changeSet' => [ + ['createdAt' => '2025-06-10T06:16:18.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"FaceDetail\\": \\"{\\\\n \\\\\\"verifyScore\\\\\\": 50.28594166529785\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Identity Three Elements Verification', - 'description' => 'Input name, ID number, and face photo to verify their authenticity and consistency through authoritative sources.', - 'translator' => 'machine', - ], - 'Id2MetaPeriodVerify' => [ - 'summary' => 'Two-Factor Validity Verification API', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCardVerify'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeCardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeCloudauthstSceneList' => [ + 'summary' => 'Queries the authentication scenarios for enhanced ID Verification.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '259667', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59113', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: Unencrypted.'."\n" - .'- md5: MD5 encrypted.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], - ], - [ - 'name' => 'IdentifyNum', - 'in' => 'formData', - 'schema' => [ - 'description' => 'ID number:'."\n" - ."\n" - .'- When `paramType` is `normal`: Enter the plain text of the ID number.'."\n" - .'- When `paramType` is `md5`:'."\n" - .'The first 6 digits (plain text) + date of birth (encrypted) + last 4 digits (plain text).', - 'type' => 'string', - 'required' => false, - 'example' => '4****************1', - ], - ], - [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Name.'."\n" - ."\n" - .'- When `paramType` = `normal`: Enter the plain text of the name.'."\n" - .'- When `paramType` = `md5`: The first character of the name MD5 encrypted (32 lowercase MD5) + the rest of the name in plain text.', - 'type' => 'string', - 'required' => false, - 'example' => '张*', - ], - ], - [ - 'name' => 'ValidityStartDate', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Start date of ID validity, format: YYYYMMDD', - 'type' => 'string', - 'required' => false, - 'example' => '20201001', - ], - ], - [ - 'name' => 'ValidityEndDate', - 'in' => 'formData', - 'schema' => [ - 'description' => 'End date of ID validity, format: YYYYMMDD', - 'type' => 'string', - 'required' => false, - 'example' => '20301001', - ], + 'name' => 'ProductCode', + 'in' => 'query', + 'schema' => ['description' => 'The commodity code.', 'type' => 'string', 'required' => false, 'example' => 'SMART_CARD', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: Verification consistent.'."\n" - .'- **2**: Verification inconsistent.'."\n" - .'- **3**: No record found.', - 'type' => 'string', - 'example' => '1', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEC88747-2F3E-539E-91A6-84E321CAA12B', 'title' => ''], + 'Items' => [ + 'description' => 'The list of scenarios.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProductName' => ['description' => 'The product name.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'GmtCreate' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2023-01-04 19:56:04', 'title' => ''], + 'SceneId' => ['description' => 'The scenario ID.', 'type' => 'string', 'example' => '20**40', 'title' => ''], + 'SceneName' => ['description' => 'The scenario name.', 'type' => 'string', 'example' => '测试场景', 'title' => ''], + 'GmtModified' => ['description' => 'The modification time.', 'type' => 'string', 'example' => '2023-01-04 19:56:04', 'title' => ''], + 'ProductCode' => ['description' => 'The Alibaba Cloud Marketplace commodity code.', 'type' => 'string', 'example' => 'SMART_VERIFY', 'title' => ''], + 'StoreImage' => ['description' => 'Specifies whether to deliver files generated during authentication to the customer\'s OSS. Valid values:'."\n" + .'- **Y**: Enabled.'."\n" + .'- **N**: Disabled.', 'type' => 'string', 'example' => 'N', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', - 'title' => 'Two-Factor Validity Verification', - 'translator' => 'machine', - ], - 'InitCardVerify' => [ - 'summary' => 'Initiate an authentication request for image verification', - 'path' => '', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEC88747-2F3E-539E-91A6-84E321CAA12B\\",\\n \\"Items\\": [\\n {\\n \\"ProductName\\": \\"-\\",\\n \\"GmtCreate\\": \\"2023-01-04 19:56:04\\",\\n \\"SceneId\\": \\"20**40\\",\\n \\"SceneName\\": \\"测试场景\\",\\n \\"GmtModified\\": \\"2023-01-04 19:56:04\\",\\n \\"ProductCode\\": \\"SMART_VERIFY\\",\\n \\"StoreImage\\": \\"N\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query enhanced ID verification authentication scenarios', + 'description' => 'Request method: Supports sending requests by using HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCloudauthstSceneList'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeCloudauthstSceneList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeDeviceInfo' => [ + 'summary' => 'Such as authorization validity period, custom business identifiers defined by the integrating party, and device IDs.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], + 'abilityTreeCode' => '59114', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'MerchantBizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier you define, used for subsequent troubleshooting.'."\n" - .'Supports a combination of 32 alphanumeric characters, please ensure uniqueness.', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', - ], - ], - [ - 'name' => 'MetaInfo', - 'in' => 'query', - 'schema' => [ - 'description' => 'MetaInfo environment parameter, which needs to be obtained through the client SDK.', - 'type' => 'string', - 'required' => true, - 'example' => '{"zimVer":"3.0.0","appVersion": "1","bioMetaInfo": "4.1.0:1150****,0","appName": "com.aliyun.antcloudauth","deviceType": "ios","osVersion": "iOS 10.3.2","apdidToken": "","deviceModel": "iPhone9,1"}', - ], - ], - [ - 'name' => 'CardType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Type of identification'."\n" - .'- Resident Second Generation ID Card: IDENTITY_CARD', - 'type' => 'string', - 'required' => true, - 'example' => 'IDENTITY_CARD', - ], - ], - [ - 'name' => 'Model', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Verification method, value:'."\n" - .'- OCR_VERIFY: OCR recognition and verification mode.', - 'type' => 'string', - 'required' => true, - 'example' => 'OCR_VERIFY', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'VerifyMeta', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'Verification type, value:'."\n" - .'- Identity two elements (name + ID number): ID_2_META', - 'type' => 'string', - 'required' => true, - 'example' => 'ID_2_META', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'CardPageNumber', + 'name' => 'DeviceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of card pages collected by the SDK'."\n" - .'- You can input 1 or 2; input 1 to collect the front side, input 2 to collect both the front and back sides.'."\n" - ."\n" - .'- If the verification type is ID period (VerifyMeta value is ID_PERIOD), you must input 2.', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The unique ID generated by the China Real Identity Authentication server for the device of the integrating party. This ID is generated only after the device is successfully activated and can be obtained by calling the getLicenseExtraInfo function in the offline facial recognition SDK.', 'type' => 'string', 'required' => false, 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', 'title' => ''], ], [ - 'name' => 'PictureSave', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to temporarily store the images collected by the app.'."\n" - .'- Y: Yes'."\n" - .'- N: No'."\n" - .'- If \'Yes\' is selected here, the query interface will support returning the card image information.', - 'type' => 'string', - 'required' => true, - 'example' => 'Y', - ], + 'schema' => ['description' => 'The business type. Maximum of 64 characters.', 'type' => 'string', 'required' => false, 'example' => 'FACE_TEST', 'title' => ''], ], [ - 'name' => 'CallbackUrl', + 'name' => 'UserDeviceId', 'in' => 'query', - 'schema' => [ - 'description' => '- The callback notification address for the authentication result, which must start with https.'."\n" - .'- The platform will call back this address after completing the authentication and automatically add the certifyId and passed fields, example: https://www.aliyun.com?certifyId=xxxx&passed=T'."\n" - .'- Warning'."\n" - .'The callback is triggered only when the authentication is completed. If the authentication is abandoned, interrupted abnormally, or not performed, no notification will be sent. It is recommended that when you receive the callback notification, if necessary, you can obtain detailed authentication information through the query interface.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com', - ], + 'schema' => ['description' => 'Maximum of 64 characters. Custom-defined by the integrating party to identify a specific device.', 'type' => 'string', 'required' => false, 'example' => '3iJ1AY$oHcu7mC69', 'title' => ''], ], [ - 'name' => 'CallbackToken', + 'name' => 'ExpiredStartDay', 'in' => 'query', - 'schema' => [ - 'description' => 'Security Token, used for anti-replay and anti-tampering checks. If this parameter is passed, the CallbackToken field will be displayed in the callback address.', - 'type' => 'string', - 'required' => false, - 'example' => 'NMjvQanQgplBSaEI0sL86WnQplB', - ], + 'schema' => ['description' => 'The start time of the query, which queries the authorizations that expire between ExpiredStartDay and ExpiredEndDay.', 'type' => 'string', 'required' => false, 'example' => '20190401', 'title' => ''], ], [ - 'name' => 'DocScanMode', + 'name' => 'ExpiredEndDay', 'in' => 'query', - 'schema' => [ - 'description' => 'Enumeration of photo-taking methods (manual/auto)'."\n" - .'- Take a photo: shoot'."\n" - .'- Scan: scan '."\n" - .'- Auto switch: auto', - 'type' => 'string', - 'required' => false, - 'example' => 'shoot', - ], + 'schema' => ['description' => 'The end time of the query, which queries the authorizations that expire between ExpiredStartDay and ExpiredEndDay.', 'type' => 'string', 'required' => false, 'example' => '20200330', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.'."\n" - .'Important'."\n" - .'- This parameter indicates whether the interface was called correctly. For detailed return code descriptions, see the error codes.'."\n" - .'- Business results should be viewed through the fields in ResultObject.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Return result.', + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DeviceInfoList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'CertifyId' => [ - 'description' => 'Verification request ID, a unique identifier for the verification service\'s authentication request.'."\n" - .'- When querying the authentication result, the authentication request ID must be provided.'."\n" - ."\n" - .'- The CertifyId field is a billing statistics field. To facilitate subsequent bill reconciliation, please retain this field information locally. The CertifyId returned by the initialization interface is valid for 30 minutes and can only be submitted once for authentication. Please apply it within the validity period to avoid reuse.', - 'type' => 'string', - 'example' => '91707dc296d469ad38e4c5efa6a0****', + 'DeviceInfo' => [ + 'description' => 'The array of device information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ExpiredDay' => ['description' => 'The authorization expiration date.', 'type' => 'string', 'example' => '20180101', 'title' => ''], + 'UserDeviceId' => ['description' => 'The UserDeviceId in the request.', 'type' => 'string', 'example' => '3iJ1AY$oHcu7mC69', 'title' => ''], + 'DeviceId' => ['description' => 'The DeviceId in the request.', 'type' => 'string', 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', 'title' => ''], + 'BeginDay' => ['description' => 'The authorization start date.', 'type' => 'string', 'example' => '20180101', 'title' => ''], + 'BizType' => ['description' => 'The BizType in the request.', 'type' => 'string', 'example' => 'FACE_TEST', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0****\\"\\n }\\n}","type":"json"}]', - 'title' => 'Initialization Interface', - 'description' => 'Before each authentication, use this interface to obtain the CertifyId, which is used to link various interfaces in the authentication request.', - 'translator' => 'machine', - ], - 'DescribeCardVerify' => [ - 'summary' => 'Obtain Authentication Results from Image Element Verification', - 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 1,\\n \\"DeviceInfoList\\": {\\n \\"DeviceInfo\\": [\\n {\\n \\"ExpiredDay\\": \\"20180101\\",\\n \\"UserDeviceId\\": \\"3iJ1AY$oHcu7mC69\\",\\n \\"DeviceId\\": \\"wd.6ziUffspAeW5FVYbaqmexR-1qwNjM\\",\\n \\"BeginDay\\": \\"20180101\\",\\n \\"BizType\\": \\"FACE_TEST\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query device information', + 'description' => 'Request method: supports sending requests using HTTPS POST and GET methods.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-04-22T02:38:16.000Z', 'description' => 'Error codes changed'], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDeviceInfo'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'CertifyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication request ID.'."\n" - .'You must first call the initialization interface InitCardVerify to submit an authentication request in order to get the authentication request ID.', - 'type' => 'string', - 'required' => true, - 'example' => '91707dc296d469ad38e4c5efa6a0xxxx', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****', - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates success, all others indicate failure.'."\n" - .'Important'."\n" - .'- This parameter indicates whether the interface was called correctly. For detailed return code explanations, please refer to the error codes.'."\n" - .'- Please check the business verification results through the fields in ResultObject.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Interface call return message.'."\n" - .'Important'."\n" - .'- This parameter only indicates whether there was an exception with the interface.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Result object.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Identity verification result:'."\n" - .'- 1: Consistent'."\n" - .'- 2: Inconsistent'."\n" - .'- 3: No Record Found', - 'type' => 'string', - 'example' => '1', - ], - 'CardInfo' => [ - 'description' => 'Submitted ID card information for verification.', - 'type' => 'string', - 'example' => '{"address":"浙江省杭州市余杭区文一西路969号","birthDate":"19901226","certName":"张三","certNo":"1234561990122*****","nationality":"汉","authority":"xxx公安局","startDate":"20201130","endDate":"20301130"}', - ], - 'PictureInfo' => [ - 'description' => 'Returned photo URLs.'."\n" - .'- certUrl Front side'."\n" - .'- certNationalUrl National emblem side', - 'type' => 'string', - 'example' => '{'."\n" - .' "certUrl": "https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxx/xxxxxxxxxx_ocridface_dbf2_normal.jpeg",'."\n" - .' "certNationalUrl": "https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxxxxx/xxxxxxxxxxx_ocridback_e8a3_normal.jpeg"'."\n" - .'}', - ], - 'OcrCardInfo' => [ - 'description' => 'ID card information read by OCR.', - 'type' => 'string', - 'example' => '{"address":"浙江省杭州市余杭区文一西路969号","birthDate":"19901226","certName":"张三","certNo":"1234561990122*****","nationality":"汉","authority":"xxx公安局","startDate":"20201130","endDate":"20301130"}', - ], - 'FaceDetail' => [ - 'description' => 'Image comparison score.', - 'type' => 'string', - 'example' => '{'."\n" - .' "verifyScore": 50.28594166529785'."\n" - .'}', - ], - ], - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeDeviceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"CardInfo\\": \\"{\\\\\\"address\\\\\\":\\\\\\"浙江省杭州市余杭区文一西路969号\\\\\\",\\\\\\"birthDate\\\\\\":\\\\\\"19901226\\\\\\",\\\\\\"certName\\\\\\":\\\\\\"张三\\\\\\",\\\\\\"certNo\\\\\\":\\\\\\"1234561990122*****\\\\\\",\\\\\\"nationality\\\\\\":\\\\\\"汉\\\\\\",\\\\\\"authority\\\\\\":\\\\\\"xxx公安局\\\\\\",\\\\\\"startDate\\\\\\":\\\\\\"20201130\\\\\\",\\\\\\"endDate\\\\\\":\\\\\\"20301130\\\\\\"}\\",\\n \\"PictureInfo\\": \\"{\\\\n \\\\\\"certUrl\\\\\\": \\\\\\"https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxx/xxxxxxxxxx_ocridface_dbf2_normal.jpeg\\\\\\",\\\\n \\\\\\"certNationalUrl\\\\\\": \\\\\\"https://cn-shanghai-aliyun-nmeta.cn-shanghai.oss.aliyuncs.com/verify/xxxxxxxxxx/xxxxxxxxxxx_ocridback_e8a3_normal.jpeg\\\\\\"\\\\n}\\",\\n \\"OcrCardInfo\\": \\"{\\\\\\"address\\\\\\":\\\\\\"浙江省杭州市余杭区文一西路969号\\\\\\",\\\\\\"birthDate\\\\\\":\\\\\\"19901226\\\\\\",\\\\\\"certName\\\\\\":\\\\\\"张三\\\\\\",\\\\\\"certNo\\\\\\":\\\\\\"1234561990122*****\\\\\\",\\\\\\"nationality\\\\\\":\\\\\\"汉\\\\\\",\\\\\\"authority\\\\\\":\\\\\\"xxx公安局\\\\\\",\\\\\\"startDate\\\\\\":\\\\\\"20201130\\\\\\",\\\\\\"endDate\\\\\\":\\\\\\"20301130\\\\\\"}\\",\\n \\"FaceDetail\\": \\"{\\\\n \\\\\\"verifyScore\\\\\\": 50.28594166529785\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Get Authentication Result Interface', - 'description' => 'After receiving the callback notification, you can use this interface on the server side to obtain the corresponding authentication status and information.', - 'translator' => 'machine', ], - 'Id3MetaVerifyWithOCR' => [ - 'summary' => 'Identity Three Elements Image Verification', - 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeFaceGuardRisk' => [ + 'summary' => 'Financial-grade Face Guard service.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '250715', + 'abilityTreeNodes' => ['FEATUREcloudauthCPTLY3'], ], 'parameters' => [ [ - 'name' => 'CertUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Portrait side of the ID card image. A publicly accessible HTTP or HTTPS link. Choose either CertUrl or CertFile.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com/cert.jpeg'."\n", - ], + 'name' => 'DeviceToken', + 'in' => 'query', + 'schema' => ['description' => 'The device token for risk identification.', 'type' => 'string', 'required' => false, 'example' => 'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', 'title' => ''], ], [ - 'name' => 'CertFile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Input stream for the portrait side of the ID card image. Choose either CertUrl or CertFile.', - 'type' => 'string', - 'required' => false, - 'example' => '无'."\n", - 'isFileTransferUrl' => true, - ], + 'name' => 'OuterOrderNo', + 'in' => 'query', + 'schema' => ['description' => 'The identifier used for subsequent troubleshooting. Ensure that this value is unique within your business.'."\n" + ."\n" + .'The value can contain letters (both uppercase and lowercase) and digits, with a maximum length of 32 characters.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35xxxx', 'title' => ''], ], [ - 'name' => 'CertNationalUrl', - 'in' => 'formData', + 'name' => 'ProductCode', + 'in' => 'query', 'schema' => [ - 'description' => 'National emblem side of the ID card image URL. A publicly accessible HTTP or HTTPS link. You can choose either CertNationalUrl or CertNationalFile, or omit both.', + 'description' => 'The product code. Set this to FACE_GUARD.', + 'enumValueTitles' => ['FACE_GUARD' => 'FACE_GUARD'], 'type' => 'string', 'required' => false, - 'example' => 'https://www.aliyun.com/cert.jpeg', + 'example' => 'FACE_GUARD', + 'title' => '', ], ], [ - 'name' => 'CertNationalFile', - 'in' => 'formData', - 'schema' => [ - 'description' => 'URL for the national emblem side of the ID card image. Choose either CertNationalUrl or CertNationalFile, or omit both.', - 'type' => 'string', - 'required' => false, - 'example' => '无', - 'isFileTransferUrl' => true, - ], + 'name' => 'BizId', + 'in' => 'query', + 'schema' => ['description' => 'The authentication ID.', 'type' => 'string', 'required' => false, 'example' => 'aba9830f471a4335af4612c8adaa91b0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****'."\n", - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates success, any other value indicates failure. **Important**'."\n" - ."\n" - .'- This parameter indicates whether the interface was called correctly. For a detailed explanation of return codes, please refer to the error codes.'."\n" - .'- The business verification result can be viewed through the fields in ResultObject.', - 'type' => 'string', - 'example' => '200'."\n", - ], - 'Message' => [ - 'description' => 'Interface call return message. **Important** This parameter only indicates whether there was an exception with the interface.', - 'type' => 'string', - 'example' => 'success'."\n", - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10'], + 'Code' => ['description' => 'The response code. **200** indicates that the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Result object.', + 'description' => 'The result information.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Identity verification result:'."\n" - ."\n" - .'- 1: Consistent'."\n" - .'- 2: Inconsistent'."\n" - .'- 3: No record found', - 'type' => 'string', - 'example' => '1', - ], - 'CardInfo' => [ - 'description' => 'Card ocr result.', - 'type' => 'string', - 'example' => '{"address":"浙江省杭州市余*****","birthDate":"19901226","certName":"张三","certNo":"1234561990122*****","nationality":"汉","authority":"xxx公安局","startDate":"20201130","endDate":"20301130"}', - ], - 'FaceDetail' => [ - 'description' => 'Face comparison score.', - 'type' => 'string', - 'example' => '{'."\n" - .' "verifyScore": 50.28594166529785'."\n" - .'}', - ], + 'RiskExtends' => ['description' => 'The extended information in JSON format. The returned content is customized based on tenant requirements.', 'type' => 'string', 'example' => '{'."\n" + .' "code": 200'."\n" + .' "badNet":false,'."\n" + .' "umid":"74e37355171ab62230063569350d368e",'."\n" + .' "fileTags":"basic_root,basic_hook",'."\n" + .' "queryCount":1,'."\n" + .' "querySessionCount":1,'."\n" + .' "queryUmidCount":1'."\n" + .' "platform":"Android"'."\n" + .'}', 'title' => ''], + 'RiskTags' => ['description' => 'The device risk labels.'."\n" + ."\n" + .'- Multiple device risk labels are separated by commas (,), such as "ROOT,VPN,HOOK".'."\n" + ."\n" + .'- For more information about device risk labels and their descriptions, see the Face Guard label description in the official documentation.', 'type' => 'string', 'example' => 'ROOT,VPN,HOOK', 'title' => ''], + 'CertifyId' => ['description' => 'The unique identifier for ID Verification.', 'type' => 'string', 'example' => 'sha43d9cabd52d370d9f4cca9468f71e', 'title' => ''], + 'GuardRiskScore' => ['description' => 'The device risk probability predicted by the device assistant algorithm. A higher score indicates a higher device risk.'."\n" + ."\n" + .'Value range: 0 to 100.', 'type' => 'number', 'format' => 'double', 'example' => '80', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"RiskExtends\\": \\"{\\\\n \\\\\\"code\\\\\\": 200\\\\n \\\\\\"badNet\\\\\\":false,\\\\n \\\\\\"umid\\\\\\":\\\\\\"74e37355171ab62230063569350d368e\\\\\\",\\\\n \\\\\\"fileTags\\\\\\":\\\\\\"basic_root,basic_hook\\\\\\",\\\\n \\\\\\"queryCount\\\\\\":1,\\\\n \\\\\\"querySessionCount\\\\\\":1,\\\\n \\\\\\"queryUmidCount\\\\\\":1\\\\n \\\\\\"platform\\\\\\":\\\\\\"Android\\\\\\"\\\\n}\\",\\n \\"RiskTags\\": \\"ROOT,VPN,HOOK\\",\\n \\"CertifyId\\": \\"sha43d9cabd52d370d9f4cca9468f71e\\",\\n \\"GuardRiskScore\\": 80\\n }\\n}","type":"json"}]', + 'title' => 'Face guard server-side-only API', + 'changeSet' => [ + ['createdAt' => '2024-11-19T08:52:39.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\\\n\\",\\n \\"Code\\": \\"200\\\\n\\",\\n \\"Message\\": \\"success\\\\n\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"CardInfo\\": \\"OCR读取的身份证信息。\\",\\n \\"FaceDetail\\": \\"{\\\\n \\\\\\"verifyScore\\\\\\": 50.28594166529785\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Identity Three Elements Image Verification', - 'description' => 'Upload both sides of the ID card to get the verification result of the three identity elements from an authoritative data source.', - 'translator' => 'machine', - ], - 'VehicleMetaVerifyV2' => [ - 'summary' => 'Enhanced Vehicle Element Verification', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '600', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFaceGuardRisk'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DescribeFaceGuardRisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeFaceVerify' => [ + 'summary' => 'After the China site (Chinese mainland) mobile client receives a callback, the China site (Chinese mainland) server can call this operation to obtain the corresponding verification status and verification materials.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '232381', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthA9Y5H0', - ], + 'operationType' => 'get', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59117', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'ParamType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: Unencrypted.'."\n" - .'- md5: Md5 encrypted.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'normal' => '不加密', - 'md5' => 'md5加密', - ], - 'example' => 'normal', - ], - ], - [ - 'name' => 'VehicleType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Vehicle type', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 52 => '新能源小客车', - '02' => '普通小客车', - ], - 'example' => '02', - ], - ], - [ - 'name' => 'VerifyMetaType', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Verification type'."\n" - ."\n" - .'> '."\n" - .'> - VEHICLE_2_META: Two-element verification, name + license plate number verification;'."\n" - .'> - VEHICLE_3_META: Three-element verification, name + license plate number + ID number verification;', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'VEHICLE_3_META' => '三要素核验', - 'VEHICLE_2_META' => '二要素核验', - ], - 'example' => 'VEHICLE_3_META', - ], + 'schema' => ['description' => 'The ID of the verification scenario.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000000006', 'title' => ''], ], [ - 'name' => 'IdentifyNum', + 'name' => 'CertifyId', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.'."\n" - ."\n" - .'This is a required field when VerifyMetaType is VEHICLE_3_META.'."\n" - ."\n" - .'> '."\n" - .'> - When paramType is normal, enter plain text.'."\n" - .'> - When paramType is md5, enter the first 6 digits in plain text + MD5 (32 lowercase) of the birth date + the last 4 digits in plain text.', - 'type' => 'string', - 'required' => false, - 'example' => '4****************1', - ], + 'schema' => ['description' => 'The unique identifier of the ID Verification request.', 'type' => 'string', 'required' => false, 'example' => '91707dc296d469ad38e4c5efa6a0f24b', 'title' => ''], ], [ - 'name' => 'UserName', + 'name' => 'PictureReturnType', 'in' => 'query', - 'schema' => [ - 'description' => 'Name'."\n" - .'> '."\n" - .'> - When paramType is normal, enter plain text.'."\n" - .'> - When paramType is md5, enter the first character of the name as MD5 (32 lowercase) + the rest of the name in plain text.', - 'type' => 'string', - 'required' => false, - 'example' => '张*', - ], - ], - [ - 'name' => 'VehicleNum', - 'in' => 'query', - 'schema' => [ - 'description' => 'License plate number'."\n" - ."\n" - .'> '."\n" - .'> - When paramType is normal, enter plain text.'."\n" - .'> - When paramType is md5, enter all but the last two characters in plain text + the last two characters as MD5 (32 lowercase).', - 'type' => 'string', - 'required' => false, - 'example' => '陕A9****', - ], + 'schema' => ['description' => 'The image return type.', 'type' => 'string', 'required' => false, 'example' => 'JPG', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F528B******', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result', + 'description' => 'The returned result information.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: Verification consistent.'."\n" - .'- **2**: Verification inconsistent.'."\n" - .'- **3**: No record found.', - 'type' => 'string', - 'example' => '1', - ], - 'VehicleInfo' => [ - 'description' => 'Detailed vehicle information.', - 'type' => 'string', - 'example' => '{'."\n" - .' "approvedCount": "7",'."\n" - .' "approvedLoad": "0",'."\n" - .' "axleCount": "2",'."\n" - .' "backWheelDistance": "1585",'."\n" - .' "brand": "雷克萨斯",'."\n" - .' "displacement": "4608",'."\n" - .' "engineNum": "1*********",'."\n" - .' "engineType": "1**",'."\n" - .' "frontWheelDistance": "1585",'."\n" - .' "fuelType": "汽油",'."\n" - .' "inspectionDate": "****-**-** **:**:**",'."\n" - .' "modelNum": "UR*****-******",'."\n" - .' "power": "228",'."\n" - .' "registrationDate": "****-**-** **:**:**",'."\n" - .' "retirementDate": "****-**-** **:**:**",'."\n" - .' "totalMass": "2940",'."\n" - .' "unladenMass": "2350",'."\n" - .' "useProperty": "非营运",'."\n" - .' "vehicleState": "正常",'."\n" - .' "vin": "JT***************",'."\n" - .' "wheelBase": "2790"'."\n" - .'}', - ], + 'SubCode' => ['description' => 'The verification result description. For more information, see the SubCode description below.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'MaterialInfo' => ['description' => 'The supplementary material information of the verification subject, primarily image-based materials. The value is in JSON format. See the example below.', 'type' => 'string', 'example' => '{"faceAttack": "F","facialPictureFront": {"qualityScore": 88.3615493774414,"pictureUrl": "https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg","ossBucketName": "cn-shanghai-aliyun-cloudauth-1260051251634779","ossObjectName": "verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg"}}', 'title' => ''], + 'IdentityInfo' => ['description' => 'The identity information of the verification subject. This field is empty in common verification scenarios.', 'type' => 'string', 'example' => 'null', 'title' => ''], + 'DeviceToken' => ['description' => 'The device token.', 'type' => 'string', 'example' => 'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification is passed. A value of T indicates passed. A value of F indicates not passed.', 'type' => 'string', 'example' => 'T', 'title' => ''], + 'DeviceRisk' => ['description' => 'The device risk label.', 'type' => 'string', 'example' => 'ROOT,VPN,HOOK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the response is successful.', 'type' => 'string', 'example' => 'True', 'title' => ''], + 'UserInfo' => ['description' => 'The identity information and corresponding encoding entered by the user in rare character mode. The value is a JSON-formatted string. An empty string is returned if the name does not contain rare characters.'."\n" + ."\n" + .'- name: the name entered by the user.'."\n" + ."\n" + .'- verifyName: the final name encoding that passed verification. For example, if a rare character is verified through transcoding: "王先生", the actual verified name is "王先升".'."\n" + ."\n" + .'- number: the ID number entered by the user.', 'type' => 'string', 'example' => '{'."\n" + .' "number": "610***********1110",'."\n" + .' "name": "王先生",'."\n" + .' "verifyName": "王先"'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"ResultObject\\": {\\n \\"SubCode\\": \\"200\\",\\n \\"MaterialInfo\\": \\"{\\\\\\"faceAttack\\\\\\": \\\\\\"F\\\\\\",\\\\\\"facialPictureFront\\\\\\": {\\\\\\"qualityScore\\\\\\": 88.3615493774414,\\\\\\"pictureUrl\\\\\\": \\\\\\"https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg\\\\\\",\\\\\\"ossBucketName\\\\\\": \\\\\\"cn-shanghai-aliyun-cloudauth-1260051251634779\\\\\\",\\\\\\"ossObjectName\\\\\\": \\\\\\"verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg\\\\\\"}}\\",\\n \\"IdentityInfo\\": \\"null\\",\\n \\"DeviceToken\\": \\"McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx\\",\\n \\"Passed\\": \\"T\\",\\n \\"DeviceRisk\\": \\"ROOT,VPN,HOOK\\",\\n \\"Success\\": \\"True\\",\\n \\"UserInfo\\": \\"{\\\\n \\\\\\"number\\\\\\": \\\\\\"610***********1110\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"王先生\\\\\\",\\\\n \\\\\\"verifyName\\\\\\": \\\\\\"王先\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', + 'title' => 'Query ID verification details', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' > Determine the verification result based on the ResultObject.Passed or ResultObject.SubCode field.'."\n" + ."\n" + .'#### JSON format example of ResultObject.MaterialInfo'."\n" + .'- APP verification solution & face liveness verification solution'."\n" + ."\n" + .' ```'."\n" + .' {'."\n" + .' // Whether it is an attack: T for attack, F for non-attack'."\n" + .' "faceAttack": "F", '."\n" + .' // Photo information for verification'."\n" + .' "facialPictureFront": {'."\n" + .' // Liveness face quality score'."\n" + .' "qualityScore": 88.3615493774414,'."\n" + .' // Face comparison score'."\n" + .' "verifyScore": 50.28594166529785,'."\n" + .' // HTTPS URL of the photo, valid for 15 minutes starting from the query time '."\n" + .' "pictureUrl": "https://ap-southeast-1-aliyun-cloudauth-xxxxxx.oss-ap-southeast-1.aliyuncs.com/verify/xxxxx/xxxxx.jpeg",'."\n" + .' // The OSS bucket name where the photo is stored in the China (Shanghai) region'."\n" + .' "ossBucketName": "cn-shanghai-aliyun-cloudauth-1260051251634779",'."\n" + .' // The OSS object name of the photo stored in the China (Shanghai) region'."\n" + .' "ossObjectName": "verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg" '."\n" + .' }'."\n" + .' }'."\n" + .' ```'."\n" + ."\n" + .'- Liveness detection solution'."\n" + ."\n" + .' ```'."\n" + .' {'."\n" + .' // Whether it is an attack: T for attack, F for non-attack'."\n" + .' "faceAttack": "F", '."\n" + .' // Photo information for verification'."\n" + .' "facialPictureFront": {'."\n" + .' // Liveness face quality score'."\n" + .' "qualityScore": 88.3615493774414,'."\n" + .' // HTTPS URL of the photo, valid for 15 minutes starting from the query time '."\n" + .' "pictureUrl": "https://ap-southeast-1-aliyun-cloudauth-xxxxxx.oss-ap-southeast-1.aliyuncs.com/verify/xxxxx/xxxxx.jpeg",'."\n" + .' // The OSS bucket name where the photo is stored in the China (Shanghai) region'."\n" + .' "ossBucketName": "cn-shanghai-aliyun-cloudauth-1260051251634779",'."\n" + .' // The OSS object name of the photo stored in the China (Shanghai) region'."\n" + .' "ossObjectName": "verify/1260051251634779/6ba7bcfccf33f56cdb44ed086f36ce3e0.jpeg" '."\n" + .' }'."\n" + .' }'."\n" + .' ```.'."\n" + ."\n" + .'#### ResultObject.SubCode description'."\n" + ."\n" + .'|Error code|Verification description|Billable|Possible cause and suggestion|'."\n" + .'|---|------|----|---------|'."\n" + .' |200|Verification passed.|Yes| |'."\n" + .'|201|Name and ID number do not match.|Yes|The user information may be incorrect or fraudulent. The user is advised to verify the information and try again.|'."\n" + .'|202|Identity information not found.|Yes|This may be caused by household registration migration, military personnel, or other special statuses. Provide a manual review option for manual verification.|'."\n" + .'|203|Photo not found or photo is unavailable.|Yes|This may be caused by issues with the public security database. Provide a manual review option for manual verification.|'."\n" + .'|204|Face comparison does not match.|Yes|The person may not be the same individual, or the liveness photo quality may be low. Handle this based on your business requirements. If the person is the same individual, try again.|'."\n" + .'|205|Liveness detection identified a risk.|Yes|An attack risk may exist. Perform manual review and handle accordingly. If the person is a real individual, try again.|'."\n" + .'|206|Restricted by business policy.|Yes|A risky operation may exist. Proceed after manual confirmation.|.', + 'extraInfo' => ' ## Result codes'."\n" + ."\n" + .'|Code|Message|Description|'."\n" + .'|----|-------|--|'."\n" + .'|200|success|Success.|'."\n" + .'|400|Parameters cannot be empty.|Parameters cannot be empty.|'."\n" + .'|401|Invalid parameters.|Invalid parameters. The name and ID number must comply with national standards and must not contain letters or other special characters.|'."\n" + .'|403|Verification not completed.|Verification not completed.|'."\n" + .'|404|Verification scenario configuration does not exist.|The verification scenario configuration does not exist. Create a verification scenario in the console first.|'."\n" + .'|406|Invalid certifyId.|Invalid certifyId.|'."\n" + .'|410|Service not activated.|OSS is not activated or OSS read/write authorization is not completed.|'."\n" + .'|411|RAM permission denied.|Grant the AliyunAntCloudAuthFullAccess permission to the RAM user.|'."\n" + .'|424|ID Verification record does not exist.|No ID Verification submission record exists for this certifyId.|'."\n" + .'|500|System error.|Internal system error.|.', + 'changeSet' => [ + ['createdAt' => '2024-01-18T14:10:01.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-20T08:26:32.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-13T10:31:23.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528B******\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n\\\\t\\\\\\"approvedCount\\\\\\": \\\\\\"7\\\\\\",\\\\n\\\\t\\\\\\"approvedLoad\\\\\\": \\\\\\"0\\\\\\",\\\\n\\\\t\\\\\\"axleCount\\\\\\": \\\\\\"2\\\\\\",\\\\n\\\\t\\\\\\"backWheelDistance\\\\\\": \\\\\\"1585\\\\\\",\\\\n\\\\t\\\\\\"brand\\\\\\": \\\\\\"雷克萨斯\\\\\\",\\\\n\\\\t\\\\\\"displacement\\\\\\": \\\\\\"4608\\\\\\",\\\\n\\\\t\\\\\\"engineNum\\\\\\": \\\\\\"1*********\\\\\\",\\\\n\\\\t\\\\\\"engineType\\\\\\": \\\\\\"1**\\\\\\",\\\\n\\\\t\\\\\\"frontWheelDistance\\\\\\": \\\\\\"1585\\\\\\",\\\\n\\\\t\\\\\\"fuelType\\\\\\": \\\\\\"汽油\\\\\\",\\\\n\\\\t\\\\\\"inspectionDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"modelNum\\\\\\": \\\\\\"UR*****-******\\\\\\",\\\\n\\\\t\\\\\\"power\\\\\\": \\\\\\"228\\\\\\",\\\\n\\\\t\\\\\\"registrationDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"retirementDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"totalMass\\\\\\": \\\\\\"2940\\\\\\",\\\\n\\\\t\\\\\\"unladenMass\\\\\\": \\\\\\"2350\\\\\\",\\\\n\\\\t\\\\\\"useProperty\\\\\\": \\\\\\"非营运\\\\\\",\\\\n\\\\t\\\\\\"vehicleState\\\\\\": \\\\\\"正常\\\\\\",\\\\n\\\\t\\\\\\"vin\\\\\\": \\\\\\"JT***************\\\\\\",\\\\n\\\\t\\\\\\"wheelBase\\\\\\": \\\\\\"2790\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Enhanced Vehicle Element Verification', - 'description' => 'Verifies the consistency of name, ID number, license plate number, and vehicle type, and supports returning detailed vehicle information.', - 'requestParamsDescription' => 'ParamType, VerifyMetaType, UserName, and VehicleNum are required parameters.', - 'translator' => 'machine', - ], - 'VehicleMetaVerify' => [ - 'summary' => 'Vehicle Element Verification', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1400', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFaceVerify'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeInfoCheckExportRecord' => [ + 'summary' => 'Queries information verification export tasks by page.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6318,717 +3903,571 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '232494', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthA9Y5H0', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '205575', + 'abilityTreeNodes' => ['FEATUREcloudauthGDLZVA'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ParamType', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: Unencrypted.'."\n" - .'- md5: Encrypted with MD5.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'normal' => '不加密', - 'md5' => 'md5加密', - ], - 'example' => 'normal', - ], + 'schema' => ['description' => 'The product type. Valid values:'."\n" + .'- **ID_CARD_2_META**: ID card two-element verification.'."\n" + .'- **ID_PERIOD**: ID card validity period verification.'."\n" + .'- **MOBILE_ONLINE_LENGTH**: mobile number online duration.'."\n" + .'- **MOBILE_ONLINE_STATUS**: mobile number online status.'."\n" + .'- **MOBILE_3_META_SIMPLE**: mobile number three-element verification (simple edition).'."\n" + .'- **MOBILE_3_META**: mobile number three-element verification (detailed edition).'."\n" + .'- **MOBILE_2_META**: mobile number two-element verification.'."\n" + .'- **BANK_CARD_N_META**: bank card verification (detailed edition).'."\n" + .'- **MOBILE_DETECT**: phone number detection.'."\n" + .'- **VEHICLE_N_META**: vehicle element verification (enhanced edition).'."\n" + .'- **VEHICLE_PENTA_INFO**: vehicle five-element information recognition.'."\n" + .'- **VEHICLE_LICENSE_INFO**: vehicle information recognition.'."\n" + .'- **VEHICLE_INSURE_DATE**: vehicle insurance date query.'."\n" + .'- **VEHICLE_CHECK**: vehicle element verification.', 'type' => 'string', 'required' => false, 'example' => 'ID_CARD_2_META', 'title' => ''], ], [ - 'name' => 'VehicleType', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Vehicle type', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 52 => '新能源小客车', - '02' => '普通小客车', - ], - 'example' => '02', - ], + 'schema' => ['description' => 'The start time of the query.', 'type' => 'string', 'required' => false, 'example' => '2025-10-11 21:24:48', 'title' => ''], ], [ - 'name' => 'VerifyMetaType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Verification type'."\n" - ."\n" - .'> '."\n" - .'> - VEHICLE_2_META: Two-element verification, name + vehicle license plate verification;'."\n" - .'> - VEHICLE_3_META: Three-element verification, name + vehicle license plate + ID number verification;', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'VEHICLE_3_META' => '三要素核验', - 'VEHICLE_2_META' => '二要素核验', - ], - 'example' => 'VEHICLE_2_META', - ], - ], - [ - 'name' => 'IdentifyNum', + 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.'."\n" - ."\n" - .'This is a required field when VerifyMetaType is set to VEHICLE_3_META.'."\n" - .'> '."\n" - .'> - When paramType is set to normal, enter the plain text.'."\n" - .'> - When paramType is set to md5, enter the first 6 digits in plain text + the birth date encrypted with MD5 (32 lowercase characters) + the last 4 digits in plain text.', - 'type' => 'string', - 'required' => false, - 'example' => '4****************1', - ], + 'schema' => ['description' => 'The end time of the query.', 'type' => 'string', 'required' => false, 'example' => '2025-10-11 21:24:48', 'title' => ''], ], [ - 'name' => 'UserName', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'Name'."\n" - ."\n" - .'> This is an explanation'."\n" - .'> - When paramType is set to normal, enter the plain text.'."\n" - .'> - When paramType is set to md5, encrypt the first character of the name with MD5 (32 lowercase characters) + the rest of the name in plain text.', - 'type' => 'string', - 'required' => false, - 'example' => '张**', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'VehicleNum', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Vehicle license plate'."\n" - ."\n" - .'> '."\n" - .'> - When paramType is set to normal, enter the plain text.'."\n" - .'> - When paramType is set to md5, enter the part of the license plate except for the last two characters in plain text + the last two characters of the license plate encrypted with MD5 (32 lowercase characters).', - 'type' => 'string', - 'required' => false, - 'example' => '陕A9****', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF4*****', - ], - 'Code' => [ - 'description' => 'Response code, **200** indicates that the API response was successful.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Response message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result.'."\n" - ."\n" - .'- 1: Consistent (billable)'."\n" - .'- 2: Inconsistent (billable)'."\n" - .'- 3: No record found (non-billable)', - 'type' => 'string', - 'example' => '1', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error code.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Items' => [ + 'description' => 'The list of results.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DownloadTaskId' => ['description' => 'The ID of the download task.', 'type' => 'string', 'example' => '202510189017278', 'title' => ''], + 'Status' => ['description' => 'The task status. Valid values:'."\n" + .'- **1**: The file is being generated.'."\n" + .'- **2**: The file has been generated.'."\n" + .'- **3**: The file failed to be generated.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Url' => ['description' => 'The task URL.', 'type' => 'string', 'example' => 'https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxxxx.xlsx', 'title' => ''], + 'DownloadDate' => ['description' => 'The download date.', 'type' => 'string', 'example' => '1758250979000', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'ProductType' => ['description' => 'The product type name. Valid values:'."\n" + .'- **ID_CARD_2_META**: ID card two-element verification.'."\n" + .'- **ID_PERIOD**: ID card validity period verification.'."\n" + .'- **MOBILE_ONLINE_LENGTH**: mobile number online duration.'."\n" + .'- **MOBILE_ONLINE_STATUS**: mobile number online status.'."\n" + .'- **MOBILE_3_META_SIMPLE**: mobile number three-element verification (simple edition).'."\n" + .'- **MOBILE_3_META**: mobile number three-element verification (detailed edition).'."\n" + .'- **MOBILE_2_META**: mobile number two-element verification.'."\n" + .'- **BANK_CARD_N_META**: bank card verification (detailed edition).'."\n" + .'- **MOBILE_DETECT**: phone number detection.'."\n" + .'- **VEHICLE_N_META**: vehicle element verification (enhanced edition).'."\n" + .'- **VEHICLE_PENTA_INFO**: vehicle five-element information recognition.'."\n" + .'- **VEHICLE_LICENSE_INFO**: vehicle information recognition.'."\n" + .'- **VEHICLE_INSURE_DATE**: vehicle insurance date query.'."\n" + .'- **VEHICLE_CHECK**: vehicle element verification.', 'type' => 'string', 'example' => '身份证二要素', 'title' => ''], + 'FileType' => ['description' => 'The file type.', 'type' => 'string', 'example' => 'CSV', 'title' => ''], + 'FileName' => ['description' => 'The file name.', 'type' => 'string', 'example' => '手机号二要素统计202509013975081.csv', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF4*****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', - 'title' => 'Vehicle Element Verification', - 'description' => 'Verifies the consistency of name, ID number, vehicle license plate, and vehicle type.', - 'requestParamsDescription' => 'ParamType, VerifyMetaType, VehicleNum, and UserName are required parameters.', - 'translator' => 'machine', - ], - 'Vehicle5ItemQuery' => [ - 'summary' => 'Five-Item Vehicle Information Recognition', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalPage\\": 3,\\n \\"CurrentPage\\": 1,\\n \\"Items\\": [\\n {\\n \\"DownloadTaskId\\": \\"202510189017278\\",\\n \\"Status\\": 1,\\n \\"Url\\": \\"https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxxxx.xlsx\\",\\n \\"DownloadDate\\": \\"1758250979000\\",\\n \\"ErrorCode\\": \\"-\\",\\n \\"ProductType\\": \\"身份证二要素\\",\\n \\"FileType\\": \\"CSV\\",\\n \\"FileName\\": \\"手机号二要素统计202509013975081.csv\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query information verification export tasks', + 'description' => 'Request method: Supports sending requests by using the HTTPS POST and GET methods.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInfoCheckExportRecord'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'antcloudauth:DescribeInfoCheckExportRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeListAntCloudAuthScenes' => [ + 'summary' => 'Queries a specified.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '232619', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthA9Y5H0', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59118', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'VehicleType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Vehicle type'."\n" - ."\n" - .'> '."\n" - .'> - 02: Ordinary passenger car'."\n" - .'> - 52: New energy passenger car', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 52 => '新能源小客车', - '02' => '普通小客车', - ], - 'example' => '02', - ], - ], - [ - 'name' => 'VehicleNum', - 'in' => 'query', - 'schema' => [ - 'description' => 'License plate number'."\n" - ."\n" - .'> '."\n" - .'> - When paramType is set to normal, enter the plain text.'."\n" - .'> - When paramType is set to md5, enter the plain text of all but the last two characters of the license plate + MD5 encryption (32-bit lowercase MD5) of the last two characters.', - 'type' => 'string', - 'required' => false, - 'example' => '陕A9****', - ], - ], - [ - 'name' => 'ParamType', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- **normal**: Unencrypted.'."\n" - .'- **md5**: MD5 encrypted.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'normal' => '不加密', - 'md5' => 'md5加密', - ], - 'example' => 'normal', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100000xxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0D******', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => '200', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - .'- **1**: Found (charged)'."\n" - .'- **3**: No record found (not charged)', - 'type' => 'string', - 'example' => '1', - ], - 'VehicleInfo' => [ - 'description' => 'Vehicle information', - 'type' => 'string', - 'example' => '{'."\n" - .' "engineNo": "F0******",'."\n" - .' "useProperty": 0,'."\n" - .' "registrationDate": "****-**-** **:**:**",'."\n" - .' "engineType": "B******",'."\n" - .' "vin": "A********",'."\n" - .' "state": "0",'."\n" - .' "modelNo": "B********",'."\n" - .' "type": "小型轿车",'."\n" - .' "brand": "宝马",'."\n" - .' "usePropertyDesc": "非营运",'."\n" - .' "stateDesc": "正常"'."\n" - .' }', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC1AB3F5-22A2-589F-ABDD-B766694AA671', 'title' => ''], + 'Scenes' => [ + 'description' => 'The list of scenes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of authorized scenes.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'Indicates whether the scene is enabled. The value 1 indicates enabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Modifier' => ['description' => 'The modifier.', 'type' => 'string', 'example' => '189884094677xxxx', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the instance was last updated.', 'type' => 'string', 'example' => '1260051251634779', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '2a3a13b6-ee85-457e-bd15-b48115cb396e', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '1260051251634779', 'title' => ''], + 'SceneId' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '100001xxxx', 'title' => ''], + 'SceneName' => ['description' => 'The scene name.', 'type' => 'string', 'example' => '测试场景', 'title' => ''], + 'Creator' => ['description' => 'The creator.', 'type' => 'string', 'example' => '189884094677xxxx', 'title' => ''], + 'StoreImage' => ['description' => 'Specifies whether to deliver files generated during authentication to the customer\'s OSS. Valid values:'."\n" + .'- **Y**: Enabled.'."\n" + .'- **N**: Disabled.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'BindMiniProgram' => ['description' => 'Specifies whether to enable mini program binding. Valid values:'."\n" + .'- **Y**: Enabled.'."\n" + .'- **N (default)**: Disabled.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'Platform' => ['description' => 'The mini program platform. Valid values:'."\n" + .'- **WECHAT**: WeChat'."\n" + .'- **ALIPAY**: Alipay'."\n" + .'- **TIKTOK**: TikTok.', 'type' => 'string', 'example' => 'WECHAT', 'title' => ''], + 'MiniProgramName' => ['description' => 'The mini program name.', 'type' => 'string', 'example' => '测试APP', 'title' => ''], + 'Domain' => ['description' => 'The bound domain name.', 'type' => 'string', 'example' => 'www.ddos.com', 'title' => ''], + 'ReturnPicCount' => ['description' => 'The number of evidence face photos (1 to 5).', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'ReturnVideoLength' => ['description' => 'The duration of the evidence video, in seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'DeviceRiskPlus' => ['description' => 'Specifies whether to enable enhanced device risk detection. Valid values:'."\n" + .'- **Y**: Enabled.'."\n" + .'- **N**: Disabled.', 'type' => 'string', 'example' => 'N', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC1AB3F5-22A2-589F-ABDD-B766694AA671\\",\\n \\"Scenes\\": [\\n {\\n \\"Status\\": 1,\\n \\"Modifier\\": \\"189884094677xxxx\\",\\n \\"UpdateTime\\": \\"1260051251634779\\",\\n \\"AppId\\": 0,\\n \\"CreateTime\\": \\"1260051251634779\\",\\n \\"SceneId\\": 0,\\n \\"SceneName\\": \\"测试场景\\",\\n \\"Creator\\": \\"189884094677xxxx\\",\\n \\"StoreImage\\": \\"Y\\",\\n \\"BindMiniProgram\\": \\"Y\\",\\n \\"Platform\\": \\"WECHAT\\",\\n \\"MiniProgramName\\": \\"测试APP\\",\\n \\"Domain\\": \\"www.ddos.com\\",\\n \\"ReturnPicCount\\": 1,\\n \\"ReturnVideoLength\\": 1,\\n \\"DeviceRiskPlus\\": \\"N\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query financial-grade authentication scenarios', + 'description' => 'Request method: Supports HTTPS POST and GET methods.'."\n" + ."\n" + .'> The authorization key is valid for 30 minutes and cannot be reused. Obtain a new key before each activation.', + 'changeSet' => [ + ['createdAt' => '2025-12-12T06:45:03.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-10-17T08:48:54.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0D******\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n \\\\\\"engineNo\\\\\\": \\\\\\"F0******\\\\\\",\\\\n \\\\\\"useProperty\\\\\\": 0,\\\\n \\\\\\"registrationDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n \\\\\\"engineType\\\\\\": \\\\\\"B******\\\\\\",\\\\n \\\\\\"vin\\\\\\": \\\\\\"A********\\\\\\",\\\\n \\\\\\"state\\\\\\": \\\\\\"0\\\\\\",\\\\n \\\\\\"modelNo\\\\\\": \\\\\\"B********\\\\\\",\\\\n \\\\\\"type\\\\\\": \\\\\\"小型轿车\\\\\\",\\\\n \\\\\\"brand\\\\\\": \\\\\\"宝马\\\\\\",\\\\n \\\\\\"usePropertyDesc\\\\\\": \\\\\\"非营运\\\\\\",\\\\n \\\\\\"stateDesc\\\\\\": \\\\\\"正常\\\\\\"\\\\n }\\"\\n }\\n}","type":"json"}]', - 'title' => 'Five-Item Vehicle Information Recognition', - 'description' => 'Query basic vehicle information through the license plate number and vehicle type.', - 'requestParamsDescription' => 'ParamType and VehicleNum are required parameters.', - 'translator' => 'machine', - ], - 'VehicleQuery' => [ - 'summary' => 'Vehicle Information Recognition', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeListAntCloudAuthScenes'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeListAntCloudAuthScenes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeListFaceVerifyData' => [ + 'summary' => 'Queries the list of facial recognition data.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '232984', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthA9Y5H0', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '59119', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], ], 'parameters' => [ [ - 'name' => 'ParamType', + 'name' => 'GmtStart', 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- **normal**: Unencrypted.'."\n" - .'- **md5**: MD5 encrypted.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'normal' => '不加密', - 'md5' => 'md5加密', - ], - 'example' => 'normal', - ], + 'schema' => ['description' => 'The query start time.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1760025600000', 'title' => ''], ], [ - 'name' => 'VehicleType', + 'name' => 'GmtEnd', 'in' => 'query', - 'schema' => [ - 'description' => 'Vehicle type', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 52 => '新能源小客车', - '02' => '普通小客车', - ], - 'example' => '02', - ], + 'schema' => ['description' => 'The query end time.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1760630399999', 'title' => ''], ], [ - 'name' => 'VehicleNum', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'License plate number'."\n" - ."\n" - .'> '."\n" - .'> - When paramType is set to normal, enter the plain text.'."\n" - .'> - When paramType is set to md5, enter the unencrypted part of the license plate number except for the last two characters + the MD5 (32 lowercase) encryption of the last two characters of the license plate.', - 'type' => 'string', - 'required' => false, - 'example' => '陕A9****'."\n", - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000000339', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The product code. This parameter is deprecated.', 'type' => 'string', 'required' => false, 'example' => 'Liveness', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83*******', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure', - 'type' => 'string', - 'example' => '200', - ], - 'ResultObject' => [ - 'description' => 'Request result', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EBD373EA-07FC-50BC-906F-B8950B6ED462', 'title' => ''], + 'MonitorData' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - ."\n" - .'> '."\n" - .'> - 1: Found (charged)'."\n" - .'> - 3: No record found (not charged)', - 'type' => 'string', - 'example' => '1', - ], - 'VehicleInfo' => [ - 'description' => 'Vehicle information.', - 'type' => 'string', - 'example' => '{'."\n" - .' "approvedCount": 7,'."\n" - .' "approvedLoad": 0,'."\n" - .' "axleCount": 2,'."\n" - .' "backWheelDistance": 1585,'."\n" - .' "brand": "雷克萨斯",'."\n" - .' "compulsoryScrapTo": "****-**-** **:**:**",'."\n" - .' "displacement": 4608,'."\n" - .' "engineNo": "1UR0******",'."\n" - .' "engineType": "1**",'."\n" - .' "frontWheelDistance": 1585,'."\n" - .' "fuelType": "汽油",'."\n" - .' "high": 1860,'."\n" - .' "inspectionResultEffectiveTo": "****-**-** **:**:**",'."\n" - .' "modelNo": "UR*****-******",'."\n" - .' "power": 228,'."\n" - .' "registrationDate": "****-**-** **:**:**",'."\n" - .' "releaseDate": "",'."\n" - .' "state": "0",'."\n" - .' "stateDesc": "正常",'."\n" - .' "totalMass": 2940,'."\n" - .' "unladenMass": 2350,'."\n" - .' "useProperty": 0,'."\n" - .' "usePropertyDesc": "非营运",'."\n" - .' "long": 4890,'."\n" - .' "vin": "A***********",'."\n" - .' "wheelBase": 2790,'."\n" - .' "wide": 1910'."\n" - .'}'."\n", + 'FaceVerifyData' => [ + 'description' => 'The facial recognition data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TotalCnt' => ['description' => 'The total number of authentication requests.', 'type' => 'string', 'example' => '18', 'title' => ''], + 'FailCnt' => ['description' => 'The number of authentication-failed transactions.', 'type' => 'string', 'example' => '6', 'title' => ''], + 'SuccCnt' => ['description' => 'The number of authentication-passed transactions.', 'type' => 'string', 'example' => '12', 'title' => ''], + 'SceneId' => ['description' => 'The scene ID.', 'type' => 'string', 'example' => '1000011644', 'title' => ''], + 'Name' => ['description' => 'The authentication solution.', 'type' => 'string', 'example' => 'Liveness', 'title' => ''], + 'ConDate' => ['description' => 'The authentication statistics time.', 'type' => 'string', 'example' => '2025-10-16T00:00:00.000Z', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83*******\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n\\\\t\\\\\\"approvedCount\\\\\\": 7,\\\\n\\\\t\\\\\\"approvedLoad\\\\\\": 0,\\\\n\\\\t\\\\\\"axleCount\\\\\\": 2,\\\\n\\\\t\\\\\\"backWheelDistance\\\\\\": 1585,\\\\n\\\\t\\\\\\"brand\\\\\\": \\\\\\"雷克萨斯\\\\\\",\\\\n\\\\t\\\\\\"compulsoryScrapTo\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"displacement\\\\\\": 4608,\\\\n\\\\t\\\\\\"engineNo\\\\\\": \\\\\\"1UR0******\\\\\\",\\\\n\\\\t\\\\\\"engineType\\\\\\": \\\\\\"1**\\\\\\",\\\\n\\\\t\\\\\\"frontWheelDistance\\\\\\": 1585,\\\\n\\\\t\\\\\\"fuelType\\\\\\": \\\\\\"汽油\\\\\\",\\\\n\\\\t\\\\\\"high\\\\\\": 1860,\\\\n\\\\t\\\\\\"inspectionResultEffectiveTo\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"modelNo\\\\\\": \\\\\\"UR*****-******\\\\\\",\\\\n\\\\t\\\\\\"power\\\\\\": 228,\\\\n\\\\t\\\\\\"registrationDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"releaseDate\\\\\\": \\\\\\"\\\\\\",\\\\n\\\\t\\\\\\"state\\\\\\": \\\\\\"0\\\\\\",\\\\n\\\\t\\\\\\"stateDesc\\\\\\": \\\\\\"正常\\\\\\",\\\\n\\\\t\\\\\\"totalMass\\\\\\": 2940,\\\\n\\\\t\\\\\\"unladenMass\\\\\\": 2350,\\\\n\\\\t\\\\\\"useProperty\\\\\\": 0,\\\\n\\\\t\\\\\\"usePropertyDesc\\\\\\": \\\\\\"非营运\\\\\\",\\\\n\\\\t\\\\\\"long\\\\\\": 4890,\\\\n\\\\t\\\\\\"vin\\\\\\": \\\\\\"A***********\\\\\\",\\\\n\\\\t\\\\\\"wheelBase\\\\\\": 2790,\\\\n\\\\t\\\\\\"wide\\\\\\": 1910\\\\n}\\\\n\\"\\n }\\n}","type":"json"}]', - 'title' => 'Vehicle Information Recognition', - 'description' => 'Query detailed vehicle information through the license plate number and vehicle type.', - 'requestParamsDescription' => 'ParamType and VehicleNum are required fields.', - 'translator' => 'machine', - ], - 'VehicleInsureQuery' => [ - 'summary' => 'Vehicle Insurance Date Inquiry', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EBD373EA-07FC-50BC-906F-B8950B6ED462\\",\\n \\"MonitorData\\": {\\n \\"FaceVerifyData\\": [\\n {\\n \\"TotalCnt\\": \\"18\\",\\n \\"FailCnt\\": \\"6\\",\\n \\"SuccCnt\\": \\"12\\",\\n \\"SceneId\\": \\"1000011644\\",\\n \\"Name\\": \\"Liveness\\",\\n \\"ConDate\\": \\"2025-10-16T00:00:00.000Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query facial recognition data', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeListFaceVerifyData'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeListFaceVerifyData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeListFaceVerifyInfos' => [ + 'summary' => 'Retrieves facial recognition authentication records (legacy).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '232986', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthA9Y5H0', - ], + 'abilityTreeCode' => '59120', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], 'parameters' => [ [ - 'name' => 'ParamType', + 'name' => 'GmtStart', 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- **normal**: Unencrypted.'."\n" - .'- **md5**: MD5 encrypted.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'normal' => '不加密', - 'md5' => 'md5加密', - ], - 'example' => 'normal', - ], + 'schema' => ['description' => 'The start time of the authentication query.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1760112000000', 'title' => ''], ], [ - 'name' => 'VehicleType', + 'name' => 'GmtEnd', 'in' => 'query', - 'schema' => [ - 'description' => 'Driver\'s license vehicle type.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 52 => '新能源小客车', - '02' => '普通小客车', - ], - 'example' => '02', - ], + 'schema' => ['description' => 'The end time of the authentication query.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1760716800000', 'title' => ''], ], [ - 'name' => 'VehicleNum', + 'name' => 'CertifyId', 'in' => 'query', - 'schema' => [ - 'description' => 'License plate number'."\n" - .'> '."\n" - .'> - When `paramType` is set to `normal`, enter the plain text.'."\n" - .'> - When `paramType` is set to `md5`, enter the plain text of all but the last two characters of the license plate + the MD5 encryption (32 lowercase characters) of the last two characters of the license plate.', - 'type' => 'string', - 'required' => false, - 'example' => '陕A9****', - ], + 'schema' => ['description' => 'The authentication ID.', 'type' => 'string', 'required' => false, 'example' => 'shs414a8b392a3a338abe0504c75c056', 'title' => ''], ], [ - 'name' => 'Vin', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Vehicle identification code, i.e., the vehicle VIN'."\n" - ."\n\n" - .'> '."\n" - .'> - When `paramType` is set to `normal`, enter the plain text.'."\n" - .'> - When `paramType` is set to `md5`, enter the plain text of all but the last four characters of the VIN + the MD5 encryption (32 lowercase characters) of the last four characters of the VIN.', - 'type' => 'string', - 'required' => false, - 'example' => 'LB**************', - ], + 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The current page number for pagination.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The authentication status. Valid values:'."\n" + .'- **1**: Authentication passed.'."\n" + .'- **2**: Authentication failed.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SceneId', + 'in' => 'query', + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000009699', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F52********', - ], - 'Message' => [ - 'description' => 'Response message for the request information.', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates success, others indicate failure.', - 'type' => 'string', - 'example' => '200', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code:'."\n" - ."\n" - .'> '."\n" - .'> - 1: Found (charged)'."\n" - .'> - 3: No record found (not charged)', - 'type' => 'string', - 'example' => '1', - ], - 'VehicleInfo' => [ - 'description' => 'Insurance date information', - 'type' => 'string', - 'example' => '{'."\n" - .' "firstInsuranceDate": "****-**-**",'."\n" - .' "lastInsuranceDate": "****-**",'."\n" - .' "latestInsuranceDate": "****-**",'."\n" - .' "latestInsuranceDateStart": "****-**"'."\n" - .' }', - ], + 'TotalPages' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'ItemsPerPage' => ['description' => 'The specified page number returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number for pagination.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1CC27D8E-24BF-5056-B14E-9F26719C9A8D', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of authentication records.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'FaceVerifyInfos' => [ + 'description' => 'The list of facial recognition authentication records.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The authentication status. Valid values:'."\n" + .'- **1**: Authentication passed.'."\n" + .'- **2**: Authentication failed.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'BizCode' => ['description' => 'The business code.', 'type' => 'string', 'example' => 'CLOUD_FACE', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time of the facial recognition record.', 'type' => 'string', 'example' => '2022-10-02T11:16:06Z', 'title' => ''], + 'CertName' => ['description' => 'The name.', 'type' => 'string', 'example' => '赵四', 'title' => ''], + 'CertNo' => ['description' => 'The certificate number.', 'type' => 'string', 'example' => '500382199805086199', 'title' => ''], + 'CertifyId' => ['description' => 'The certificate ID.', 'type' => 'string', 'example' => 'sha8ff58e964152c4c4d21005fb98ecb', 'title' => ''], + 'SceneId' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000010145', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F52********\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n \\\\\\"firstInsuranceDate\\\\\\": \\\\\\"****-**-**\\\\\\",\\\\n \\\\\\"lastInsuranceDate\\\\\\": \\\\\\"****-**\\\\\\",\\\\n \\\\\\"latestInsuranceDate\\\\\\": \\\\\\"****-**\\\\\\",\\\\n \\\\\\"latestInsuranceDateStart\\\\\\": \\\\\\"****-**\\\\\\"\\\\n }\\"\\n }\\n}","type":"json"}]', - 'title' => 'Vehicle Insurance Date Inquiry', - 'description' => 'Query the vehicle insurance date through the license plate number, vehicle type, and vehicle identification number (VIN).', - 'requestParamsDescription' => 'ParamType and Vin are required fields.', - 'responseParamsDescription' => 'None', - 'translator' => 'machine', - ], - 'VerifyMaterial' => [ - 'summary' => 'Call VerifyMaterial, in a pure server-side access authentication solution, input name, ID number, portrait photo, and front and back photos of the ID card (optional) for real-person authentication, and return the authentication result synchronously.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalPages\\": 3,\\n \\"ItemsPerPage\\": 20,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"1CC27D8E-24BF-5056-B14E-9F26719C9A8D\\",\\n \\"TotalCount\\": 0,\\n \\"FaceVerifyInfos\\": [\\n {\\n \\"Status\\": 2,\\n \\"BizCode\\": \\"CLOUD_FACE\\",\\n \\"CreateTime\\": \\"2022-10-02T11:16:06Z\\",\\n \\"CertName\\": \\"赵四\\",\\n \\"CertNo\\": \\"500382199805086199\\",\\n \\"CertifyId\\": \\"sha8ff58e964152c4c4d21005fb98ecb\\",\\n \\"SceneId\\": 1000010145\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Retrieve facial recognition authentication information', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeListFaceVerifyInfos'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeListFaceVerifyInfos', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeMetaSearchPageList' => [ + 'summary' => 'Queries information verification details by paging.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '59176', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHOSIED', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '103364', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'IdCardBackImageUrl', + 'name' => 'Api', 'in' => 'query', - 'schema' => [ - 'description' => 'HTTP or HTTPS link to the national emblem side of the ID card.', - 'type' => 'string', - 'required' => false, - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg', - ], + 'schema' => ['description' => 'The product API. Valid values:'."\n" + .'- **ID_CARD_2_META**: ID card two-element verification'."\n" + .'- **ID_PERIOD**: ID card validity period verification'."\n" + .'- **MOBILE_ONLINE_LENGTH**: mobile number online duration'."\n" + .'- **MOBILE_ONLINE_STATUS**: mobile number online status'."\n" + .'- **MOBILE_3_META_SIMPLE**: mobile number three-element verification (simple edition)'."\n" + .'- **MOBILE_3_META**: mobile number three-element verification (detailed edition)'."\n" + .'- **MOBILE_2_META**: mobile number two-element verification'."\n" + .'- **BANK_CARD_N_META**: bank card verification (detailed edition)'."\n" + .'- **MOBILE_DETECT**: phone number detection '."\n" + .'- **VEHICLE_N_META**: vehicle element verification (enhanced edition)'."\n" + .'- **VEHICLE_PENTA_INFO**: vehicle five-element information recognition'."\n" + .'- **VEHICLE_LICENSE_INFO**: vehicle information recognition'."\n" + .'- **VEHICLE_INSURE_DATE**: vehicle insurance date query'."\n" + .'- **VEHICLE_CHECK**: vehicle element verification.', 'type' => 'string', 'required' => true, 'example' => 'ID_CARD_2_META', 'title' => ''], ], [ - 'name' => 'FaceImageUrl', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'HTTP or HTTPS link to the frontal face image.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg', - ], + 'schema' => ['description' => 'The start time of the query. The value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1760198400000', 'title' => ''], ], [ - 'name' => 'BizType', + 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Identifier for the business scenario using the real-person authentication service. Please refer to [Business Setup](~~127885~~) and complete the creation in the console first.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'RPMinTest', - ], + 'schema' => ['description' => 'The end time of the query. The value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1739926800000', 'title' => ''], ], [ - 'name' => 'BizId', + 'name' => 'BizCode', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique ID that identifies a single authentication task, not exceeding 64 characters. For a single authentication task, the system supports unlimited submissions until the final authentication is passed and the task is completed.'."\n" - ."\n" - .'> Different BizIds are required for different authentication tasks.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '39ecf51e-2f81-4dc5-90ee-ff86125b****', - ], + 'schema' => ['description' => 'The verification status. Valid values:'."\n" + .'- **1**: Verification passed.'."\n" + .'- **2**: Verification failed.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'SubCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Name.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '张三', - ], + 'schema' => ['description' => 'The result code. For more information, see [official documentation](https://www.alibabacloud.com/help/en/id-verification/information-verification/).', 'type' => 'string', 'required' => false, 'example' => '205', 'title' => ''], ], [ - 'name' => 'IdCardNumber', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '02343218901123****', - ], + 'schema' => ['description' => 'The request ID.', 'type' => 'string', 'required' => false, 'example' => 'B012DB99-6C10-5740-81E0-B3A8C1C1B9C1', 'title' => ''], ], [ - 'name' => 'IdCardFrontImageUrl', + 'name' => 'IdentifyNum', 'in' => 'query', - 'schema' => [ - 'description' => 'HTTP or HTTPS link to the portrait side of the ID card image.', - 'type' => 'string', - 'required' => false, - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg', - ], + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => false, 'example' => '522132197411184XXX', 'title' => ''], ], [ - 'name' => 'UserId', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the end user, such as the account ID of the end user.', - 'type' => 'string', - 'required' => false, - 'example' => '54sdj', - ], + 'schema' => ['description' => 'The name.', 'type' => 'string', 'required' => false, 'example' => '张三', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'VehicleNum', + 'in' => 'query', + 'schema' => ['description' => 'The license plate number.', 'type' => 'string', 'required' => false, 'example' => '陕A9****', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The mobile phone number.', 'type' => 'string', 'required' => false, 'example' => '19127612221', 'title' => ''], + ], + [ + 'name' => 'BankCard', + 'in' => 'query', + 'schema' => ['description' => 'The bank card number.', 'type' => 'string', 'required' => false, 'example' => '610*************1181', 'title' => ''], + ], + [ + 'name' => 'IspName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the telecommunications service provider. Valid values:'."\n" + .'- **CMCC**: China Mobile'."\n" + .'- **CUCC**: China Unicom'."\n" + .'- **CTCC**: China Telecom.', 'type' => 'string', 'required' => false, 'example' => 'CTCC', 'title' => ''], ], ], 'responses' => [ @@ -7036,392 +4475,374 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AuthorityComparisionScore' => [ - 'description' => 'Comparison score between the facial photo submitted during the authentication process and authoritative data, with a range of **0**~**100**.'."\n" - ."\n" - .'Confidence threshold references:'."\n" - .'- False recognition rate 0.001% corresponds to a threshold of 95.'."\n" - .'- False recognition rate 0.01% corresponds to a threshold of 90.'."\n" - .'- False recognition rate 0.1% corresponds to a threshold of 80.'."\n" - .'- False recognition rate 1% corresponds to a threshold of 60.'."\n" - ."\n" - .'> This field only indicates the comparison result between the face and authoritative data, serving as a reference score. It is generally not recommended to use this score alone as the pass/fail criterion. For the comprehensive authentication result, please refer to the **VerifyStatus** field. The **VerifyStatus** result integrates the face-to-authoritative data comparison and other various strategies, enhancing security levels.', - 'type' => 'number', - 'format' => 'float', - 'example' => '97', - ], - 'VerifyStatus' => [ - 'description' => 'Authentication status. Values:'."\n" - ."\n" - .'- **1**: Authentication passed.'."\n" - .'- **2**~**n**: Authentication failed due to various reasons. For detailed descriptions, see the **Authentication Status Explanation** below.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'VerifyToken' => [ - 'description' => 'Token for this authentication, used to link various interfaces in the authentication request, valid for 30 minutes.', - 'type' => 'string', - 'example' => 'c302c0797679457685410ee51a5ba375', - ], - 'IdCardFaceComparisonScore' => [ - 'description' => 'Comparison score between the facial photo submitted during the authentication process and the face on the portrait side of the ID card image, with a range of **0**~**100**.'."\n" - ."\n" - .'Confidence threshold references:'."\n" - .'- False recognition rate 0.001% corresponds to a threshold of 95.'."\n" - .'- False recognition rate 0.01% corresponds to a threshold of 90.'."\n" - .'- False recognition rate 0.1% corresponds to a threshold of 80.'."\n" - .'- False recognition rate 1% corresponds to a threshold of 60.', - 'type' => 'number', - 'format' => 'float', - 'example' => '97', - ], - 'Material' => [ - 'description' => 'Authentication materials.', - 'type' => 'object', - 'properties' => [ - 'IdCardNumber' => [ - 'description' => 'ID number, corresponding to the request parameter **IdCardNumber**.', - 'type' => 'string', - 'example' => '02343218901123****', - ], - 'FaceGlobalUrl' => [ - 'description' => 'Global camera image captured by the real-person authentication SDK.'."\n" - ."\n" - .'> This parameter will take effect after configuration. If you need to use this parameter, please submit a [ticket](https://selfservice.console.aliyun.com/ticket/category/cloudauth/today) to contact us.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg ', - ], - 'FaceImageUrl' => [ - 'description' => 'HTTP or HTTPS link to the frontal face image, corresponding to the request parameter **FaceImageUrl**. The link is valid for 5 minutes, and it is recommended to store it in your business to avoid affecting usage.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg', - ], - 'FaceMask' => [ - 'description' => 'Whether the face is wearing a mask. Values:'."\n" - .'- **true**: Wearing a mask'."\n" - .'- **false**: Not wearing a mask', - 'type' => 'string', - 'example' => 'false', - ], - 'IdCardName' => [ - 'description' => 'Name, corresponding to the request parameter **Name**.', - 'type' => 'string', - 'example' => '张三', - ], - 'FaceQuality' => [ - 'description' => 'The quality of the frontal face image. Possible values:'."\n" - .'- **UNQUALIFIED**: Poor quality'."\n" - .'- **LOW**: Low'."\n" - .'- **NORMAL**: Average'."\n" - .'- **HIGH**: High', - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'IdCardInfo' => [ - 'description' => 'OCR result of the ID card information.'."\n" - ."\n" - .'> If there is no front or back of the ID card during the verification process, the OCR result of the ID card information will not be returned. Even if the front and back of the ID card are present during the verification process, it does not guarantee that all the information on the ID card will be returned. Due to issues such as poor ID card photography, the OCR may fail to recognize some information, leading to incomplete OCR results. It is recommended that the business side does not heavily rely on the ID card OCR information.', - 'type' => 'object', - 'properties' => [ - 'EndDate' => [ - 'description' => 'End date of the document\'s validity period. Format: yyyymmdd.', - 'type' => 'string', - 'example' => '20201101', - ], - 'Authority' => [ - 'description' => 'Issuing authority.', - 'type' => 'string', - 'example' => '杭州市公安局', - ], - 'Address' => [ - 'description' => 'Address.', - 'type' => 'string', - 'example' => '浙江省杭州市余杭区文一西路969号', - ], - 'Number' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'example' => '02343218901123****', - ], - 'StartDate' => [ - 'description' => 'Start date of the document\'s validity period. Format: yyyymmdd.', - 'type' => 'string', - 'example' => '20201101', - ], - 'BackImageUrl' => [ - 'description' => 'HTTP or HTTPS link to the national emblem side of the ID card. The link is valid for 5 minutes. It is recommended to store it in your business system to avoid any impact on usage.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg', - ], - 'Nationality' => [ - 'description' => 'Nationality.', - 'type' => 'string', - 'example' => '汉', - ], - 'Birth' => [ - 'description' => 'Date of birth.', - 'type' => 'string', - 'example' => '19900101', - ], - 'Name' => [ - 'description' => 'Name.', - 'type' => 'string', - 'example' => '张三', + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of this request.', 'type' => 'string', 'example' => '5176EB42-6EE7-510B-9388-35018DF3175B', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Items' => [ + 'description' => 'The paginated list data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IdentifyNum' => ['description' => 'The ID card number.', 'type' => 'string', 'example' => '4****************X', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B0102BEF-4411-57C3-860D-CFE7DE0A64C0', 'title' => ''], + 'Api' => ['description' => 'The product API. Valid values:'."\n" + .'- **ID_CARD_2_META**: ID card two-element verification'."\n" + .'- **ID_PERIOD**: ID card validity period verification'."\n" + .'- **MOBILE_ONLINE_LENGTH**: mobile number online duration'."\n" + .'- **MOBILE_ONLINE_STATUS**: mobile number online status'."\n" + .'- **MOBILE_3_META_SIMPLE**: mobile number three-element verification (simple edition)'."\n" + .'- **MOBILE_3_META**: mobile number three-element verification (detailed edition)'."\n" + .'- **MOBILE_2_META**: mobile number two-element verification'."\n" + .'- **BANK_CARD_N_META**: bank card verification (detailed edition)'."\n" + .'- **MOBILE_DETECT**: phone number detection '."\n" + .'- **VEHICLE_N_META**: vehicle element verification (enhanced edition)'."\n" + .'- **VEHICLE_PENTA_INFO**: vehicle five-element information recognition'."\n" + .'- **VEHICLE_LICENSE_INFO**: vehicle information recognition'."\n" + .'- **VEHICLE_INSURE_DATE**: vehicle insurance date query'."\n" + .'- **VEHICLE_CHECK**: vehicle element verification.', 'type' => 'string', 'example' => 'ID_CARD_2_META', 'title' => ''], + 'BizCode' => ['description' => 'The verification status. Valid values:'."\n" + .'- **1**: Verification passed.'."\n" + .'- **2**: Verification failed.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Date' => ['description' => 'The verification date.', 'type' => 'string', 'example' => '2025-10-17 10:00:11', 'title' => ''], + 'SubCode' => ['description' => 'The result code. For more information, see [official documentation](https://www.alibabacloud.com/help/en/id-verification/information-verification/).', 'type' => 'string', 'example' => '207', 'title' => ''], + 'UserName' => ['description' => 'The name.', 'type' => 'string', 'example' => '**豪', 'title' => ''], + 'ApiName' => ['description' => 'The name corresponding to the API. Valid values:'."\n" + .'- **ID_CARD_2_META**: ID card two-element verification'."\n" + .'- **ID_PERIOD**: ID card validity period verification'."\n" + .'- **MOBILE_ONLINE_LENGTH**: mobile number online duration'."\n" + .'- **MOBILE_ONLINE_STATUS**: mobile number online status'."\n" + .'- **MOBILE_3_META_SIMPLE**: mobile number three-element verification (simple edition)'."\n" + .'- **MOBILE_3_META**: mobile number three-element verification (detailed edition)'."\n" + .'- **MOBILE_2_META**: mobile number two-element verification'."\n" + .'- **BANK_CARD_N_META**: bank card verification (detailed edition)'."\n" + .'- **MOBILE_DETECT**: phone number detection '."\n" + .'- **VEHICLE_N_META**: vehicle element verification (enhanced edition)'."\n" + .'- **VEHICLE_PENTA_INFO**: vehicle five-element information recognition'."\n" + .'- **VEHICLE_LICENSE_INFO**: vehicle information recognition'."\n" + .'- **VEHICLE_INSURE_DATE**: vehicle insurance date query'."\n" + .'- **VEHICLE_CHECK**: vehicle element verification.', 'type' => 'string', 'example' => '身份证二要素', 'title' => ''], + 'Request' => [ + 'description' => 'The request parameters.', + 'type' => 'object', + 'properties' => [ + 'VehicleNum' => ['description' => 'The vehicle number.', 'type' => 'string', 'example' => '浙J3H91H', 'title' => ''], + 'VehicleType' => ['description' => 'The vehicle type. Valid values:'."\n" + .'- **01**: large vehicle '."\n" + .'- **02**: small vehicle '."\n" + .'- **03**: embassy vehicle '."\n" + .'- **04**: consulate vehicle '."\n" + .'- **05**: overseas vehicle '."\n" + .'- **06**: foreign vehicle '."\n" + .'- **07**: standard motorcycle '."\n" + .'- **08**: light motorcycle '."\n" + .'- **09**: embassy motorcycle '."\n" + .'- **10**: consulate motorcycle '."\n" + .'- **11**: overseas motorcycle '."\n" + .'- **12**: foreign motorcycle '."\n" + .'- **13**: low-speed vehicle '."\n" + .'- **14**: tractor '."\n" + .'- **15**: trailer '."\n" + .'- **16**: training vehicle '."\n" + .'- **17**: training motorcycle '."\n" + .'- **20**: temporary entry vehicle '."\n" + .'- **21**: temporary entry motorcycle '."\n" + .'- **22**: temporary driving vehicle '."\n" + .'- **23**: police vehicle '."\n" + .'- **24**: police motorcycle '."\n" + .'- **51**: new energy large vehicle '."\n" + .'- **52**: new energy small vehicle.', 'type' => 'string', 'example' => '52', 'title' => ''], + 'VehicleTypeName' => ['description' => 'The vehicle type name.', 'type' => 'string', 'example' => '新能源小型车', 'title' => ''], ], - 'FrontImageUrl' => [ - 'description' => 'HTTP or HTTPS link to the portrait side of the ID card. The link is valid for 5 minutes. It is recommended to store it in your business system to avoid any impact on usage.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg', + 'title' => '', + 'example' => '', + ], + 'Response' => [ + 'description' => 'The response content.', + 'type' => 'object', + 'properties' => [ + 'Data' => [ + 'description' => 'The response data.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification status. Valid values:'."\n" + .'- **1**: Verification passed.'."\n" + .'- **2**: Verification failed.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'Vin' => ['description' => 'The vehicle identification number (VIN).', 'type' => 'string', 'example' => 'LDC643T44G3667219', 'title' => ''], + 'ModelNum' => ['description' => 'The vehicle model number.', 'type' => 'string', 'example' => 'HQ7002BEV67', 'title' => ''], + 'EngineNum' => ['description' => 'The engine number.', 'type' => 'string', 'example' => 'N7YJ113PA', 'title' => ''], + 'Type' => ['description' => 'The vehicle type.', 'type' => 'string', 'example' => '小型轿车', 'title' => ''], + 'Color' => ['description' => 'The body color.', 'type' => 'string', 'example' => '白', 'title' => ''], + 'UseProperty' => ['description' => 'The usage property.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'RegistrationDate' => ['description' => 'The initial registration date.', 'type' => 'string', 'example' => '2015-08-24 00:00:00', 'title' => ''], + 'InspectionDate' => ['description' => 'The inspection validity expiration date.', 'type' => 'string', 'example' => '2026-07-31 00:00:00', 'title' => ''], + 'RetirementDate' => ['description' => 'The mandatory retirement date.', 'type' => 'string', 'example' => '2099-12-31 00:00:00', 'title' => ''], + 'VehicleState' => ['description' => 'The motor vehicle status.', 'type' => 'string', 'example' => '正常', 'title' => ''], + 'EngineType' => ['description' => 'The engine model.', 'type' => 'string', 'example' => 'CA6GV30TD', 'title' => ''], + 'FuelType' => ['description' => 'The fuel type.', 'type' => 'string', 'example' => '电', 'title' => ''], + 'Displacement' => ['description' => 'The displacement.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Power' => ['description' => 'The power.', 'type' => 'string', 'example' => '120', 'title' => ''], + 'AxleCount' => ['description' => 'The number of axles.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'WheelBase' => ['description' => 'The wheelbase.', 'type' => 'string', 'example' => '2750', 'title' => ''], + 'FrontWheelDistance' => ['description' => 'The front wheel track.', 'type' => 'string', 'example' => '1630', 'title' => ''], + 'BackWheelDistance' => ['description' => 'The rear wheel track.', 'type' => 'string', 'example' => '1630', 'title' => ''], + 'TotalMass' => ['description' => 'The gross mass.', 'type' => 'string', 'example' => '2350', 'title' => ''], + 'UnladenMass' => ['description' => 'The curb weight.', 'type' => 'string', 'example' => '1900', 'title' => ''], + 'ApprovedLoad' => ['description' => 'The approved passenger capacity.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'ApprovedCount' => ['description' => 'The approved number of passengers.', 'type' => 'string', 'example' => '5', 'title' => ''], + 'ReleaseDate' => ['description' => 'The manufacturing date.', 'type' => 'string', 'example' => '2022-08-13 00:00:00', 'title' => ''], + 'Brand' => ['description' => 'The brand name.', 'type' => 'string', 'example' => '奔驰', 'title' => ''], + 'BankCard' => ['description' => 'The bank card number.', 'type' => 'string', 'example' => '622848001714440xxxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The HTTP return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The message.', 'type' => 'string', 'example' => 'success', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], + 'VehicleNum' => ['description' => 'The vehicle number.', 'type' => 'string', 'example' => '浙J3H91H', 'title' => ''], + 'RequestJson' => ['description' => 'The HTTP request parameters.', 'type' => 'string', 'example' => '{\\"productCode\\":\\"cloudauth_infoverify_public_cn\\",\\"identifyNum\\":\\"4****************X\\",\\"userName\\":\\"**豪\\",\\"userId\\":\\"12600512516xxxxx\\"}', 'title' => ''], + 'ResponseJson' => ['description' => 'The response content.', 'type' => 'string', 'example' => '{\\"code\\":\\"200\\",\\"data\\":{\\"bizCode\\":\\"1\\",\\"ispName\\":\\"CMCC\\",\\"subCode\\":\\"101\\"},\\"message\\":\\"调用成功\\"}', 'title' => ''], + 'Mobile' => ['description' => 'The mobile phone number.', 'type' => 'string', 'example' => '1500000xxxx', 'title' => ''], + 'BankCard' => ['description' => 'The bank card ID.', 'type' => 'string', 'example' => '6214837145546986', 'title' => ''], + 'IspName' => ['description' => 'The name of the telecommunications service provider. Valid values:'."\n" + .'- **CMCC**: China Mobile'."\n" + .'- **CUCC**: China Unicom'."\n" + .'- **CTCC**: China Telecom.', 'type' => 'string', 'example' => 'CUCC', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParam.MaterialsNotValid', - 'errorMessage' => 'The param materials is not valid.', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"TotalPage\\": 0,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"5176EB42-6EE7-510B-9388-35018DF3175B\\",\\n \\"TotalCount\\": 0,\\n \\"Items\\": [\\n {\\n \\"IdentifyNum\\": \\"4****************X\\",\\n \\"RequestId\\": \\"B0102BEF-4411-57C3-860D-CFE7DE0A64C0\\",\\n \\"Api\\": \\"ID_CARD_2_META\\",\\n \\"BizCode\\": \\"1\\",\\n \\"Date\\": \\"2025-10-17 10:00:11\\",\\n \\"SubCode\\": \\"207\\",\\n \\"UserName\\": \\"**豪\\",\\n \\"ApiName\\": \\"身份证二要素\\",\\n \\"Request\\": {\\n \\"VehicleNum\\": \\"浙J3H91H\\",\\n \\"VehicleType\\": \\"52\\",\\n \\"VehicleTypeName\\": \\"新能源小型车\\"\\n },\\n \\"Response\\": {\\n \\"Data\\": {\\n \\"BizCode\\": \\"2\\",\\n \\"Vin\\": \\"LDC643T44G3667219\\",\\n \\"ModelNum\\": \\"HQ7002BEV67\\",\\n \\"EngineNum\\": \\"N7YJ113PA\\",\\n \\"Type\\": \\"小型轿车\\",\\n \\"Color\\": \\"白\\",\\n \\"UseProperty\\": \\"0\\",\\n \\"RegistrationDate\\": \\"2015-08-24 00:00:00\\",\\n \\"InspectionDate\\": \\"2026-07-31 00:00:00\\",\\n \\"RetirementDate\\": \\"2099-12-31 00:00:00\\",\\n \\"VehicleState\\": \\"正常\\",\\n \\"EngineType\\": \\"CA6GV30TD\\",\\n \\"FuelType\\": \\"电\\",\\n \\"Displacement\\": \\"0\\",\\n \\"Power\\": \\"120\\",\\n \\"AxleCount\\": \\"2\\",\\n \\"WheelBase\\": \\"2750\\",\\n \\"FrontWheelDistance\\": \\"1630\\",\\n \\"BackWheelDistance\\": \\"1630\\",\\n \\"TotalMass\\": \\"2350\\",\\n \\"UnladenMass\\": \\"1900\\",\\n \\"ApprovedLoad\\": \\"0\\",\\n \\"ApprovedCount\\": \\"5\\",\\n \\"ReleaseDate\\": \\"2022-08-13 00:00:00\\",\\n \\"Brand\\": \\"奔驰\\",\\n \\"BankCard\\": \\"622848001714440xxxx\\"\\n },\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\"\\n },\\n \\"VehicleNum\\": \\"浙J3H91H\\",\\n \\"RequestJson\\": \\"{\\\\\\\\\\\\\\"productCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cloudauth_infoverify_public_cn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"identifyNum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4****************X\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"userName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"**豪\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"userId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"12600512516xxxxx\\\\\\\\\\\\\\"}\\",\\n \\"ResponseJson\\": \\"{\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"200\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"bizCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ispName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CMCC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"subCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"101\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"调用成功\\\\\\\\\\\\\\"}\\",\\n \\"Mobile\\": \\"1500000xxxx\\",\\n \\"BankCard\\": \\"6214837145546986\\",\\n \\"IspName\\": \\"CUCC\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query information verification details by paging', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMetaSearchPageList'], ], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'Error.InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeMetaSearchPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AuthorityComparisionScore\\": 97,\\n \\"VerifyStatus\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"VerifyToken\\": \\"c302c0797679457685410ee51a5ba375\\",\\n \\"IdCardFaceComparisonScore\\": 97,\\n \\"Material\\": {\\n \\"IdCardNumber\\": \\"02343218901123****\\",\\n \\"FaceGlobalUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg \\",\\n \\"FaceImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg\\",\\n \\"FaceMask\\": \\"false\\",\\n \\"IdCardName\\": \\"张三\\",\\n \\"FaceQuality\\": \\"NORMAL\\",\\n \\"IdCardInfo\\": {\\n \\"EndDate\\": \\"20201101\\",\\n \\"Authority\\": \\"杭州市公安局\\",\\n \\"Address\\": \\"浙江省杭州市余杭区文一西路969号\\",\\n \\"Number\\": \\"02343218901123****\\",\\n \\"StartDate\\": \\"20201101\\",\\n \\"BackImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg\\",\\n \\"Nationality\\": \\"汉\\",\\n \\"Birth\\": \\"19900101\\",\\n \\"Name\\": \\"张三\\",\\n \\"FrontImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n\\t<VerifyMaterialResponse>\\r\\n\\t\\t<VerifyToken>c302c0797679457685410ee51a5ba375</VerifyToken>\\r\\n\\t\\t<VerifyStatus>1</VerifyStatus>\\r\\n\\t\\t<Material>\\r\\n\\t\\t\\t<FaceImageUrl>http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg</FaceImageUrl>\\r\\n\\t\\t\\t<FaceMask>false</FaceMask>\\r\\n\\t\\t\\t<FaceQuality>NORMAL</FaceQuality>\\r\\n\\t\\t\\t<IdCardName>张三</IdCardName>\\r\\n\\t\\t\\t<IdCardNumber>02343218901123****</IdCardNumber>\\r\\n\\t\\t\\t<IdCardInfo>\\r\\n\\t\\t\\t\\t<FrontImageUrl>http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg</FrontImageUrl>\\r\\n\\t\\t\\t\\t<BackImageUrl>http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg</BackImageUrl>\\r\\n\\t\\t\\t\\t<Name>张三</Name>\\r\\n\\t\\t\\t\\t<Number>02343218901123****</Number>\\r\\n\\t\\t\\t\\t<Birth>19900101</Birth>\\r\\n\\t\\t\\t\\t<Address>浙江省杭州市余杭区文一西路969号</Address>\\r\\n\\t\\t\\t\\t<StartDate>20101101</StartDate>\\r\\n\\t\\t\\t\\t<EndDate>20201101</EndDate>\\r\\n\\t\\t\\t\\t<Authority>杭州市公安局</Authority>\\r\\n\\t\\t\\t</IdCardInfo>\\r\\n\\t\\t</Material>\\r\\n\\t\\t<AuthorityComparisonScore>97</AuthorityComparisonScore>\\r\\n\\t</VerifyMaterialResponse>","errorExample":""}]', - 'title' => 'VerifyMaterial', - 'description' => 'Preparation for Access: When integrating this API, please ensure that the corresponding preparatory work has been completed. For details, please refer to [Server-side Access Preparation](~~127471~~).'."\n" - ."\n" - .'Request Method: HTTPS POST and GET.'."\n" - ."\n" - .'API Description: The server of the access party submits the authentication materials to the real-person authentication service for verification and comparison, with the results returned synchronously.'."\n" - ."\n" - .'Applicable Scope: This interface is only applicable to pure server-side access authentication solutions.'."\n" - ."\n" - .'Image Upload Address Explanation:'."\n" - ."\n" - .'- HTTP or HTTPS address: Supports publicly accessible HTTP or HTTPS addresses. For example, `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" - .'- OSS address: If the images from the access party are local files, Alibaba Cloud also provides an upload SDK, supporting the business party to upload the images to the specified OSS bucket of the real-person authentication service, and use the obtained OSS address as the image address parameter in the interface. If your business needs to use the upload SDK, please submit a [ticket](https://selfservice.console.aliyun.com/ticket/category/cloudauth/today) to contact us for acquisition.'."\n" - ."\n" - .'Image Limitations:'."\n" - ."\n" - .'- Does not support relative or absolute paths of local images.'."\n" - .'- Please keep the size of a single image within 2 MB to avoid algorithm retrieval timeout.'."\n" - .'- The face area in the image should be at least 64*64 pixels.'."\n" - .'- There is an 8 MB size limit for the Body of a single request. Please calculate the total size of all images and other information in the request, and do not exceed the limit.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => '**Authentication Status Explanation**'."\n" - ."\n" - .'|VerifyStatus|Reason Description |'."\n" - .'|--------------|--------------------------------------------------------------------------------------------------------------------------------------|'."\n" - .'| 1 | Authentication passed. |'."\n" - .'| 2 | Authentication failed, reason: real-name verification did not pass. |'."\n" - .'| 3 | Authentication failed, possible reasons: blurry ID photo, unrecognizable text due to lighting issues, inconsistency between ID photo information and the name on the ID to be verified, submitted photo is not an ID photo. |'."\n" - .'| 4 | Authentication failed, possible reasons: blurry ID photo, unrecognizable text due to lighting issues, inconsistency between ID photo information and the ID number on the ID to be verified, submitted photo is not an ID photo. |'."\n" - .'| 5 | Authentication failed, possible reason: the validity period on the ID photo has expired (or is about to expire). |'."\n" - .'| 6 | Authentication failed, possible reason: inconsistency between the face and the ID photo. |'."\n" - .'| 7 | Authentication failed, possible reason: inconsistency between the face and the police network photo. |'."\n" - .'| 8 | Authentication failed, possible reasons: the submitted ID photo is not the original ID photo, no valid ID photo was submitted. |'."\n" - .'| 9 | Authentication failed, possible reason: operation not performed by the account holder. |'."\n" - .'| 11| Authentication failed, possible reasons: missing police network photo, incorrect format of the police network photo, no face found in the police network photo. |'."\n" - .'| 12 | Authentication failed, possible reason: police network system anomaly, unable to perform photo comparison, etc. |', - 'extraInfo' => ' ', - 'translator' => 'machine', ], - 'DescribeVerifyToken' => [ - 'summary' => 'Call DescribeVerifyToken to initiate an authentication request and obtain an authentication Token. This interface is suitable for authentication solutions using SDK + server-side integration.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMetaStatisticsList' => [ + 'summary' => 'Queries statistics information for information verification and authentication.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '59156', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], + 'abilityTreeCode' => '103365', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'IdCardBackImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'HTTP or HTTPS link to the national emblem side of the ID card image.', - 'type' => 'string', - 'required' => false, - 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', - ], - ], - [ - 'name' => 'BizType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Identifier for the business scenario using the real person authentication service. Please refer to [Business Settings](~~127885~~) and complete the creation in the console first.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'RPBasicTest', - ], - ], - [ - 'name' => 'FailedRedirectUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'Redirect URL for failed verification.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], - ], - [ - 'name' => 'FaceRetainedImageUrl', + 'name' => 'Api', 'in' => 'query', - 'schema' => [ - 'description' => 'HTTP or HTTPS link to the retained portrait photo.', - 'type' => 'string', - 'required' => false, - 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', - ], + 'schema' => ['description' => 'The commodity code. Valid values:'."\n" + .'- **ID_CARD_2_META**: ID card two-element verification'."\n" + .'- **ID_PERIOD**: ID card validity period verification'."\n" + .'- **MOBILE_ONLINE_LENGTH**: mobile number online duration'."\n" + .'- **MOBILE_ONLINE_STATUS**: mobile number online status'."\n" + .'- **MOBILE_3_META_SIMPLE**: mobile number three-element verification (simple edition)'."\n" + .'- **MOBILE_3_META**: mobile number three-element verification (detailed edition)'."\n" + .'- **MOBILE_2_META**: mobile number two-element verification'."\n" + .'- **BANK_CARD_N_META**: bank card verification (detailed edition)'."\n" + .'- **MOBILE_DETECT**: phone number detection'."\n" + .'- **VEHICLE_N_META**: vehicle element verification (enhanced edition)'."\n" + .'- **VEHICLE_PENTA_INFO**: vehicle five-element information recognition'."\n" + .'- **VEHICLE_LICENSE_INFO**: vehicle information recognition'."\n" + .'- **VEHICLE_INSURE_DATE**: vehicle insurance date query'."\n" + .'- **VEHICLE_CHECK**: vehicle element verification.', 'type' => 'string', 'required' => true, 'example' => 'MOBILE_ONLINE_LENGTH', 'title' => ''], ], [ - 'name' => 'CallbackSeed', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Callback seed.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'The start time of the query. The value is a UNIX timestamp. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1760112000000', 'title' => ''], ], [ - 'name' => 'IdCardFrontImageUrl', + 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'HTTP or HTTPS link to the portrait side of the ID card image.', - 'type' => 'string', - 'required' => false, - 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', - ], + 'schema' => ['description' => 'The end time of the query. The value is a UNIX timestamp. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1750694399999', 'title' => ''], ], - [ - 'name' => 'UserId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'ID of the end user, such as the account ID of the end user.', - 'type' => 'string', - 'required' => false, - 'example' => 'user111', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3F860B3F-76B7-5555-A907-2F4433BF8868', 'title' => ''], + 'Items' => [ + 'description' => 'The list of statistics information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SuccessRate' => ['description' => 'The call success rate (%).', 'type' => 'string', 'example' => '100', 'title' => ''], + 'Api' => ['description' => 'The commodity (product) code.', 'type' => 'string', 'example' => 'MOBILE_ONLINE_LENGTH', 'title' => ''], + 'BillRate' => ['description' => 'The query hit rate (%).', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Date' => ['description' => 'The date.', 'type' => 'string', 'example' => '11/8', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''], + 'SuccessCount' => ['description' => 'The number of successful calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'NoRecordCount' => ['description' => 'The number of calls with no education information found.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'BillCount' => ['description' => 'The number of successful queries (billable).', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'UnpassedCount' => ['description' => 'The number of authentication-failed transactions.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'PassedRate' => ['description' => 'The authentication pass rate (%).', 'type' => 'string', 'example' => '20', 'title' => ''], + 'ApiName' => ['description' => 'The name corresponding to the API. Valid values:'."\n" + .'- **ID_CARD_2_META**: ID card two-element verification'."\n" + .'- **ID_PERIOD**: ID card validity period verification'."\n" + .'- **MOBILE_ONLINE_LENGTH**: mobile number online duration'."\n" + .'- **MOBILE_ONLINE_STATUS**: mobile number online status'."\n" + .'- **MOBILE_3_META_SIMPLE**: mobile number three-element verification (simple edition)'."\n" + .'- **MOBILE_3_META**: mobile number three-element verification (detailed edition)'."\n" + .'- **MOBILE_2_META**: mobile number two-element verification'."\n" + .'- **BANK_CARD_N_META**: bank card verification (detailed edition)'."\n" + .'- **MOBILE_DETECT**: phone number detection'."\n" + .'- **VEHICLE_N_META**: vehicle element verification (enhanced edition)'."\n" + .'- **VEHICLE_PENTA_INFO**: vehicle five-element information recognition'."\n" + .'- **VEHICLE_LICENSE_INFO**: vehicle information recognition'."\n" + .'- **VEHICLE_INSURE_DATE**: vehicle insurance date query'."\n" + .'- **VEHICLE_CHECK**: vehicle element verification.', 'type' => 'string', 'example' => '身份证二要素', 'title' => ''], + 'PassedCount' => ['description' => 'The number of authentication-passed transactions.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'IspName' => ['description' => 'The name of the telecommunications service provider. Valid values:'."\n" + .'- **CMCC**: China Mobile'."\n" + .'- **CUCC**: China Unicom'."\n" + .'- **CTCC**: China Telecom.', 'type' => 'string', 'example' => 'CUCC', 'title' => ''], + 'ChargeCount' => ['description' => 'The number of successful phone number queries (exclusive to phone number detection).', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'BizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Verification ID. A unique ID that identifies a verification task, not exceeding 64 characters. For a single verification task, the system supports unlimited submissions until the final verification is passed and the task is completed.'."\n" - ."\n" - .'> Different BizIds are required for different verification tasks.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '39ecf51e-2f81-4dc5-90ee-ff86125be683', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F860B3F-76B7-5555-A907-2F4433BF8868\\",\\n \\"Items\\": [\\n {\\n \\"SuccessRate\\": \\"100\\",\\n \\"Api\\": \\"MOBILE_ONLINE_LENGTH\\",\\n \\"BillRate\\": \\"0\\",\\n \\"Date\\": \\"11/8\\",\\n \\"TotalCount\\": 4,\\n \\"SuccessCount\\": 1,\\n \\"NoRecordCount\\": 0,\\n \\"BillCount\\": 0,\\n \\"UnpassedCount\\": 2,\\n \\"PassedRate\\": \\"20\\",\\n \\"ApiName\\": \\"身份证二要素\\",\\n \\"PassedCount\\": 9,\\n \\"IspName\\": \\"CUCC\\",\\n \\"ChargeCount\\": 0\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query information verification authentication statistics', + 'description' => '- Request method: HTTPS POST and GET methods are supported.'."\n" + .'- Service address: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMetaStatisticsList'], ], + ], + 'ramActions' => [ [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'Name.', - 'type' => 'string', - 'required' => false, - 'example' => '张三', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeMetaStatisticsList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeMetaStatisticsPageList' => [ + 'summary' => 'Queries information verification and authentication data with pagination.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'IdCardNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'ID card number.', - 'type' => 'string', - 'required' => false, - 'example' => '330100xxxxxxxxxxxx', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '103367', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'PassedRedirectUrl', + 'name' => 'Api', 'in' => 'query', - 'schema' => [ - 'description' => 'Redirect URL upon successful verification.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'Product API:'."\n" + .'- **ID_CARD_2_META**: ID Card Two-Element Verification'."\n" + .'- **ID_PERIOD**: ID Card Validity Verification Period'."\n" + .'- **MOBILE_ONLINE_LENGTH**: Mobile Online Duration'."\n" + .'- **MOBILE_ONLINE_STATUS**: Mobile Online Status'."\n" + .'- **MOBILE_3_META_SIMPLE**: Mobile Number Three-Element Verification (Simple)'."\n" + .'- **MOBILE_3_META**: Mobile Number Three-Element Verification (Detailed)'."\n" + .'- **MOBILE_2_META**: Mobile Number Two-Element Verification'."\n" + .'- **BANK_CARD_N_META**: Bank Card Verification (Detailed)'."\n" + .'- **MOBILE_DETECT**: Number Detection'."\n" + .'- **VEHICLE_N_META**: Vehicle Element Verification (Enhanced)'."\n" + .'- **VEHICLE_PENTA_INFO**: Vehicle Five-Element Information Recognition'."\n" + .'- **VEHICLE_LICENSE_INFO**: Vehicle Information Recognition'."\n" + .'- **VEHICLE_INSURE_DATE**: Vehicle Insurance Date Query'."\n" + .'- **VEHICLE_CHECK**: Vehicle Element Verification', 'type' => 'string', 'required' => true, 'example' => 'ID_PERIOD', 'title' => ''], ], [ - 'name' => 'CallbackUrl', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Callback URL.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'Query start time. The timestamp is in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1760112000000', 'title' => ''], ], [ - 'name' => 'UserIp', + 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'User IP.', - 'type' => 'string', - 'required' => false, - 'example' => '192.168.***.***', - ], + 'schema' => ['description' => 'Query end time. Unix timestamp.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1737561599999', 'title' => ''], ], [ - 'name' => 'UserPhoneNumber', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'User phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '187********', - ], + 'schema' => ['description' => 'Current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '3', 'title' => ''], ], [ - 'name' => 'UserRegistTime', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'User registration time. Expressed in timestamp format, unit: milliseconds.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1577808000000', - ], + 'schema' => ['description' => 'Number of data entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -7429,161 +4850,111 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VerifyPageUrl' => [ - 'description' => 'The entry link for the original H5 verification scheme, which has been discontinued and no longer supports new integrations. If you need to integrate an H5 verification scheme, it is recommended to use the [PC or mobile H5 web integration solution](~~173779~~) of financial-grade real-person authentication.', - 'type' => 'string', - 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'VerifyToken' => [ - 'description' => 'The token for this verification, used to link various interfaces in the verification request, valid for 30 minutes.', - 'type' => 'string', - 'example' => 'c302c0797679457685410ee51a5ba375', - ], - 'OssUploadToken' => [ - 'description' => 'OSS upload token information.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key required for file upload.', - 'type' => 'string', - 'example' => 'STS.NU8rUBj****', - ], - 'Token' => [ - 'description' => 'The token required for file upload.', - 'type' => 'string', - 'example' => 'uWia500nTS5knZaDzq4/KqpvhcLnO****', - ], - 'Secret' => [ - 'description' => 'The secret required for file upload.', - 'type' => 'string', - 'example' => 'FwmnyoqT8dHj7nJLuM67T****', - ], - 'Expired' => [ - 'description' => 'Expiration time. Expressed in timestamp format, unit: milliseconds.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1582636610000', - ], - 'Path' => [ - 'description' => 'File storage path.', - 'type' => 'string', - 'example' => 'prod/RdNLC@Ox2n-1s7NMt', - ], - 'EndPoint' => [ - 'description' => 'Access endpoint.', - 'type' => 'string', - 'example' => 'https://oss-cn-zhangjiakou.aliyuncs.com', - ], - 'Bucket' => [ - 'description' => 'OSS file storage bucket.', - 'type' => 'string', - 'example' => 'cloudauth-zhangjiakou-external', - ], + 'CurrentPage' => ['description' => 'Current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'TotalPage' => ['description' => 'Total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'Number of data entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The ID of this request.', 'type' => 'string', 'example' => 'C379C9E4-4DA0-5D0B-821B-25E2B8693D48', 'title' => ''], + 'TotalCount' => ['description' => 'Total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '7', 'title' => ''], + 'Items' => [ + 'description' => 'Paginated list data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SuccessRate' => ['description' => 'Call success rate (%).', 'type' => 'string', 'example' => '100', 'title' => ''], + 'Api' => ['description' => 'API.', 'type' => 'string', 'example' => 'ID_PERIOD', 'title' => ''], + 'BillRate' => ['description' => 'Hit rate (%).', 'type' => 'string', 'example' => '80', 'title' => ''], + 'Date' => ['description' => 'Date.', 'type' => 'string', 'example' => '11/8', 'title' => ''], + 'TotalCount' => ['description' => 'Total number of entries.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''], + 'SuccessCount' => ['description' => 'Number of successful requests.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'NoRecordCount' => ['description' => 'Number of calls with no record information.', 'type' => 'integer', 'format' => 'int64', 'example' => '12', 'title' => ''], + 'BillCount' => ['description' => 'Number of hits (billed).', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'UnpassedCount' => ['description' => 'Number of failed calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'PassedRate' => ['description' => 'Authentication pass rate (%).', 'type' => 'string', 'example' => '80', 'title' => ''], + 'ApiName' => ['description' => 'Name corresponding to the API:'."\n" + .'- **ID_CARD_2_META**: ID Card Two-Element Verification'."\n" + .'- **ID_PERIOD**: ID Card Validity Verification Period'."\n" + .'- **MOBILE_ONLINE_LENGTH**: Mobile Online Duration'."\n" + .'- **MOBILE_ONLINE_STATUS**: Mobile Online Status'."\n" + .'- **MOBILE_3_META_SIMPLE**: Mobile Number Three-Element Verification (Simple)'."\n" + .'- **MOBILE_3_META**: Mobile Number Three-Element Verification (Detailed)'."\n" + .'- **MOBILE_2_META**: Mobile Number Two-Element Verification'."\n" + .'- **BANK_CARD_N_META**: Bank Card Verification (Detailed)'."\n" + .'- **MOBILE_DETECT**: Number Detection'."\n" + .' -**VEHICLE_N_META**: Vehicle Element Verification (Enhanced)'."\n" + .'- **VEHICLE_PENTA_INFO**: Vehicle Five-Element Information Recognition'."\n" + .'- **VEHICLE_LICENSE_INFO**: Vehicle Information Recognition'."\n" + .'- **VEHICLE_INSURE_DATE**: Vehicle Insurance Date Query'."\n" + .'- **VEHICLE_CHECK**: Vehicle Element Verification', 'type' => 'string', 'example' => '车辆要素核验增强版', 'title' => ''], + 'PassedCount' => ['description' => 'Number of passed authentications.', 'type' => 'integer', 'format' => 'int64', 'example' => '21', 'title' => ''], + 'IspName' => ['description' => 'Carrier name:'."\n" + .'- **CMCC**: China Mobile'."\n" + .'- **CUCC**: China Unicom'."\n" + .'- **CTCC**: China Telecom'."\n", 'type' => 'string', 'example' => 'CMCC', 'title' => ''], + 'ChargeCount' => ['description' => 'Number of successful mobile number queries (exclusive to Number Detection).'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParam.ImageValuePatternError', - 'errorMessage' => 'The pattern of value of given image is not acceptable.', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 3,\\n \\"TotalPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"C379C9E4-4DA0-5D0B-821B-25E2B8693D48\\",\\n \\"TotalCount\\": 7,\\n \\"Items\\": [\\n {\\n \\"SuccessRate\\": \\"100\\",\\n \\"Api\\": \\"ID_PERIOD\\",\\n \\"BillRate\\": \\"80\\",\\n \\"Date\\": \\"11/8\\",\\n \\"TotalCount\\": 4,\\n \\"SuccessCount\\": 1,\\n \\"NoRecordCount\\": 12,\\n \\"BillCount\\": 10,\\n \\"UnpassedCount\\": 2,\\n \\"PassedRate\\": \\"80\\",\\n \\"ApiName\\": \\"车辆要素核验增强版\\",\\n \\"PassedCount\\": 21,\\n \\"IspName\\": \\"CMCC\\",\\n \\"ChargeCount\\": 1\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query Information Verification and Authentication Data with Pagination', + 'description' => '- Request method: Supports sending requests using HTTPS POST and GET methods.'."\n" + .'- Service address: cloudauth.aliyuncs.com.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMetaStatisticsPageList'], ], - 403 => [ - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'RAM caller has no permission', + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeMetaStatisticsPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VerifyPageUrl\\": \\"http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"VerifyToken\\": \\"c302c0797679457685410ee51a5ba375\\",\\n \\"OssUploadToken\\": {\\n \\"Key\\": \\"STS.NU8rUBj****\\",\\n \\"Token\\": \\"uWia500nTS5knZaDzq4/KqpvhcLnO****\\",\\n \\"Secret\\": \\"FwmnyoqT8dHj7nJLuM67T****\\",\\n \\"Expired\\": 1582636610000,\\n \\"Path\\": \\"prod/RdNLC@Ox2n-1s7NMt\\",\\n \\"EndPoint\\": \\"https://oss-cn-zhangjiakou.aliyuncs.com\\",\\n \\"Bucket\\": \\"cloudauth-zhangjiakou-external\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n<DescribeVerifyTokenResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n <VerifyToken>c302c0797679457685410ee51a5ba375</VerifyToken>\\r\\n</DescribeVerifyTokenResponse>","errorExample":""}]', - 'title' => 'DescribeVerifyToken', - 'description' => 'Preparation for Access: When integrating this API, please ensure that the corresponding preparations have been completed. For details, see [Overview of Real Person Authentication Solution Integration Process](~~127536~~) and [Overview of Live Face Verification Solution (Liveness Detection Solution) Integration Process](~~127687~~).'."\n" - ."\n" - .'Request Method: HTTPS POST and GET'."\n" - ."\n" - .'API Description: Before each authentication, use this interface to obtain an authentication Token (VerifyToken), which is used to link various interfaces in the authentication request.'."\n" - ."\n" - .'Applicable Scope: This interface is suitable for wireless SDK integration.'."\n" - ."\n" - .'Image Address: Use HTTP or HTTPS addresses that are publicly accessible over the Internet. For example, `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" - ."\n" - .'Image Restrictions:'."\n" - ."\n" - .'- Relative or absolute paths of local images are not supported.'."\n" - .'- The size of a single image should be controlled within 2 MB to avoid algorithm retrieval timeout.'."\n" - .'- The face area in the image must be at least 64*64 pixels (px).'."\n" - .'- There is an 8 MB size limit for the Body of a single request. Please calculate the total size of all images and other information in the request to ensure it does not exceed the limit.', - 'requestParamsDescription' => 'Depending on the chosen authentication solution, the required fields to be passed may vary. Please refer to the table below for specific instructions.'."\n" - ."\n" - .'| Authentication Solution | Name Field | IdCardNumber Field | IdCardFrontImageUrl Field | IdCardBackImageUrl Field | FaceRetainedImageUrl Field |'."\n" - .'|-------------------------|------------|--------------------|---------------------------|--------------------------|----------------------------|'."\n" - .'| RPBasic | No | No | No | No | No |'."\n" - .'| RPManual | No | No | No | No | No |'."\n" - .'| RPBioID | Yes | Yes | No | No | No |'."\n" - .'| RPBioOnly | Yes | Yes | Optional | Optional | No |'."\n" - .'| FVBioOnly | No | No | No | No | Yes |'."\n" - .'| FDBioOnly | No | No | No | No | No |', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', ], - 'DescribeVerifyResult' => [ - 'summary' => 'Query the result of real-person authentication.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeOssStatus' => [ + 'summary' => 'Queries the status of OSS.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '59150', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeCode' => '59121', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], ], 'parameters' => [ [ - 'name' => 'BizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication ID. A unique ID that identifies an authentication task, not exceeding 64 characters. For a single authentication task, the system supports an unlimited number of submissions until the final authentication is successful and the task is completed. > You need to use a different BizId for each new authentication task.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '39ecf51e-2f81-4dc5-90ee-ff86125b****', - ], - ], - [ - 'name' => 'BizType', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Business scenario identifier for real-person authentication service', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FVBioOnlyTest', - ], + 'schema' => ['description' => 'The service code. Valid values:'."\n" + .'- antcloudauth: Chinese financial-grade ID Verification.'."\n" + .'- cloudauthst (discontinued): ID Verification Enhanced Edition.', 'type' => 'string', 'required' => false, 'example' => 'antcloudauth', 'title' => ''], ], ], 'responses' => [ @@ -7591,714 +4962,212 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AuthorityComparisionScore' => [ - 'description' => 'The comparison score between the face photo submitted during the authentication process and the authoritative data, with a value range of **0** to **100**.'."\n" - .'Confidence threshold references:'."\n" - .'- When the false acceptance rate is 0.001%, the corresponding threshold is 95. - When the false acceptance rate is 0.01%, the corresponding threshold is 90. - When the false acceptance rate is 0.1%, the corresponding threshold is 80. - When the false acceptance rate is 1%, the corresponding threshold is 60.'."\n" - .'> This field only indicates the comparison result between the face and the authoritative data, for your reference only. It is generally not recommended to use this value alone as the standard for whether the authentication passes. For a comprehensive authentication result, please refer to the **VerifyStatus** field. The **VerifyStatus** result integrates the comparison of the face with the authoritative data and various other strategies, which can enhance security levels.', - 'type' => 'number', - 'format' => 'float', - 'example' => '97', - ], - 'VerifyStatus' => [ - 'description' => 'Authentication status, values:'."\n" - .'- **-1**: Not authenticated - **1**: Authentication passed - **2** to **n**: Authentication failed for various reasons. For detailed descriptions, see the authentication status explanation.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'FaceComparisonScore' => [ - 'description' => 'The comparison score between the face photo submitted during the authentication process and the face in the retained face image. The value range is **0**~**100**.'."\n" - ."\n" - .'Confidence threshold reference:'."\n" - ."\n" - .'- When the false recognition rate is 0.001%, the corresponding threshold is 95.'."\n" - .'- When the false recognition rate is 0.01%, the corresponding threshold is 90.'."\n" - .'- When the false recognition rate is 0.1%, the corresponding threshold is 80.'."\n" - .'- When the false recognition rate is 1%, the corresponding threshold is 60.', - 'type' => 'number', - 'format' => 'float', - 'example' => '97', - ], - 'IdCardFaceComparisonScore' => [ - 'description' => 'The comparison score between the face photo submitted during the authentication process and the face on the ID card\'s face side. The value range is **0**~**100**.'."\n" - ."\n" - .'Confidence threshold reference:'."\n" - ."\n" - .'- When the false recognition rate is 0.001%, the corresponding threshold is 95.'."\n" - .'- When the false recognition rate is 0.01%, the corresponding threshold is 90.'."\n" - .'- When the false recognition rate is 0.1%, the corresponding threshold is 80.'."\n" - .'- When the false recognition rate is 1%, the corresponding threshold is 60.', - 'type' => 'number', - 'format' => 'float', - 'example' => '97', - ], - 'Material' => [ - 'description' => 'Authentication materials.', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F2DB870B-EEB7-51BD-9F0A-B5D8D3C79308', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'IdCardNumber' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'example' => '02343218901123****', - ], - 'FaceGlobalUrl' => [ - 'description' => 'The global camera image captured by the real-person authentication SDK.'."\n" - ."\n" - .'> This parameter will only take effect after configuration. If you need to use this parameter, please submit a [ticket](https://selfservice.console.aliyun.com/ticket/category/cloudauth/today) to contact us.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg ', - ], - 'FaceImageUrl' => [ - 'description' => 'The HTTP or HTTPS link to the frontal face image. The link is valid for 5 minutes, and it is recommended to store it elsewhere to avoid any impact on usage.'."\n" - .'> If the HTTP or HTTPS link to the frontal face image expires, you can call [DescribeVerifyResult](~~154606~~) again to get the link.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/face-image-example.jpg', - ], - 'FaceMask' => [ - 'description' => 'Whether the face is wearing a mask. Values:'."\n" - .'- **true**: Wearing a mask'."\n" - .'- **false**: Not wearing a mask', - 'type' => 'boolean', - 'example' => 'false', - ], - 'IdCardName' => [ - 'description' => 'Name.', - 'type' => 'string', - 'example' => '张三', - ], - 'FaceQuality' => [ - 'description' => 'The quality of the frontal face image. Values:'."\n" - .'- **UNQUALIFIED**: Poor quality'."\n" - .'- **LOW**: Low'."\n" - .'- **NORMAL**: Normal'."\n" - .'- **HIGH**: High', - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'VideoUrls' => [ - 'description' => 'The URL addresses of the recorded videos returned by the historical RPH5BioOnly solution.', - 'type' => 'array', - 'items' => [ - 'description' => 'The URL addresses of the recorded videos returned by the historical RPH5BioOnly solution.', - 'type' => 'string', - 'example' => '-', - ], - ], - 'IdCardInfo' => [ - 'description' => 'OCR results of the ID card information.'."\n" - .'> If there is no front and back information of the ID card during the authentication process, the real-person authentication service will not return the OCR results of the ID card. Even if there is front and back information of the ID card during the authentication process, the real-person authentication service does not guarantee to return all the information on the ID card. Due to issues with ID card photography, the OCR may fail to recognize some information, resulting in incomplete OCR information. It is recommended that your business does not strongly rely on the ID card OCR information.', - 'type' => 'object', - 'properties' => [ - 'EndDate' => [ - 'description' => 'The end date of the document\'s validity period. Format: yyyymmdd.', - 'type' => 'string', - 'example' => '20201101', - ], - 'Authority' => [ - 'description' => 'Issuing authority.', - 'type' => 'string', - 'example' => '杭州市公安局', - ], - 'Address' => [ - 'description' => 'Address.', - 'type' => 'string', - 'example' => '浙江省杭州市余杭区文一西路969号', - ], - 'Number' => [ - 'description' => 'ID card number.', - 'type' => 'string', - 'example' => '02343218901123****', - ], - 'StartDate' => [ - 'description' => 'Start date of the document\'s validity. Format: yyyymmdd.', - 'type' => 'string', - 'example' => '20201101', - ], - 'BackImageUrl' => [ - 'description' => 'HTTP/HTTPS link to the image of the back side (national emblem side) of the ID card. The link is valid for 5 minutes, and it is recommended to store it for business use to avoid any impact.'."\n" - .'> If the HTTP/HTTPS link to the front-facing portrait image expires, you can call DescribeVerifyResult again to get the link.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg', - ], - 'Nationality' => [ - 'description' => 'Nationality.', - 'type' => 'string', - 'example' => '汉', - ], - 'Birth' => [ - 'description' => 'Date of birth.', - 'type' => 'string', - 'example' => '19900101', - ], - 'Name' => [ - 'description' => 'Name.', - 'type' => 'string', - 'example' => '张三', - ], - 'FrontImageUrl' => [ - 'description' => 'HTTP/HTTPS link to the image of the front side (portrait side) of the ID card. The link is valid for 5 minutes, and it is recommended to store it for business use to avoid any impact.'."\n" - .'> If the HTTP/HTTPS link to the front-facing portrait image expires, you can call DescribeVerifyResult again to get the link.', - 'type' => 'string', - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg', - ], - ], - ], + 'UserStatus' => ['description' => 'The activation status of the user. A value of SUCCESS indicates that the service is activated.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + 'BucketName' => ['description' => 'The name of the OSS bucket to which verification information is delivered.', 'type' => 'string', 'example' => 'cn-hangzhou-aliyun-cloudauth-20250516xxxxxx', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 410 => [ - [ - 'errorCode' => 'DataExpired', - 'errorMessage' => 'The data has expired and the records have been deleted.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F2DB870B-EEB7-51BD-9F0A-B5D8D3C79308\\",\\n \\"Data\\": {\\n \\"UserStatus\\": \\"SUCCESS\\",\\n \\"BucketName\\": \\"cn-hangzhou-aliyun-cloudauth-20250516xxxxxx\\"\\n }\\n}","type":"json"}]', + 'title' => 'Query user OSS status', + 'description' => '- Request method: HTTPS POST and GET methods are supported.'."\n" + .'- Endpoint: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeOssStatus'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeOssStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AuthorityComparisionScore\\": 97,\\n \\"VerifyStatus\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"FaceComparisonScore\\": 97,\\n \\"IdCardFaceComparisonScore\\": 97,\\n \\"Material\\": {\\n \\"IdCardNumber\\": \\"02343218901123****\\",\\n \\"FaceGlobalUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg \\",\\n \\"FaceImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/face-image-example.jpg\\",\\n \\"FaceMask\\": false,\\n \\"IdCardName\\": \\"张三\\",\\n \\"FaceQuality\\": \\"NORMAL\\",\\n \\"VideoUrls\\": [\\n \\"-\\"\\n ],\\n \\"IdCardInfo\\": {\\n \\"EndDate\\": \\"20201101\\",\\n \\"Authority\\": \\"杭州市公安局\\",\\n \\"Address\\": \\"浙江省杭州市余杭区文一西路969号\\",\\n \\"Number\\": \\"02343218901123****\\",\\n \\"StartDate\\": \\"20201101\\",\\n \\"BackImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg\\",\\n \\"Nationality\\": \\"汉\\",\\n \\"Birth\\": \\"19900101\\",\\n \\"Name\\": \\"张三\\",\\n \\"FrontImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Query authentication result', - 'description' => 'Prerequisites: Before accessing this API, please ensure that you have completed the necessary preparations. For more details, see [Real Person Authentication Server-side Preparation](~~127471~~) and [Liveness Face Verification Server-side Preparation](~~127717~~).'."\n" - .'> Alibaba Cloud Real Person Authentication only stores authentication data for the last 180 days. For any subsequent business use, please call this interface in a timely manner to retrieve and store the data yourself to avoid any impact on usage.'."\n" - .'Request Method: HTTPS POST and GET.'."\n" - .'Interface Description: After the mobile end of the access party receives the callback, its server can call this interface to obtain the corresponding authentication status and authentication information.'."\n" - .'Applicable Scope: This interface is applicable to the authentication solution with SDK + server-side integration.', - 'responseParamsDescription' => '**Verification Status Explanation**'."\n" - .'| VerifyStatus | Reason Description | Remarks |'."\n" - .'|--------------|-------------------|---------|'."\n" - .'| -1 | Not Verified. This status usually occurs ... | |'."\n" - .'| 1 | Verification Passed. Appears in both real-person authentication and liveness face verification schemes. | |'."\n" - .'| 2 | Verification Failed. Possible reason: Real-name verification failed. | Only in real-person authentication scheme. |'."\n" - .'| 3 | Verification Failed. Possible reasons: The ID photo is blurry ... | Only in real-person authentication scheme. |'."\n" - .'| ... | ... | ... |'."\n", - 'translator' => 'machine', ], - 'CompareFaces' => [ - 'summary' => 'Invoke CompareFaces for face comparison.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeOssStatusV2' => [ + 'summary' => 'Queries the OSS status of a user (V2).', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '59094', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREcloudauthCPTLY3'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'TargetImageType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Type of Image 2, with values:'."\n" - ."\n" - .'- **FacePic**: User\'s face photo'."\n" - .'- **IDPic**: Headshot from the user\'s second-generation ID card chip (typically obtained and decoded by a second-generation ID card reader)', - 'type' => 'string', - 'required' => false, - 'example' => 'FacePic', - 'docRequired' => true, - ], - ], - [ - 'name' => 'SourceImageType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Type of Image 1, with values:'."\n" - ."\n" - .'- **FacePic**: User\'s face photo'."\n" - .'- **IDPic**: Headshot from the user\'s second-generation ID card chip (typically obtained and decoded by a second-generation ID card reader)', - 'type' => 'string', - 'required' => false, - 'example' => 'FacePic', - 'docRequired' => true, - ], - ], - [ - 'name' => 'SourceImageValue', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Address of Image 1. Please refer to the instructions on uploading image addresses.', - 'type' => 'string', - 'required' => false, - 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', - 'docRequired' => true, - ], + 'name' => 'ServiceCode', + 'in' => 'query', + 'schema' => ['description' => 'The ServiceCode of the ID Verification product. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst (discontinued)**: enhanced ID Verification.', 'type' => 'string', 'required' => false, 'example' => 'antcloudauth', 'title' => ''], ], [ - 'name' => 'TargetImageValue', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Address of Image 2. Please refer to the instructions on uploading image addresses.', - 'type' => 'string', - 'required' => false, - 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', - 'docRequired' => true, - ], + 'name' => 'SourceIp', + 'in' => 'query', + 'schema' => ['description' => 'The source IP address of the visitor.', 'type' => 'string', 'required' => false, 'example' => '120.25.41.25', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'HTTP status code.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error code.', - 'type' => 'string', - 'example' => 'Error.InternalError', - ], - 'RequestId' => [ - 'description' => 'ID of the current request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Success' => [ - 'description' => 'Indicates whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'Result of the face comparison.', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1'], + 'ResultObject' => [ + 'description' => 'The result information.', 'type' => 'object', 'properties' => [ - 'SimilarityScore' => [ - 'description' => 'The degree of similarity between the faces in the two images. The value range is [0, 100], with higher values indicating greater similarity.', - 'type' => 'number', - 'format' => 'float', - 'example' => '98.7913', - ], - 'ConfidenceThresholds' => [ - 'description' => 'Confidence thresholds for face comparison. The returned content is a JSON Object, with the specific structure being `"key":"value"`.'."\n" - ."\n" - .'- `key` represents the false acceptance rate, which is the probability of misidentifying someone else as the specified person.'."\n" - .'- `value` is the corresponding threshold.'."\n" - ."\n\n" - .'> Regarding the confidence thresholds (confidenceThresholds) in the example:'."\n" - .'- `"0.0001": "90.07"` indicates that the threshold is 90.07 when the false acceptance rate is 0.01%.'."\n" - .'- `"0.001": "80.01"` indicates that the threshold is 80.01 when the false acceptance rate is 0.1%.'."\n" - .'- `"0.01": "70.02"` indicates that the threshold is 70.02 when the false acceptance rate is 1%.'."\n" - ."\n" - .'Confidence thresholds are dynamically provided based on different images and algorithms, so do not persist these thresholds.', - 'type' => 'string', - 'example' => '{"0.0001":"90.07","0.001":"80.01","0.01":"70.02"}', - ], + 'UserStatus' => ['description' => 'The activation status of the user. A value of **SUCCESS** indicates that the service is activated.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + 'BucketName' => ['description' => 'The bucket name.', 'type' => 'string', 'example' => 'cn-hangzhou-aliyun-cloudauth-20250516xxxxxx', 'title' => ''], + 'Region' => ['description' => 'The region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int64', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Error.InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error', - ], - [ - 'errorCode' => 'InvalidParam.ParamsMissing', - 'errorMessage' => 'Please check if there is param empty in your imput', - ], - [ - 'errorCode' => 'InvalidParam.ImageTypeEmpty', - 'errorMessage' => 'The image type is empty', - ], - [ - 'errorCode' => 'InvalidParam.FacePicNotGiven', - 'errorMessage' => 'At least one of the two given images should have a type of FacePic', - ], - [ - 'errorCode' => 'InvalidParam.ImageValuePatternError', - 'errorMessage' => 'The pattern of value of given image is not acceptable', - ], - [ - 'errorCode' => 'InvalidParam.ImageTypeInvalid', - 'errorMessage' => 'The image type is not valid', - ], - [ - 'errorCode' => 'Error.NoFaceDetected', - 'errorMessage' => 'No face detected from given images', - ], - [ - 'errorCode' => 'InvalidParam.ImageNotFound', - 'errorMessage' => 'No images founded with given image address', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"ResultObject\\": {\\n \\"UserStatus\\": \\"SUCCESS\\",\\n \\"BucketName\\": \\"cn-hangzhou-aliyun-cloudauth-20250516xxxxxx\\",\\n \\"Region\\": \\"cn-hangzhou\\"\\n },\\n \\"Code\\": \\"200\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query user OSS status V2', + 'description' => '- Request method: HTTPS POST and GET methods are supported.'."\n" + .'- Service address: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeOssStatusV2'], ], - 403 => [ - [ - 'errorCode' => 'Error.NoPermissionAccess', - 'errorMessage' => 'No permission to access our service', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'RAM caller has no permission', + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeOssStatusV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Error.InternalError\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"SimilarityScore\\": 98.7913,\\n \\"ConfidenceThresholds\\": \\"{\\\\\\"0.0001\\\\\\":\\\\\\"90.07\\\\\\",\\\\\\"0.001\\\\\\":\\\\\\"80.01\\\\\\",\\\\\\"0.01\\\\\\":\\\\\\"70.02\\\\\\"}\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n<CompareFacesResponse>\\r\\n <Data>\\r\\n <ConfidenceThresholds>{\\"0.0001\\":\\"90.07\\",\\"0.001\\":\\"80.01\\",\\"0.01\\":\\"70.02\\"}</ConfidenceThresholds>\\r\\n <SimilarityScore>98.7913</SimilarityScore>\\r\\n </Data>\\r\\n <Success>true</Success>\\r\\n <Code>200</Code>\\r\\n</CompareFacesResponse>\\r\\n\\t\\t\\t\\t\\t\\t","errorExample":""}]', - 'title' => 'CompareFaces', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST.'."\n" - ."\n" - .'Interface Description: Compares two face images and outputs the similarity score of the faces in the two images as the result.'."\n" - ."\n" - .'- At least one of the specified comparison images should be a face photo (FacePic).'."\n" - .'- If an image contains multiple faces, the algorithm will automatically select the largest face in the image.'."\n" - .'- If one of the two comparison images does not detect a face, the system will return an error message stating \'No face detected\'.'."\n" - ."\n" - .'When uploading images, you need to provide the HTTP address or base64 encoding of the image.'."\n" - ."\n" - .'- HTTP Address: A publicly accessible HTTP address. For example, `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" - .'- Base64 Encoding: An image encoded in base64, formatted as `base64://<base64 string of the image>`.'."\n" - ."\n" - .'Image Restrictions'."\n" - ."\n" - .'- Does not support relative or absolute paths for local images.'."\n" - .'- Please keep the size of a single image within 2MB to avoid timeout during retrieval by the algorithm.'."\n" - .'- The body of a single request has a size limit of 8MB; please calculate the total size of all images and other information in the request to ensure it does not exceed this limit.'."\n" - .'- When using base64 to transmit images, the request method must be changed to POST; the header description such as `data:image/png;base64,` should be removed from the base64 string of the image.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', ], - 'DetectFaceAttributes' => [ - 'summary' => 'Detect Validity Attributes in Face Photos', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeOssUploadToken' => [ + 'summary' => 'Retrieves the token required for uploading photos to OSS.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59162', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], - ], - 'parameters' => [ - [ - 'name' => 'MaterialValue', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The photo to be detected, see the instructions for uploading image addresses for format description. A maximum of 5 faces can be detected in a single image.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg', - ], - ], - [ - 'name' => 'BizType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Identifier for the business scenario using real-person authentication services.', - 'type' => 'string', - 'required' => false, - 'example' => 'RPBasicTest', - ], - ], + 'abilityTreeCode' => '59122', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'HTTP status code.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error code.', - 'type' => 'string', - 'example' => 'Error.InternalError', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'Returned data.', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '2FA2C773-47DB-4156-B1EE-5B047321A939', 'title' => ''], + 'OssUploadToken' => [ + 'description' => 'The OSS upload token information.', 'type' => 'object', 'properties' => [ - 'ImgHeight' => [ - 'description' => 'Original image height, in pixels.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1920', - ], - 'ImgWidth' => [ - 'description' => 'Original image width, in pixels.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1080', - ], - 'FaceInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'FaceAttributesDetectInfo' => [ - 'description' => 'Face detection results.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'FaceRect' => [ - 'description' => 'Position of the face in the original image.', - 'type' => 'object', - 'properties' => [ - 'Left' => [ - 'description' => 'Distance from the top-left corner of the face rectangle to the left edge of the original image, in pixels.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '354', - ], - 'Top' => [ - 'description' => 'Distance from the top-left corner of the face rectangle to the top edge of the original image, in pixels.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '453', - ], - 'Width' => [ - 'description' => 'Width of the face rectangle.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '473', - ], - 'Height' => [ - 'description' => 'Height of the face rectangle.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '473', - ], - ], - ], - 'FaceAttributes' => [ - 'description' => 'Face attributes.', - 'type' => 'object', - 'properties' => [ - 'Glasses' => [ - 'description' => 'Whether wearing glasses. Values:'."\n" - ."\n" - .'- **None**: Not wearing glasses'."\n" - .'- **Wear**: Wearing regular glasses'."\n" - .'- **Sunglass**: Wearing sunglasses', - 'type' => 'string', - 'example' => 'None', - ], - 'Facequal' => [ - 'description' => 'A score ranging from 0 to 100. The higher the score, the better the quality. It is recommended to consider a score of 50 or above as acceptable quality.', - 'type' => 'number', - 'format' => 'float', - 'example' => '60', - ], - 'Integrity' => [ - 'description' => 'A score ranging from 0 to 100. The higher the score, the more complete the face. It is recommended to consider a score of 70 or above as acceptable completeness.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'Facetype' => [ - 'description' => 'Whether it is a human face. Values:'."\n" - ."\n" - .'- **None**: Not a human face'."\n" - .'- **Face**: Human face'."\n" - .'- **Profile**: Profile (head turned left or right by more than 30°)'."\n" - ."\n" - .'> If no face is detected, the `faceInfos` in the response will be empty; here, `None` means that a face was detected but is considered to be a cartoon, pet, etc.', - 'type' => 'string', - 'example' => 'Face', - ], - 'Respirator' => [ - 'description' => 'Whether wearing a mask. Values:'."\n" - ."\n" - .'- Wear: Wearing a mask.'."\n" - .'- None: Not wearing a mask.'."\n" - ."\n", - 'type' => 'string', - 'example' => 'Wear', - ], - 'Blur' => [ - 'description' => 'Face blur level, with higher values indicating more blurriness. Typically, a value ≥2.0 is considered quite blurry. It is recommended to adjust based on actual business data testing.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.1419367790222168', - ], - 'Smiling' => [ - 'description' => 'Whether smiling.', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'Smile score.', - 'type' => 'number', - 'format' => 'float', - 'example' => '97', - ], - 'Threshold' => [ - 'description' => 'Smile threshold.', - 'type' => 'number', - 'format' => 'float', - 'example' => '95', - ], - ], - ], - 'Headpose' => [ - 'description' => 'Face pose.', - 'type' => 'object', - 'properties' => [ - 'PitchAngle' => [ - 'description' => 'Pitch angle, in degrees.', - 'type' => 'number', - 'format' => 'float', - 'example' => '-1.5683923959732056', - ], - 'RollAngle' => [ - 'description' => 'Roll angle, in degrees.', - 'type' => 'number', - 'format' => 'float', - 'example' => '7.163370132446289', - ], - 'YawAngle' => [ - 'description' => 'Yaw angle, in degrees.', - 'type' => 'number', - 'format' => 'float', - 'example' => '-6.925303936004639', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Key' => ['description' => 'The key required for file upload.', 'type' => 'string', 'example' => 'STS.NU8rUBj****', 'title' => ''], + 'Token' => ['description' => 'The token required for file upload.', 'type' => 'string', 'example' => 'uWia500nTS5knZaDzq4/KqpvhcLnO****', 'title' => ''], + 'Secret' => ['description' => 'The secret required for file upload.', 'type' => 'string', 'example' => 'FwmnyoqT8dHj7nJLuM67T****', 'title' => ''], + 'Expired' => ['description' => 'The expiration time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1582636610000', 'title' => ''], + 'Path' => ['description' => 'The file storage path.', 'type' => 'string', 'example' => 'prod/RdNLC@Ox2n-1s7NMt', 'title' => ''], + 'EndPoint' => ['description' => 'The endpoint.', 'type' => 'string', 'example' => 'https://oss-cn-zhangjiakou.aliyuncs.com', 'title' => ''], + 'Bucket' => ['description' => 'The OSS bucket for file storage.', 'type' => 'string', 'example' => 'cloudauth-zhangjiakou-external', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Error.InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error', - ], - [ - 'errorCode' => 'InvalidParam.ParamsMissing', - 'errorMessage' => 'Please check if there is param empty in your imput', - ], - [ - 'errorCode' => 'Error.DetectFaceAttributesParamError', - 'errorMessage' => 'detectFaceAttributes param error', - ], - [ - 'errorCode' => 'Error.DetectFaceAttributesHttpError', - 'errorMessage' => 'detectFaceAttributes fail to get image from http', - ], - [ - 'errorCode' => 'Error.DetectFaceAttributesOssError', - 'errorMessage' => 'detectFaceAttributes fail to get image from oss', - ], - [ - 'errorCode' => 'Error.DetectFaceAttributesAlgServiceError', - 'errorMessage' => 'detectFaceAttributes algService error', - ], - [ - 'errorCode' => 'Error.DetectFaceAttributesAlgServieReturnError', - 'errorMessage' => 'detectFaceAttributes algService return error', - ], - [ - 'errorCode' => 'Error.DetectFaceAttributesBase64Error', - 'errorMessage' => 'detectFaceAttributes fail to get image from base64', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2FA2C773-47DB-4156-B1EE-5B047321A939\\",\\n \\"OssUploadToken\\": {\\n \\"Key\\": \\"STS.NU8rUBj****\\",\\n \\"Token\\": \\"uWia500nTS5knZaDzq4/KqpvhcLnO****\\",\\n \\"Secret\\": \\"FwmnyoqT8dHj7nJLuM67T****\\",\\n \\"Expired\\": 1582636610000,\\n \\"Path\\": \\"prod/RdNLC@Ox2n-1s7NMt\\",\\n \\"EndPoint\\": \\"https://oss-cn-zhangjiakou.aliyuncs.com\\",\\n \\"Bucket\\": \\"cloudauth-zhangjiakou-external\\"\\n }\\n}","type":"json"}]', + 'title' => 'Retrieve the token required for uploading photos to OSS', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-04-22T02:38:15.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeOssUploadToken'], ], - 403 => [ - [ - 'errorCode' => 'Error.NoPermissionAccess', - 'errorMessage' => 'No permission to access our service', - ], - [ - 'errorCode' => 'NoPermission', - 'errorMessage' => 'RAM caller has no permission', + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeOssUploadToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Error.InternalError\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ImgHeight\\": 1920,\\n \\"ImgWidth\\": 1080,\\n \\"FaceInfos\\": {\\n \\"FaceAttributesDetectInfo\\": [\\n {\\n \\"FaceRect\\": {\\n \\"Left\\": 354,\\n \\"Top\\": 453,\\n \\"Width\\": 473,\\n \\"Height\\": 473\\n },\\n \\"FaceAttributes\\": {\\n \\"Glasses\\": \\"None\\",\\n \\"Facequal\\": 60,\\n \\"Integrity\\": 70,\\n \\"Facetype\\": \\"Face\\",\\n \\"Respirator\\": \\"Wear\\",\\n \\"Blur\\": 0.1419367790222168,\\n \\"Smiling\\": {\\n \\"Value\\": 97,\\n \\"Threshold\\": 95\\n },\\n \\"Headpose\\": {\\n \\"PitchAngle\\": -1.5683923959732056,\\n \\"RollAngle\\": 7.163370132446289,\\n \\"YawAngle\\": -6.925303936004639\\n }\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DetectFaceAttributesResponse>\\n\\t<Code>200</Code>\\n\\t<Data>\\n\\t\\t<FaceInfos>\\n\\t\\t\\t<FaceAttributesDetectInfo>\\n\\t\\t\\t\\t<element>\\n\\t\\t\\t\\t\\t<FaceAttributes>\\n\\t\\t\\t\\t\\t\\t<Blur>0.14193678</Blur>\\n\\t\\t\\t\\t\\t\\t<Facetype>Face</Facetype>\\n\\t\\t\\t\\t\\t\\t<Glasses>None</Glasses>\\n\\t\\t\\t\\t\\t\\t<Headpose>\\n\\t\\t\\t\\t\\t\\t\\t<PitchAngle>-1.5683924</PitchAngle>\\n\\t\\t\\t\\t\\t\\t\\t<RollAngle>7.16337</RollAngle>\\n\\t\\t\\t\\t\\t\\t\\t<YawAngle>-6.925304</YawAngle>\\n\\t\\t\\t\\t\\t\\t</Headpose>\\n\\t\\t\\t\\t\\t\\t<Smiling></Smiling>\\n\\t\\t\\t\\t\\t</FaceAttributes>\\n\\t\\t\\t\\t\\t<FaceRect>\\n\\t\\t\\t\\t\\t\\t<Height>473</Height>\\n\\t\\t\\t\\t\\t\\t<Left>354</Left>\\n\\t\\t\\t\\t\\t\\t<Top>453</Top>\\n\\t\\t\\t\\t\\t\\t<Width>473</Width>\\n\\t\\t\\t\\t\\t</FaceRect>\\n\\t\\t\\t\\t</element>\\n\\t\\t\\t</FaceAttributesDetectInfo>\\n\\t\\t</FaceInfos>\\n\\t\\t<ImgHeight>1920</ImgHeight>\\n\\t\\t<ImgWidth>1080</ImgWidth>\\n\\t</Data>\\n\\t<Success>true</Success>\\n </DetectFaceAttributesResponse>","errorExample":""}]', - 'title' => 'Face Attributes Pure Server-side API', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST.'."\n" - ."\n" - .'Interface Description: Detects the validity-related attributes of faces in the input photo, which helps the business side to determine whether the photo meets their own business retention or comparison requirements. The currently supported face validity-related attributes include: whether it is a face, whether it is blurry, whether glasses are worn, face pose, whether it is a smile, etc.'."\n" - ."\n" - .'Instructions for Uploading Image Addresses: When passing in images, you need to upload their corresponding HTTP, OSS addresses, or Base64 encoding.'."\n" - ."\n" - .'- HTTP Address: A publicly accessible HTTP address. For example, `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" - .'- Base64 Encoding: An image encoded through base64, with the format being `base64://<image base64 string>`.'."\n" - ."\n" - .'Image Limitations:'."\n" - ."\n" - .'- Does not support relative or absolute paths of local images.'."\n" - .'- Please keep the size of a single image within 2 MB to avoid algorithm timeout.'."\n" - .'- There is an 8 MB size limit for the Body of a single request; please calculate the total size of all images and other information in the request and do not exceed the limit.'."\n" - .'- When using Base64 to pass images, the request method needs to be changed to POST; the header description of the image Base64 string, such as `data:image/png;base64`, should be removed.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => "\n" - ."\n", - 'extraInfo' => ' ', - 'translator' => 'machine', ], 'DescribePageFaceVerifyData' => [ - 'summary' => 'Open API adds financial-grade data statistics API', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Queries financial-grade ID Verification call statistics by using a paging query operation.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8310,345 +5179,256 @@ 'operationType' => 'none', 'riskType' => 'none', 'abilityTreeCode' => '216157', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthLNAN1F', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthLNAN1F'], ], 'parameters' => [ [ 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Required, start time, format is yyyy-MM-dd, default is yyyy-MM-dd 00:00:00, the query interval cannot exceed 90 days.', - 'type' => 'string', - 'required' => false, - 'example' => '2023-04-10', - ], + 'schema' => ['description' => 'Required. The start time in the yyyy-MM-dd format. The default value is yyyy-MM-dd 00:00:00. The maximum query interval is 90 days.', 'type' => 'string', 'required' => false, 'example' => '2023-04-10', 'title' => ''], ], [ 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Required, end time, format is yyyy-MM-dd, default is yyyy-MM-dd 00:00:00, the query interval cannot exceed 90 days.', - 'type' => 'string', - 'required' => false, - 'example' => '2023-04-30', - ], + 'schema' => ['description' => 'Required. The end time in the yyyy-MM-dd format. The default value is yyyy-MM-dd 00:00:00. The maximum query interval is 90 days.', 'type' => 'string', 'required' => false, 'example' => '2023-04-30', 'title' => ''], ], [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '36**01'."\n", - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '36**01'."\n", 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Product code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PLUS'."\n", - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_PLUS'."\n", 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'Current page number, default is 1.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The current page number. Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page, default is 10.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page. Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '473469C7-A***B-A3DC0DE3C83E', - ], + 'RequestId' => ['title' => '', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-A***B-A3DC0DE3C83E'], 'Success' => [ - 'description' => 'Whether the response was successful.', + 'description' => 'Indicates whether the response is successful.', + 'enumValueTitles' => ['false' => 'false', 'true' => 'true'], 'type' => 'string', - 'enumValueTitles' => [ - 'false' => 'false', - 'true' => 'true', - ], 'example' => 'true', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'OK', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'string', - 'example' => '100', - ], - 'PageSize' => [ - 'description' => 'Number of items per page.', - 'type' => 'string', - 'example' => '10', - ], - 'TotalPage' => [ - 'description' => 'Total number of pages.', - 'type' => 'string', - 'example' => '5', - ], - 'CurrentPage' => [ - 'description' => 'Current page number.', - 'type' => 'string', - 'example' => '1', - ], + 'title' => '', + ], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'string', 'example' => '5', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'string', 'example' => '1', 'title' => ''], 'Items' => [ - 'description' => 'List of returned data.', + 'description' => 'The list of returned data.', 'type' => 'array', 'items' => [ - 'description' => 'List of returned data.', + 'description' => 'The list of returned data.', 'type' => 'object', 'properties' => [ - 'Date' => [ - 'description' => 'Date.', - 'type' => 'string', - 'example' => '2024-03-24T00:00:00.000Z', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'string', - 'example' => '19', - ], - 'SuccessCount' => [ - 'description' => 'Number of successful calls.', - 'type' => 'string', - 'example' => '1', - ], - 'SceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'string', - 'example' => '20**40', - ], - 'SceneName' => [ - 'description' => 'Scene name.', - 'type' => 'string', - 'example' => '****实名认证', - ], - 'ProductCode' => [ - 'description' => 'Product scheme code, please refer to the financial-grade real-person help documentation.', - 'type' => 'string', - 'example' => 'ID_PLUS', - ], - ], + 'Date' => ['description' => 'The date.', 'type' => 'string', 'example' => '2024-03-24T00:00:00.000Z', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'string', 'example' => '19', 'title' => ''], + 'SuccessCount' => ['description' => 'The number of successful calls.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'SceneId' => ['description' => 'The scene ID.', 'type' => 'string', 'example' => '20**40', 'title' => ''], + 'SceneName' => ['description' => 'The scene name.', 'type' => 'string', 'example' => '****实名认证', 'title' => ''], + 'ProductCode' => ['description' => 'The product solution code. For more information, refer to the financial-grade ID Verification documentation.', 'type' => 'string', 'example' => 'ID_PLUS', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-A***B-A3DC0DE3C83E\\",\\n \\"Success\\": \\"true\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"TotalCount\\": \\"100\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalPage\\": \\"5\\",\\n \\"CurrentPage\\": \\"1\\",\\n \\"Items\\": [\\n {\\n \\"Date\\": \\"2024-03-24T00:00:00.000Z\\",\\n \\"TotalCount\\": \\"19\\",\\n \\"SuccessCount\\": \\"1\\",\\n \\"SceneId\\": \\"20**40\\",\\n \\"SceneName\\": \\"****实名认证\\",\\n \\"ProductCode\\": \\"ID_PLUS\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Financial-grade Data Statistics', - 'requestParamsDescription' => 'StartDate and EndDate are required parameters', - 'translator' => 'machine', - ], - 'CreateCloudauthstScene' => [ - 'summary' => 'Create Cloud Scene', - 'methods' => [ - 'post', - 'get', + 'title' => 'Financial-grade data statistics', + 'requestParamsDescription' => 'StartDate and EndDate are required parameters.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePageFaceVerifyData'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribePageFaceVerifyData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribePageSetting' => [ + 'summary' => 'Queries page settings and returns the reasons for authentication failure.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59099', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], - ], - 'parameters' => [ - [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product code.', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'SMART_VERIFY' => 'SMART_VERIFY', - 'SMART_CARD' => 'SMART_CARD', - 'SMART_COMPARE' => 'SMART_COMPARE', - 'SMART_FLASH' => 'SMART_FLASH', - 'SMART_DETECT' => 'SMART_DETECT', - ], - 'example' => 'SMART_COMPARE', - ], - ], - [ - 'name' => 'SceneName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scene name.', - 'type' => 'string', - 'required' => true, - 'example' => '测试场景', - ], - ], - [ - 'name' => 'StoreImage', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to deliver the files generated from the authentication to the customer\'s OSS:'."\n" - .'- **Y**: Enable'."\n" - .'- **N**: Disable', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], - ], + 'abilityTreeCode' => '59123', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ResultObject' => [ - 'description' => 'The result, indicating whether the operation was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'ID of this request', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', - ], + 'FailReasons' => ['description' => 'The failure reasons.', 'type' => 'string', 'example' => '{'."\n" + .' "11": "认证不通过,可能原因:1、公安网照片缺失;2、公安网照片格式错误;3、公安网照片找不到人脸等可能",'."\n" + .' "1": "认证通过",'."\n" + .' "12": "认证不通过,可能原因:公安网系统异常,无法比对等可能",'."\n" + .' "2": "认证不通过,原因:实名校验不通过",'."\n" + .' "3": "认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证姓名不一致;3、提交的照片为非身份证照片等可能",'."\n" + .' "4": "认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证号码不一致;3、提交的照片为非身份证照片等可能",'."\n" + .' "5": "认证不通过,可能原因:身份证照片有效期已过期(或即将过期)等可能",'."\n" + .' "6": "认证不通过,可能原因:人脸与身份证头像不一致等可能",'."\n" + .' "7": "认证不通过,可能原因:人脸与公安网照片不一致等可能",'."\n" + .' "8": "认证不通过,可能原因:1、提交的身份证照片非身份证原照片;2、未提交有效身份证照片等可能",'."\n" + .' "9": "认证不通过,可能原因:非账号本人操作等可能",'."\n" + .' "10": "认证不通过,可能原因:非同人操作等可能"'."\n" + .' }', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C58A8581-6A5B-55F1-B2EF-1CEAC97DA181', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\"\\n}","type":"json"}]', - 'title' => 'Create Cloud Scene', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to reacquire it before each activation.', - 'translator' => 'machine', - ], - 'DeleteCloudauthstScene' => [ - 'summary' => 'Delete Cloud Scene', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"FailReasons\\": \\"{\\\\n \\\\\\"11\\\\\\": \\\\\\"认证不通过,可能原因:1、公安网照片缺失;2、公安网照片格式错误;3、公安网照片找不到人脸等可能\\\\\\",\\\\n \\\\\\"1\\\\\\": \\\\\\"认证通过\\\\\\",\\\\n \\\\\\"12\\\\\\": \\\\\\"认证不通过,可能原因:公安网系统异常,无法比对等可能\\\\\\",\\\\n \\\\\\"2\\\\\\": \\\\\\"认证不通过,原因:实名校验不通过\\\\\\",\\\\n \\\\\\"3\\\\\\": \\\\\\"认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证姓名不一致;3、提交的照片为非身份证照片等可能\\\\\\",\\\\n \\\\\\"4\\\\\\": \\\\\\"认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证号码不一致;3、提交的照片为非身份证照片等可能\\\\\\",\\\\n \\\\\\"5\\\\\\": \\\\\\"认证不通过,可能原因:身份证照片有效期已过期(或即将过期)等可能\\\\\\",\\\\n \\\\\\"6\\\\\\": \\\\\\"认证不通过,可能原因:人脸与身份证头像不一致等可能\\\\\\",\\\\n \\\\\\"7\\\\\\": \\\\\\"认证不通过,可能原因:人脸与公安网照片不一致等可能\\\\\\",\\\\n \\\\\\"8\\\\\\": \\\\\\"认证不通过,可能原因:1、提交的身份证照片非身份证原照片;2、未提交有效身份证照片等可能\\\\\\",\\\\n \\\\\\"9\\\\\\": \\\\\\"认证不通过,可能原因:非账号本人操作等可能\\\\\\",\\\\n \\\\\\"10\\\\\\": \\\\\\"认证不通过,可能原因:非同人操作等可能\\\\\\"\\\\n }\\",\\n \\"RequestId\\": \\"C58A8581-6A5B-55F1-B2EF-1CEAC97DA181\\"\\n}","type":"json"}]', + 'title' => 'Query page settings', + 'description' => 'Request method: Only HTTPS POST requests are supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePageSetting'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribePageSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeProductCode' => [ + 'summary' => 'Retrieves the product codes for financial-grade ID Verification.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59107', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'ID of the scene to be deleted.', - 'type' => 'string', - 'required' => true, - 'example' => '4275001', - ], - ], + 'abilityTreeCode' => '59124', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ResultObject' => [ - 'description' => 'Return result.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '969434DF-926B-4997-9881-4DE94E39F805', + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'PageSize' => ['description' => 'The number of products displayed per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '7FBBADA3-9A66-5759-8AF8-2F99F5BE13F7', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Items' => [ + 'description' => 'The list of product code information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProductName' => ['description' => 'The name corresponding to the product code.', 'type' => 'string', 'example' => 'APP认证', 'title' => ''], + 'ProductCode' => ['description' => 'The product code.', 'type' => 'string', 'example' => 'ID_PRO', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"969434DF-926B-4997-9881-4DE94E39F805\\"\\n}","type":"json"}]', - 'title' => 'Delete Cloud Scene', - 'description' => 'Request Method: Supports sending requests using HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to re-obtain it before each activation.', - 'translator' => 'machine', - ], - 'DescribeSmartStatisticsPageList' => [ - 'summary' => 'Enhanced Real Person Authentication Call Statistics Pagination Query Interface', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"TotalPage\\": 3,\\n \\"PageSize\\": 20,\\n \\"RequestId\\": \\"7FBBADA3-9A66-5759-8AF8-2F99F5BE13F7\\",\\n \\"TotalCount\\": 1,\\n \\"Items\\": [\\n {\\n \\"ProductName\\": \\"APP认证\\",\\n \\"ProductCode\\": \\"ID_PRO\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Retrieve financial-grade ID verification product codes', + 'description' => 'Request method: Send requests by using the HTTPS GET or POST method.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProductCode'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeProductCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeSmartStatisticsPageList' => [ + 'summary' => 'Queries the invoke statistics of enhanced ID Verification by using a paged query.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8660,70 +5440,38 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '59134', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Start time, using UTC format, in the form of yyyy-MM-ddTHH:mm:ssZ.', - 'type' => 'string', - 'required' => true, - 'example' => '2023-11-01 00:00:00 +0800', - ], + 'schema' => ['description' => 'The start time in UTC. Format: yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'required' => true, 'example' => '2023-11-01 00:00:00 +0800', 'title' => ''], ], [ 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'End time, using UTC format, in the form of yyyy-MM-ddTHH:mm:ssZ.', - 'type' => 'string', - 'required' => true, - 'example' => '2022-11-16 23:59:59 +0800', - ], + 'schema' => ['description' => 'The end time in UTC. Format: yyyy-MM-ddTHH:mm:ssZ.', 'type' => 'string', 'required' => true, 'example' => '2022-11-16 23:59:59 +0800', 'title' => ''], ], [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'string', - 'required' => true, - 'example' => '36**01', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'string', 'required' => true, 'example' => '36**01', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'Current page number.', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page.', - 'type' => 'string', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'string', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'ServiceCode for the real person cloud product, only value: **cloudauthst**.', - 'type' => 'string', - 'required' => false, - 'example' => 'cloudauthst', - ], + 'schema' => ['description' => 'The ServiceCode of the ID Verification product. The value can only be **cloudauthst**.', 'type' => 'string', 'required' => false, 'example' => 'cloudauthst', 'title' => ''], ], ], 'responses' => [ @@ -8731,216 +5479,108 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'Current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalPage' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'PageSize' => [ - 'description' => 'Number of items displayed per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '96943***4E39F805', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '29', - ], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '96943***4E39F805', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '29', 'title' => ''], 'Items' => [ - 'description' => 'Returned data list.', + 'description' => 'The list of returned data.', 'type' => 'array', 'items' => [ - 'description' => 'Returned data list.', + 'description' => 'The list of returned data.', 'type' => 'object', 'properties' => [ - 'Date' => [ - 'description' => 'Date. Format: <i>month/day</i>', - 'type' => 'string', - 'example' => '11/8', - ], - 'SceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20**40', - ], - 'SceneName' => [ - 'description' => 'Scene name.', - 'type' => 'string', - 'example' => '****实名认证', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'SuccessCount' => [ - 'description' => 'Number of successful calls.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PassRate' => [ - 'description' => 'Pass rate.', - 'type' => 'string', - 'example' => '25', - ], - 'ProductCode' => [ - 'description' => 'Product solution Code, please refer to the Enhanced Real Person Help Documentation.', - 'type' => 'string', - 'example' => 'SMART_VERIFY', - ], - ], + 'Date' => ['description' => 'The date. Format: <i>month/day</i>.', 'type' => 'string', 'example' => '11/8', 'title' => ''], + 'SceneId' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '20**40', 'title' => ''], + 'SceneName' => ['description' => 'The scene name.', 'type' => 'string', 'example' => '****实名认证', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'SuccessCount' => ['description' => 'The number of successful calls.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PassRate' => ['description' => 'The pass rate.', 'type' => 'string', 'example' => '25', 'title' => ''], + 'ProductCode' => ['description' => 'The product solution code. For more information, refer to the enhanced ID Verification documentation.', 'type' => 'string', 'example' => 'SMART_VERIFY', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"TotalPage\\": 3,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"96943***4E39F805\\",\\n \\"TotalCount\\": 29,\\n \\"Items\\": [\\n {\\n \\"Date\\": \\"11/8\\",\\n \\"SceneId\\": 0,\\n \\"SceneName\\": \\"****实名认证\\",\\n \\"TotalCount\\": 4,\\n \\"SuccessCount\\": 1,\\n \\"PassRate\\": \\"25\\",\\n \\"ProductCode\\": \\"SMART_VERIFY\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Enhanced Real Person Authentication Call Statistics Pagination Query Interface', - 'translator' => 'machine', - ], - 'CreateAntCloudAuthScene' => [ - 'summary' => 'Create a financial-grade authentication scenario', - 'methods' => [ - 'post', - 'get', + 'title' => 'Query invoke statistics of enhanced ID Verification with paging', + 'changeSet' => [ + ['createdAt' => '2024-04-22T02:38:12.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSmartStatisticsPageList'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeSmartStatisticsPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DescribeVerifyDeviceRiskStatistics' => [ + 'summary' => 'Retrieves statistics of verification devices.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', + 'operationType' => 'none', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59097', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeCode' => '59141', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'SceneName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scene name.', - 'type' => 'string', - 'required' => true, - 'example' => '测试场景', - ], - ], - [ - 'name' => 'StoreImage', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to deliver the files generated from the authentication to the customer\'s OSS:'."\n" - .'- **Y**: Yes'."\n" - .'- **N**: No', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], - ], - [ - 'name' => 'BindMiniProgram', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable binding of the mini program:'."\n" - .'- **Y**: Enable'."\n" - .'- **N (default)**: Not enabled', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], - ], - [ - 'name' => 'MiniProgramName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Mini program name.', - 'type' => 'string', - 'required' => false, - 'example' => '测试APP', - ], - ], - [ - 'name' => 'Platform', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Binding platform for the mini program:'."\n" - .'- **WECHAT**: WeChat'."\n" - .'- **ALIPAY**: Alipay'."\n" - .'- **TIKTOK**: TikTok', - 'type' => 'string', - 'required' => false, - 'example' => 'WECHAT', - ], + 'schema' => ['description' => 'The code of the cloud service.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'CheckFileName', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Name of the uploaded verification file.', - 'type' => 'string', - 'required' => false, - 'example' => '测试.txt', - ], + 'schema' => ['description' => 'The start time of the query. The value is a UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1746720000000', 'title' => ''], ], [ - 'name' => 'CheckFileBody', - 'in' => 'query', - 'schema' => [ - 'description' => 'Content of the uploaded verification file.', - 'type' => 'string', - 'required' => false, - 'example' => '774c4aab45981ff4a86cde9255a11xxx', - ], - ], - [ - 'name' => 'ReturnPicCount', + 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int64', - ], + 'schema' => ['description' => 'The end time.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1748624399999', 'title' => ''], ], [ - 'name' => 'ReturnVideoLength', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int64', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): ID Verification - Enhanced Edition.'."\n" + .'- **cloudauth** (discontinued): ID Verification.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], [ - 'name' => 'DeviceRiskPlus', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'string', 'required' => false, 'example' => '100000xxxx', 'title' => ''], ], ], 'responses' => [ @@ -8948,177 +5588,147 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SceneId' => [ - 'description' => 'Instance ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000015112', - ], - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '01D3BDC6-64C0-58E2-8760-3F1B56AAE299', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B3193814-AE54-50C5-9070-68B69C07287D', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The verification result.', + 'type' => 'object', + 'properties' => [ + 'RootRate' => ['description' => 'The root percentage: total number of rooted devices / total number of risks.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'VirtualVideoRate' => ['description' => 'The virtual video percentage: total number of virtual videos / total number of risks.', 'type' => 'string', 'example' => '23.2', 'title' => ''], + 'RiskCount' => ['description' => 'The number of risks.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'IdFakeRate' => ['description' => 'The total number of suspected fake identities.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'FaceAttackRate' => ['description' => 'The suspected fake face percentage: total number of suspected fake faces / total number of risks.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'SimulatorRate' => ['description' => 'The emulator percentage: total number of emulators / total number of risks.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Items' => [ + 'description' => 'The data items in the response.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data items in the response.', + 'type' => 'object', + 'properties' => [ + 'Date' => ['description' => 'The date.', 'type' => 'string', 'example' => '2025-10-10', 'title' => ''], + 'DailyCallCount' => ['description' => 'The number of daily transactions.', 'type' => 'integer', 'format' => 'int64', 'example' => '11', 'title' => ''], + 'DeviceRiskRate' => ['description' => 'The abnormal device risk ratio.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'IdentityRiskRate' => ['description' => 'The abnormal identity risk ratio.', 'type' => 'string', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SceneId\\": 1000015112,\\n \\"RequestId\\": \\"01D3BDC6-64C0-58E2-8760-3F1B56AAE299\\"\\n}","type":"json"}]', - 'title' => 'Create Cloud Scene', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to reacquire it before each activation.', - 'translator' => 'machine', - ], - 'UpdateAntCloudAuthScene' => [ - 'summary' => 'Update Ant Blockchain Transaction Scenario', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B3193814-AE54-50C5-9070-68B69C07287D\\",\\n \\"ResultObject\\": {\\n \\"RootRate\\": \\"0\\",\\n \\"VirtualVideoRate\\": \\"23.2\\",\\n \\"RiskCount\\": 2,\\n \\"IdFakeRate\\": \\"0\\",\\n \\"FaceAttackRate\\": \\"0\\",\\n \\"SimulatorRate\\": \\"0\\",\\n \\"Items\\": [\\n {\\n \\"Date\\": \\"2025-10-10\\",\\n \\"DailyCallCount\\": 11,\\n \\"DeviceRiskRate\\": \\"0\\",\\n \\"IdentityRiskRate\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Retrieve verification device statistics', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyDeviceRiskStatistics'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyDeviceRiskStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyFailStatistics' => [ + 'summary' => 'Queries the total number of failed authentication requests.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59169', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '59142', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scenario ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1000013372', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'Currently meaningless, can be omitted.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-', - ], - ], - [ - 'name' => 'SceneName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scenario name.', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'StoreImage', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable delivering the authentication files generated during the authentication process to the user\'s OSS:'."\n" - .'- **Y**: Enable'."\n" - .'- **N (default)**: Disable', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => true, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'BindMiniProgram', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable binding to a mini program:'."\n" - .'- **Y**: Enable'."\n" - .'- **N (default)**: Do not enable'."\n" - .'><notice>If enabling the binding of a mini program, please ensure all parameters for the mini program are passed.></notice>'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => 'The start time of the query.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1760025600000', 'title' => ''], ], [ - 'name' => 'MiniProgramName', + 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Mini program name.', - 'type' => 'string', - 'required' => false, - 'example' => '测试APP', - ], + 'schema' => ['description' => 'The end time of the query.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1760630399999', 'title' => ''], ], [ - 'name' => 'Platform', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Binding mini program platform:'."\n" - .'- **WECHAT**: WeChat'."\n" - .'- **ALIPAY**: Alipay'."\n" - .'- **TIKTOK**: TikTok', - 'type' => 'string', - 'required' => false, - 'example' => 'IOS', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): ID Verification Enhanced Edition.'."\n" + .'- **cloudauth** (discontinued): ID Verification.', 'type' => 'string', 'required' => true, 'example' => 'cloudauthst', 'title' => ''], ], [ - 'name' => 'CheckFileName', + 'name' => 'DeviceType', 'in' => 'query', 'schema' => [ - 'description' => 'Name of the uploaded verification file.', + 'description' => 'The device type. Valid values:'."\n" + .'- ios'."\n" + .'- android'."\n" + .'- websdk.', + 'enumValueTitles' => ['android' => 'android', 'websdk' => 'websdk', 'ios' => 'ios'], 'type' => 'string', 'required' => false, - 'example' => '测试.txt', + 'example' => 'ios', + 'title' => '', ], ], [ - 'name' => 'CheckFileBody', + 'name' => 'Api', 'in' => 'query', 'schema' => [ - 'description' => 'Content of the uploaded verification file.', + 'description' => 'The API code. Valid values:'."\n" + .'- **INIT_SERVICE**: server-side initialization failure.'."\n" + .'- **INIT_DEVICE**: client-side failure.'."\n" + .'- **VERIFY_DEVICE**: authentication not passed.', + 'enumValueTitles' => ['VERIFY_DEVICE' => 'VERIFY_DEVICE', 'INIT_SERVICE' => 'INIT_SERVICE', 'INIT_DEVICE' => 'INIT_DEVICE'], 'type' => 'string', - 'required' => false, - 'example' => '774c4aab45981ff4a86cde9255a11xxx', - ], - ], - [ - 'name' => 'ReturnPicCount', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - ], - [ - 'name' => 'ReturnVideoLength', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int64', + 'required' => true, + 'example' => 'INIT_SERVICE', + 'title' => '', ], ], [ - 'name' => 'DeviceRiskPlus', + 'name' => 'AgeGt', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether the age is greater than 14. Valid values:'."\n" + .'- **T**: greater than 14.'."\n" + .'- **F**: less than 14.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], ], ], 'responses' => [ @@ -9126,627 +5736,450 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'A07D5838-2BE0-5D2E-B864-D05ADAA5EDE3', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C2C596D1-B14B-5D79-9672-61D7686912B2', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The authentication result.', + 'type' => 'object', + 'properties' => [ + 'Column' => [ + 'description' => 'The line chart of failure reasons.', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => 'The total count.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'Items' => [ + 'description' => 'The column information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => '404', 'title' => ''], + 'Rate' => ['description' => 'Date: the date.', 'type' => 'string', 'example' => '2025-10-16', 'title' => ''], + 'Count' => ['description' => 'The number of failures.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Line' => [ + 'description' => 'The bar chart of failure reasons.', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => 'The total count.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Items' => [ + 'description' => 'The column information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => '404', 'title' => ''], + 'Data' => [ + 'description' => 'The returned count data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Date' => ['description' => 'The date.', 'type' => 'string', 'example' => '2025-10-16', 'title' => ''], + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => '404', 'title' => ''], + 'Count' => ['description' => 'The count.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07D5838-2BE0-5D2E-B864-D05ADAA5EDE3\\"\\n}","type":"json"}]', - 'title' => 'Update Financial-Level Authentication Scenario', - 'description' => 'Update the information of a financial-level authentication scenario based on the scenario ID.'."\n" - .'- Service address: cloudauth.aliyuncs.com.'."\n" - .'- Request method: HTTPS POST.', - 'translator' => 'machine', - ], - 'DeleteAntCloudAuthScene' => [ - 'summary' => 'Delete Watermark Scene', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C2C596D1-B14B-5D79-9672-61D7686912B2\\",\\n \\"ResultObject\\": {\\n \\"Column\\": {\\n \\"TotalCount\\": 2,\\n \\"Items\\": [\\n {\\n \\"Code\\": \\"404\\",\\n \\"Rate\\": \\"2025-10-16\\",\\n \\"Count\\": 1\\n }\\n ]\\n },\\n \\"Line\\": {\\n \\"TotalCount\\": 0,\\n \\"Items\\": [\\n {\\n \\"Code\\": \\"404\\",\\n \\"Data\\": [\\n {\\n \\"Date\\": \\"2025-10-16\\",\\n \\"Code\\": \\"404\\",\\n \\"Count\\": 9\\n }\\n ]\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Query failed authentication request statistics', + 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyFailStatistics'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyFailStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyPersonasDeviceModelStatistics' => [ + 'summary' => 'Queries the distribution data of phone models used by authenticated users.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59106', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '59145', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], 'parameters' => [ [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'ID of the scene to be deleted.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1000011589', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000015316', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '80D1ACD4-1C7D-53CB-8C54-3758FF03C762', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"80D1ACD4-1C7D-53CB-8C54-3758FF03C762\\"\\n}","type":"json"}]', - 'title' => 'Delete Financial-Level Authentication Scene', - 'description' => '- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'RemoveWhiteListSetting' => [ - 'summary' => 'Delete Real Person Whitelist', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '243505', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', + 'name' => 'ProductCode', + 'in' => 'query', + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ServiceCode', + 'name' => 'TimeRange', 'in' => 'query', - 'schema' => [ - 'description' => 'ServiceCode for the real person cloud product, only value: **antcloudauth**.', - 'type' => 'string', - 'required' => false, - 'example' => 'antcloudauth', - ], + 'schema' => ['description' => 'The time range for the query, specified as the number of preceding days.', 'type' => 'string', 'required' => true, 'example' => '30', 'title' => ''], ], [ - 'name' => 'Ids', + 'name' => 'ServiceCode', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'IDs of the whitelist to be deleted in bulk.', - 'type' => 'array', - 'items' => [ - 'description' => 'List of auto-response rule IDs, as a JSON array.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2653', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): enhanced ID Verification.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '026828A3-CC7E-5D85-85B6-08DF245C5A53', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'boolean', - 'example' => 'true', + 'description' => 'The query result.', + 'type' => 'object', + 'properties' => [ + 'AllDeviceCnt' => ['description' => 'The total number of devices.', 'type' => 'integer', 'format' => 'int64', 'example' => '31', 'title' => ''], + 'Items' => [ + 'description' => 'The list of data for different phone models.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DeviceModel' => ['description' => 'The device model.', 'type' => 'string', 'example' => 'iPhone15,2', 'title' => ''], + 'DeviceCnt' => ['description' => 'The number of devices.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'DeviceRate' => ['description' => 'The ratio of devices of this model to the total number of devices.', 'type' => 'string', 'example' => '16.13', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"ResultObject\\": true\\n}","type":"json"}]', - 'title' => 'Delete Real Person Whitelist', - 'translator' => 'machine', - ], - 'InsertWhiteListSetting' => [ - 'summary' => 'Add Real Person Whitelist', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"026828A3-CC7E-5D85-85B6-08DF245C5A53\\",\\n \\"ResultObject\\": {\\n \\"AllDeviceCnt\\": 31,\\n \\"Items\\": [\\n {\\n \\"DeviceModel\\": \\"iPhone15,2\\",\\n \\"DeviceCnt\\": 5,\\n \\"DeviceRate\\": \\"16.13\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query phone model distribution data of authenticated users', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasDeviceModelStatistics'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasDeviceModelStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyPersonasOsStatistics' => [ + 'summary' => 'Queries the distribution data of ID Verification devices.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '243504', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '59146', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], ], 'parameters' => [ [ - 'name' => 'ServiceCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'ServiceCode for the real person cloud product, value: **antcloudauth**.', - 'type' => 'string', - 'required' => false, - 'example' => 'antcloudauth', - ], - ], - [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication scene ID. This ID is automatically generated after creating an authentication scene in the console. For instructions on how to create an authentication scene, see Adding an Authentication Scene.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100000xxxx', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000002995', 'title' => ''], ], [ - 'name' => 'CertifyId', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for real person authentication.', - 'type' => 'string', - 'required' => false, - 'example' => 'shsf57a4e0d9981c3bd66dc754f3d3cd', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'CertNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '330103xxxxxxxxxxxx', - ], - ], - [ - 'name' => 'ValidDay', + 'name' => 'TimeRange', 'in' => 'query', - 'schema' => [ - 'description' => 'Whitelist validity period in days (only supports 3, 7, 30).', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'The time range for the query, which specifies the number of preceding days.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''], ], [ - 'name' => 'Remark', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Remark, with a length less than 32 characters.', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): enhanced ID Verification.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response schema', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '123906BE-752B-51E3-A8FF-52F53B659CE6', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result', - 'type' => 'boolean', - 'example' => 'true', + 'description' => 'The processing result.', + 'type' => 'object', + 'properties' => [ + 'DeviceIosCnt' => ['description' => 'The number of iOS devices used for ID Verification.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'AllDeviceCnt' => ['description' => 'The total number of devices used for ID Verification.', 'type' => 'integer', 'format' => 'int64', 'example' => '24', 'title' => ''], + 'DeviceAndroidRate' => ['description' => 'The proportion of Android devices.', 'type' => 'string', 'example' => '58.33', 'title' => ''], + 'DeviceIosRate' => ['description' => 'The proportion of iOS devices.', 'type' => 'string', 'example' => '41.67', 'title' => ''], + 'DeviceAndroidCnt' => ['description' => 'The number of Android devices used for ID Verification.', 'type' => 'integer', 'format' => 'int64', 'example' => '14', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"ResultObject\\": true\\n}","type":"json"}]', - 'title' => 'Add Real Person Whitelist', - 'translator' => 'machine', - ], - 'PageQueryWhiteListSetting' => [ - 'summary' => 'Paging Query for Real Person Whitelist Configuration', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"123906BE-752B-51E3-A8FF-52F53B659CE6\\",\\n \\"ResultObject\\": {\\n \\"DeviceIosCnt\\": 10,\\n \\"AllDeviceCnt\\": 24,\\n \\"DeviceAndroidRate\\": \\"58.33\\",\\n \\"DeviceIosRate\\": \\"41.67\\",\\n \\"DeviceAndroidCnt\\": 14\\n }\\n}","type":"json"}]', + 'title' => 'Query ID verification device distribution data', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasOsStatistics'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasOsStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyPersonasProvinceStatistics' => [ + 'summary' => 'Queries authentication statistics by province of the individual.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '243501', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '59147', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], 'parameters' => [ [ - 'name' => 'ServiceCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'ServiceCode of the real person cloud product, value: **antcloudauth**.', - 'type' => 'string', - 'required' => false, - 'example' => 'antcloudauth', - ], - ], - [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication scene ID. This ID is automatically generated after creating an authentication scene in the console. For how to create an authentication scene, see Adding an Authentication Scene.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000000xxx', - ], - ], - [ - 'name' => 'CertifyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for real person authentication.', - 'type' => 'string', - 'required' => false, - 'example' => 'sha75b4e19a1ddda059b920757b0e12b', - ], - ], - [ - 'name' => 'CertNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '330103xxxxxxxxxxxx', - ], - ], - [ - 'name' => 'ValidStartDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'Start date of validity (timestamp in milliseconds)', - 'type' => 'string', - 'required' => false, - 'example' => '1725120000000', - ], - ], - [ - 'name' => 'ValidEndDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'End date of validity (timestamp in milliseconds)', - 'type' => 'string', - 'required' => false, - 'example' => '1725379200000', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000004071', 'title' => ''], ], [ - 'name' => 'Status', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Status:'."\n" - ."\n" - .'- DELETE: Deleted'."\n" - .'- VALID: Not deleted and within the validity period, valid'."\n" - .'- INVALID: Not deleted but outside the validity period, invalid', - 'type' => 'string', - 'required' => false, - 'example' => 'VALID', - ], + 'schema' => ['description' => 'The cloud product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'CurrentPage', + 'name' => 'TimeRange', 'in' => 'query', - 'schema' => [ - 'description' => 'Current page number, default is 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The time range. The search scope is the previous N days. For example, a value of 1 indicates the previous day.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page, default is 10', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): enhanced ID Verification.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates a successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'TotalItem' => [ - 'description' => 'Total number of items.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '28', - ], - 'TotalPage' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'CurrentPage' => [ - 'description' => 'Current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D9821F95-CC18-5439-BB1C-21A0FF0C2003', 'title' => ''], 'ResultObject' => [ - 'description' => 'Request result', - 'type' => 'array', - 'items' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'Whitelist ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '234822', - ], - 'GmtCreate' => [ - 'description' => 'Creation time.', - 'type' => 'string', - 'example' => '2024-08-30 14:00:00', - ], - 'GmtModified' => [ - 'description' => 'Modification time.', - 'type' => 'string', - 'example' => '2024-08-30 14:00:00', - ], - 'ServiceCode' => [ - 'description' => 'ServiceCode of the real person cloud product', - 'type' => 'string', - 'example' => 'antcloudauth', - ], - 'CertifyId' => [ - 'description' => 'Unique identifier for real person authentication.', - 'type' => 'string', - 'example' => 'sha43d9cabd52d370d9f4cca9468f71e', - ], - 'CertNo' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'example' => '330103xxxxxxxxxxxx'."\n", - ], - 'SceneId' => [ - 'description' => 'Authentication scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000000332', - ], - 'ValidStartDate' => [ - 'description' => 'Start date of validity', - 'type' => 'string', - 'example' => '2024-08-30 13:57:51', - ], - 'ValidEndDate' => [ - 'description' => 'End date of validity', - 'type' => 'string', - 'example' => '2024-09-02 13:57:51', - ], - 'Status' => [ - 'description' => 'Status:'."\n" - ."\n" - .'- DELETE: Deleted'."\n" - .'- VALID: Not deleted and within the validity period, valid'."\n" - .'- INVALID: Not deleted but outside the validity period, invalid', - 'type' => 'string', - 'example' => 'VALID', - ], - 'Remark' => [ - 'description' => 'Remark information.', - 'type' => 'string', - 'example' => 'test', + 'description' => 'The query result.', + 'type' => 'object', + 'properties' => [ + 'AllUserCnt' => ['description' => 'The total number of devices.', 'type' => 'integer', 'format' => 'int64', 'example' => '30', 'title' => ''], + 'Items' => [ + 'description' => 'The data items.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProvinceName' => ['description' => 'The province name.', 'type' => 'string', 'example' => '浙江', 'title' => ''], + 'ProvinceCnt' => ['description' => 'The total number of devices in the province.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'ProvinceRate' => ['description' => 'The percentage of the province relative to the total.', 'type' => 'string', 'example' => '35.71', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"TotalItem\\": 28,\\n \\"TotalPage\\": 3,\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": 234822,\\n \\"GmtCreate\\": \\"2024-08-30 14:00:00\\",\\n \\"GmtModified\\": \\"2024-08-30 14:00:00\\",\\n \\"ServiceCode\\": \\"antcloudauth\\",\\n \\"CertifyId\\": \\"sha43d9cabd52d370d9f4cca9468f71e\\",\\n \\"CertNo\\": \\"330103xxxxxxxxxxxx\\\\n\\",\\n \\"SceneId\\": 1000000332,\\n \\"ValidStartDate\\": \\"2024-08-30 13:57:51\\",\\n \\"ValidEndDate\\": \\"2024-09-02 13:57:51\\",\\n \\"Status\\": \\"VALID\\",\\n \\"Remark\\": \\"test\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Paging Query for Real Person Whitelist Configuration', - 'translator' => 'machine', - ], - 'CreateAuthKey' => [ - 'summary' => 'Call CreateAuthKey to get the authorization key, which is used for offline face recognition SDK activation.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D9821F95-CC18-5439-BB1C-21A0FF0C2003\\",\\n \\"ResultObject\\": {\\n \\"AllUserCnt\\": 30,\\n \\"Items\\": [\\n {\\n \\"ProvinceName\\": \\"浙江\\",\\n \\"ProvinceCnt\\": 5,\\n \\"ProvinceRate\\": \\"35.71\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query authentication statistics by province', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasProvinceStatistics'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasProvinceStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyPersonasSexStatistics' => [ + 'summary' => 'Queries ID Verification statistics by gender.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59098', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'BizType', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Business type. No more than 64 characters. Can be used to note specific business, such as different face usage scenarios of the access party or the customer identifier to be delivered. It is recommended to pass this parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'FACE_TEST', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000002996', 'title' => ''], ], [ - 'name' => 'UserDeviceId', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'User device ID. No more than 64 characters. Can be used to identify a specific device, and it is suggested to use the physical number of the device. It is recommended to pass this parameter.', - 'type' => 'string', - 'required' => false, - 'example' => '3iJ1AY$oHcu7mC69', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'Test', + 'name' => 'TimeRange', 'in' => 'query', - 'schema' => [ - 'description' => 'Test flag. If true, it indicates using test authorization with a default duration of 30 days; if false, the authorization duration will be based on AuthYears.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The time range. The search scope is the previous N days. For example, a value of 1 indicates the previous day.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''], ], [ - 'name' => 'AuthYears', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'When the Test flag is false or empty, AuthYears is required, in years, with a range of [1,100]. A value of 100 indicates permanent authorization.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): enhanced ID Verification.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], ], 'responses' => [ @@ -9754,262 +6187,244 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AuthKey' => [ - 'description' => 'The key that can be used for authorization activation. The authorization key is valid for 30 minutes and cannot be reused. It is recommended to re-obtain it before each activation.', - 'type' => 'string', - 'example' => 'auth.1KQMcnLd4m37LN2D0F0WCD-1qtQI$', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '013DA6E1-3F37-5579-B979-2F12B7E92450', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'Age0To14Rate' => ['description' => 'The proportion of authenticated users aged 14 and under.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Age14To18Cnt' => ['description' => 'The number of authenticated users aged 14 to 18.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FemaleCnt' => ['description' => 'The number of female authenticated users.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''], + 'AllUserCnt' => ['description' => 'The total number of authenticated users.', 'type' => 'integer', 'format' => 'int64', 'example' => '14', 'title' => ''], + 'Age14To18Rate' => ['description' => 'The proportion of authenticated users aged 14 to 18.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Age0To14Cnt' => ['description' => 'The number of authenticated users aged 14 and under.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'MaleCnt' => ['description' => 'The number of male authenticated users.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'Age50To999Rate' => ['description' => 'The number of authenticated users aged 50 and over.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Age35To50Rate' => ['description' => 'The proportion of authenticated users aged 35 to 50.', 'type' => 'string', 'example' => '35.71', 'title' => ''], + 'FemaleRate' => ['description' => 'The proportion of female authenticated users.', 'type' => 'string', 'example' => '28.57', 'title' => ''], + 'Age18To35Rate' => ['description' => 'The proportion of authenticated users aged 18 to 35.', 'type' => 'string', 'example' => '64.29', 'title' => ''], + 'Age18To35Cnt' => ['description' => 'The number of authenticated users aged 18 to 35.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'Age35To50Cnt' => ['description' => 'The number of authenticated users aged 35 to 50.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'Age50To999Cnt' => ['description' => 'The number of authenticated users aged 50 and over.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'MaleRate' => ['description' => 'The proportion of male authenticated users.', 'type' => 'string', 'example' => '71.43', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AuthKey\\": \\"auth.1KQMcnLd4m37LN2D0F0WCD-1qtQI$\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n<CreateAuthKeyResponse>\\r\\n <Data>\\r\\n <AuthKey>auth.1KQMcnLd4m37LN2D0F0WCD-1qtQI$</AuthKey>\\r\\n </Data>\\r\\n <Success>true</Success>\\r\\n <Code>1</Code>\\r\\n</CreateAuthKeyResponse>","errorExample":""}]', - 'title' => 'CreateAuthKey', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to re-obtain it before each activation.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', - ], - 'DescribeOssUploadToken' => [ - 'summary' => 'Call DescribeOssUploadToken to get the Token required for uploading photos to OSS.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"013DA6E1-3F37-5579-B979-2F12B7E92450\\",\\n \\"ResultObject\\": {\\n \\"Age0To14Rate\\": \\"0\\",\\n \\"Age14To18Cnt\\": 0,\\n \\"FemaleCnt\\": 4,\\n \\"AllUserCnt\\": 14,\\n \\"Age14To18Rate\\": \\"0\\",\\n \\"Age0To14Cnt\\": 0,\\n \\"MaleCnt\\": 10,\\n \\"Age50To999Rate\\": \\"0\\",\\n \\"Age35To50Rate\\": \\"35.71\\",\\n \\"FemaleRate\\": \\"28.57\\",\\n \\"Age18To35Rate\\": \\"64.29\\",\\n \\"Age18To35Cnt\\": 9,\\n \\"Age35To50Cnt\\": 5,\\n \\"Age50To999Cnt\\": 0,\\n \\"MaleRate\\": \\"71.43\\"\\n }\\n}","type":"json"}]', + 'title' => 'Query ID verification statistics by gender', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasSexStatistics'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasSexStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyResult' => [ + 'summary' => 'Queries the result of an ID Verification task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59122', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', + 'abilityTreeCode' => '59150', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + ], + 'parameters' => [ + [ + 'name' => 'BizId', + 'in' => 'query', + 'schema' => ['description' => 'The verification ID. A unique ID that identifies a verification task. The value can be up to 64 characters in length. For a single verification task, the system supports unlimited submissions until the verification is passed and the task is completed.'."\n" + .'> Use a different BizId for each verification task.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '39ecf51e-2f81-4dc5-90ee-ff86125b****', 'title' => ''], + ], + [ + 'name' => 'BizType', + 'in' => 'query', + 'schema' => ['description' => 'The business scenario identifier of the ID Verification service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FVBioOnlyTest', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '2FA2C773-47DB-4156-B1EE-5B047321A939', - ], - 'OssUploadToken' => [ - 'description' => 'Information about the OSS upload Token.', + 'AuthorityComparisionScore' => ['description' => 'The comparison score between the face photo submitted during verification and the authoritative data. Value range: **0** to **100**.'."\n" + ."\n" + .'Confidence threshold reference:'."\n" + ."\n" + .'- When the false acceptance rate is 0.001%, the corresponding threshold is 95.'."\n" + .'- When the false acceptance rate is 0.01%, the corresponding threshold is 90.'."\n" + .'- When the false acceptance rate is 0.1%, the corresponding threshold is 80.'."\n" + .'- When the false acceptance rate is 1%, the corresponding threshold is 60.'."\n" + ."\n" + .'> This field only indicates the comparison result between the face and the authoritative data and is for reference only. Do not use this value alone as the criterion for determining whether the verification is passed. For the comprehensive verification result, refer to the **VerifyStatus** field. The **VerifyStatus** result combines the face-to-authoritative-data comparison with multiple other strategies to improve security.', 'type' => 'number', 'format' => 'float', 'example' => '97', 'title' => ''], + 'VerifyStatus' => ['description' => 'The verification status. Valid values:'."\n" + ."\n" + .'- **-1**: not verified.'."\n" + .'- **1**: verification passed.'."\n" + .'- **2** to **n**: verification failed due to various reasons. For more information, see the verification status description.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'FaceComparisonScore' => ['description' => 'The comparison score between the face photo submitted during verification and the face in the retained face image. Value range: **0** to **100**.'."\n" + ."\n\n" + .'Confidence threshold reference:'."\n" + ."\n" + .'- When the false acceptance rate is 0.001%, the corresponding threshold is 95.'."\n" + .'- When the false acceptance rate is 0.01%, the corresponding threshold is 90.'."\n" + .'- When the false acceptance rate is 0.1%, the corresponding threshold is 80.'."\n" + .'- When the false acceptance rate is 1%, the corresponding threshold is 60.', 'type' => 'number', 'format' => 'float', 'example' => '97', 'title' => ''], + 'IdCardFaceComparisonScore' => ['description' => 'The comparison score between the face photo submitted during verification and the face on the ID card photo. Value range: **0** to **100**.'."\n" + ."\n\n" + .'Confidence threshold reference:'."\n" + ."\n" + .'- When the false acceptance rate is 0.001%, the corresponding threshold is 95.'."\n" + .'- When the false acceptance rate is 0.01%, the corresponding threshold is 90.'."\n" + .'- When the false acceptance rate is 0.1%, the corresponding threshold is 80.'."\n" + .'- When the false acceptance rate is 1%, the corresponding threshold is 60.', 'type' => 'number', 'format' => 'float', 'example' => '97', 'title' => ''], + 'Material' => [ + 'description' => 'The verification materials.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The Key required for file upload.', - 'type' => 'string', - 'example' => 'STS.NU8rUBj****', - ], - 'Token' => [ - 'description' => 'The Token required for file upload.', - 'type' => 'string', - 'example' => 'uWia500nTS5knZaDzq4/KqpvhcLnO****', - ], - 'Secret' => [ - 'description' => 'The Secret required for file upload.', - 'type' => 'string', - 'example' => 'FwmnyoqT8dHj7nJLuM67T****', - ], - 'Expired' => [ - 'description' => 'Expiration time.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1582636610000', - ], - 'Path' => [ - 'description' => 'File storage path.', - 'type' => 'string', - 'example' => 'prod/RdNLC@Ox2n-1s7NMt', - ], - 'EndPoint' => [ - 'description' => 'Access endpoint.', - 'type' => 'string', - 'example' => 'https://oss-cn-zhangjiakou.aliyuncs.com', + 'IdCardNumber' => ['description' => 'The ID card number.', 'type' => 'string', 'example' => '02343218901123****', 'title' => ''], + 'FaceGlobalUrl' => ['description' => 'The global camera image captured by the ID Verification SDK.'."\n" + ."\n" + .'> This parameter takes effect only after configuration. If you need to use this parameter, [submit a ticket](https://selfservice.console.aliyun.com/ticket/category/cloudauth/today) to contact us.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg ', 'title' => ''], + 'FaceImageUrl' => ['description' => 'The HTTP or HTTPS URL of the face photo. The URL is valid for 5 minutes. Save the image to avoid access issues.'."\n" + .'> If the HTTP or HTTPS URL of the face photo has expired, call [DescribeVerifyResult](~~154606~~) again to obtain a new URL.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/face-image-example.jpg', 'title' => ''], + 'FaceMask' => ['description' => 'Indicates whether the face is wearing a mask. Valid values:'."\n" + .'- **true**: A mask is detected.'."\n" + .'- **false**: No mask is detected.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'IdCardName' => ['description' => 'The name on the ID card.', 'type' => 'string', 'example' => '张三', 'title' => ''], + 'FaceQuality' => ['description' => 'The quality of the face photo. Valid values:'."\n" + .'- **UNQUALIFIED**: poor quality.'."\n" + .'- **LOW**: low quality.'."\n" + .'- **NORMAL**: moderate quality.'."\n" + .'- **HIGH**: high quality.', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'VideoUrls' => [ + 'description' => 'The URL of the recorded video returned by the legacy RPH5BioOnly solution.', + 'type' => 'array', + 'items' => ['description' => 'The URL of the recorded video returned by the legacy RPH5BioOnly solution.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'Bucket' => [ - 'description' => 'OSS bucket for file storage.', - 'type' => 'string', - 'example' => 'cloudauth-zhangjiakou-external', + 'IdCardInfo' => [ + 'description' => 'The OCR result of the ID card information.'."\n" + .'> If no front or back image of the ID card is provided during verification, the ID Verification service does not return the OCR result. Even if front and back images are provided, the service does not guarantee that all information on the ID card will be returned. OCR information may be incomplete when the ID card photo is blurry or has lighting issues that prevent character recognition. Do not create a strong dependency on the ID card OCR information in your business logic.', + 'type' => 'object', + 'properties' => [ + 'EndDate' => ['description' => 'The expiration date of the ID card. Format: yyyymmdd.', 'type' => 'string', 'example' => '20201101', 'title' => ''], + 'Authority' => ['description' => 'The issuing authority.', 'type' => 'string', 'example' => '杭州市公安局', 'title' => ''], + 'Address' => ['description' => 'The address.', 'type' => 'string', 'example' => '浙江省杭州市余杭区文一西路969号', 'title' => ''], + 'Number' => ['description' => 'The ID card number.', 'type' => 'string', 'example' => '02343218901123****', 'title' => ''], + 'StartDate' => ['description' => 'The start date of the ID card validity period. Format: yyyymmdd.', 'type' => 'string', 'example' => '20201101', 'title' => ''], + 'BackImageUrl' => ['description' => 'The HTTP or HTTPS URL of the national emblem side of the ID card. The URL is valid for 5 minutes. Save the image to avoid access issues.'."\n" + .'> If the HTTP or HTTPS URL has expired, call DescribeVerifyResult again to obtain a new URL.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg', 'title' => ''], + 'Nationality' => ['description' => 'The ethnicity.', 'type' => 'string', 'example' => '汉', 'title' => ''], + 'Birth' => ['description' => 'The date of birth.', 'type' => 'string', 'example' => '19900101', 'title' => ''], + 'Name' => ['description' => 'The name on the ID card.', 'type' => 'string', 'example' => '张三', 'title' => ''], + 'FrontImageUrl' => ['description' => 'The HTTP or HTTPS URL of the portrait side of the ID card. The URL is valid for 5 minutes. Save the image to avoid access issues.'."\n" + .'> If the HTTP or HTTPS URL has expired, call DescribeVerifyResult again to obtain a new URL.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2FA2C773-47DB-4156-B1EE-5B047321A939\\",\\n \\"OssUploadToken\\": {\\n \\"Key\\": \\"STS.NU8rUBj****\\",\\n \\"Token\\": \\"uWia500nTS5knZaDzq4/KqpvhcLnO****\\",\\n \\"Secret\\": \\"FwmnyoqT8dHj7nJLuM67T****\\",\\n \\"Expired\\": 1582636610000,\\n \\"Path\\": \\"prod/RdNLC@Ox2n-1s7NMt\\",\\n \\"EndPoint\\": \\"https://oss-cn-zhangjiakou.aliyuncs.com\\",\\n \\"Bucket\\": \\"cloudauth-zhangjiakou-external\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeOssUploadTokenResponse>\\n <OssUploadToken class=\\"object\\">\\n <Bucket type=\\"string\\">cloudauth-zhangjiakou-external</Bucket>\\n <EndPoint type=\\"string\\">https://oss-cn-zhangjiakou.aliyuncs.com</EndPoint>\\n <Expired type=\\"number\\">1582636610000</Expired>\\n <Key type=\\"string\\">STS.NU8rUBj****</Key>\\n <Path type=\\"string\\">prod/RdNLC@Ox2n-1s7NMt</Path>\\n <Secret type=\\"string\\">FwmnyoqT8dHj7nJLuM67T****</Secret>\\n <Token type=\\"string\\">uWia500nTS5knZaDzq4/KqpvhcLnO****</Token>\\n </OssUploadToken>\\n <RequestId type=\\"string\\">46FF6F40-59F9-4108-BA2C-E6BA7E816F1F</RequestId>\\n</DescribeOssUploadTokenResponse>\\n","errorExample":""}]', - 'title' => 'DescribeOssUploadToken', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', - ], - 'CreateVerifySetting' => [ - 'summary' => 'Call CreateVerifySetting to create a verification scenario configuration. This operation is equivalent to creating a new verification scenario on the console.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'errorCodes' => [ + 410 => [ + ['errorCode' => 'DataExpired', 'errorMessage' => 'The data has expired and the records have been deleted.', 'description' => ''], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '59103', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AuthorityComparisionScore\\": 97,\\n \\"VerifyStatus\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"FaceComparisonScore\\": 97,\\n \\"IdCardFaceComparisonScore\\": 97,\\n \\"Material\\": {\\n \\"IdCardNumber\\": \\"02343218901123****\\",\\n \\"FaceGlobalUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg \\",\\n \\"FaceImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/face-image-example.jpg\\",\\n \\"FaceMask\\": false,\\n \\"IdCardName\\": \\"张三\\",\\n \\"FaceQuality\\": \\"NORMAL\\",\\n \\"VideoUrls\\": [\\n \\"-\\"\\n ],\\n \\"IdCardInfo\\": {\\n \\"EndDate\\": \\"20201101\\",\\n \\"Authority\\": \\"杭州市公安局\\",\\n \\"Address\\": \\"浙江省杭州市余杭区文一西路969号\\",\\n \\"Number\\": \\"02343218901123****\\",\\n \\"StartDate\\": \\"20201101\\",\\n \\"BackImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg\\",\\n \\"Nationality\\": \\"汉\\",\\n \\"Birth\\": \\"19900101\\",\\n \\"Name\\": \\"张三\\",\\n \\"FrontImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Query verification result', + 'description' => 'Before you begin: Before calling this API, make sure that you have completed the required preparations. For more information, see [ID Verification server-side integration preparations](~~127471~~) and [Face liveness verification server-side integration preparations](~~127717~~).'."\n" + ."\n" + .'> Alibaba Cloud ID Verification retains verification data for only the last 180 days. To use verification data for subsequent business purposes, call this operation promptly to retrieve and store the data to avoid data loss.'."\n" + ."\n" + .'Request method: HTTPS POST and GET.'."\n" + ."\n" + .'Operation description: After the caller\'s mobile client receives a callback, the server can call this operation to obtain the corresponding verification status and verification materials.'."\n" + ."\n" + .'Applicable scope: This operation is applicable to the SDK + server-side integration verification solution.', + 'responseParamsDescription' => '**Verification status description**.'."\n" + ."\n" + .'| VerifyStatus | Reason | Remarks |'."\n" + .'|--------------|--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|'."\n" + .'| -1 | Not verified. | This status typically occurs when the verification request from the client is not submitted successfully. For example, the user exits the verification process, or the user\'s name and ID card number fail real-name verification. |'."\n" + .'| 1 | Verification passed. | This status applies to both the ID Verification solution and the face liveness verification solution. |'."\n" + .'| 2 | Verification failed. Possible reason: real-name verification failed. | This status applies only to the ID Verification solution. |'."\n" + .'| 3 | Verification failed. Possible reason: the ID card photo is blurry or has lighting issues that prevent character recognition, the ID card photo information does not match the name to be verified, or the submitted photo is not an ID card photo. | This status applies only to the ID Verification solution. |'."\n" + .'| 4 | Verification failed. Possible reason: the ID card photo is blurry or has lighting issues that prevent character recognition, the ID card photo information does not match the ID card number to be verified, or the submitted photo is not an ID card photo. | This status applies only to the ID Verification solution. |'."\n" + .'| 5 | Verification failed. Possible reason: the ID card has expired or is about to expire. | This status applies only to the ID Verification solution. |'."\n" + .'| 6 | Verification failed. Possible reason: the face does not match the ID card photo. | This status applies only to the ID Verification solution. |'."\n" + .'| 7 | Verification failed. Possible reason: the face does not match the photo in the public security database. | This status applies only to the ID Verification solution. |'."\n" + .'| 8 | Verification failed. Possible reason: the submitted ID card photo is not an original ID card photo, or no valid ID card photo was submitted. | This status applies only to the ID Verification solution. |'."\n" + .'| 9 | Verification failed. Possible reason: the operation was not performed by the account holder. | This status applies to both the ID Verification solution and the face liveness verification solution. |'."\n" + .'| 10 | Verification failed. Possible reason: the operation was not performed by the same person. | This status applies only to the face liveness verification solution. |'."\n" + .'| 11 | Verification failed. Possible reason: the photo in the public security database is missing, has a format error, or no face was detected in the photo. | This status applies only to the ID Verification solution. |'."\n" + .'| 12 | Verification failed. Possible reason: the public security database system is abnormal and photo comparison cannot be performed. | This status applies only to the ID Verification solution.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyResult'], ], ], - 'parameters' => [ - [ - 'name' => 'BizType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Verification scenario identifier, supporting English letters, numbers, and hyphens (-), with a maximum of 20 characters.', - 'type' => 'string', - 'required' => true, - 'example' => 'UserRegister', - ], - ], - [ - 'name' => 'BizName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Verification scenario name, supporting Chinese, English, numbers, and hyphens (-), with a maximum of 20 characters.', - 'type' => 'string', - 'required' => true, - 'example' => '用户注册', - ], - ], - [ - 'name' => 'Solution', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the authentication solution to use, such as **RPBasic**, **RPBioOnly**, etc. For all supported authentication solutions, see [Authentication Solutions](~~127521~~).', - 'type' => 'string', - 'required' => true, - 'example' => 'RPBasic', - ], - ], - [ - 'name' => 'GuideStep', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to use the system\'s default guide page.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'PrivacyStep', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to use the system\'s default authorization page.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], + 'ramActions' => [ [ - 'name' => 'ResultStep', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to use the system\'s default result page.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'BizName' => [ - 'description' => 'Verification scenario name.', - 'type' => 'string', - 'example' => '用户注册', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', - ], - 'Solution' => [ - 'description' => 'Authentication solution name.', - 'type' => 'string', - 'example' => 'RPBasic', - ], - 'BizType' => [ - 'description' => 'Verification scenario identifier.', - 'type' => 'string', - 'example' => 'UserRegister', - ], - 'StepList' => [ - 'type' => 'array', - 'items' => [ - 'description' => 'Authentication steps, where GUIDE represents the guide page, PRIVACY represents the authorization page, FACE_LIVENESS represents the liveness detection step, TAKE_ID_PHOTO represents the ID photo taking step, and RESULT represents the result page.', - 'type' => 'string', - 'example' => '["GUIDE","PRIVACY","FACE_LIVENESS","TAKE_ID_PHOTO","RESULT"]', - ], - 'description' => 'Authentication steps', - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BizName\\": \\"用户注册\\",\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Solution\\": \\"RPBasic\\",\\n \\"BizType\\": \\"UserRegister\\",\\n \\"StepList\\": [\\n \\"[\\\\\\"GUIDE\\\\\\",\\\\\\"PRIVACY\\\\\\",\\\\\\"FACE_LIVENESS\\\\\\",\\\\\\"TAKE_ID_PHOTO\\\\\\",\\\\\\"RESULT\\\\\\"]\\"\\n ]\\n}","type":"json"}]', - 'title' => 'CreateVerifySetting', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', ], 'DescribeVerifySDK' => [ - 'summary' => 'Call DescribeVerifySDK to get the offline SDK download address.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Retrieves the download URL of an offline SDK.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10021,20 +6436,13 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '59152', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthK16DVB', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthK16DVB'], ], 'parameters' => [ [ 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The task ID for generating the SDK.', - 'type' => 'string', - 'required' => true, - 'example' => '1KQMcnLd4m37LN2D0F0WCD', - ], + 'schema' => ['description' => 'The ID of the SDK generation task.', 'type' => 'string', 'required' => true, 'example' => '1KQMcnLd4m37LN2D0F0WCD', 'title' => ''], ], ], 'responses' => [ @@ -10042,253 +6450,184 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SdkUrl' => [ - 'description' => 'The SDK download URL. When not empty, it indicates that the generation is complete.', - 'type' => 'string', - 'example' => 'https://www.xxx.com', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'SdkUrl' => ['description' => 'The download URL of the SDK. A non-empty value indicates that the SDK has been generated.', 'type' => 'string', 'example' => 'https://www.xxx.com', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"SdkUrl\\": \\"https://www.xxx.com\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n<DescribeVerifySDKResponse>\\r\\n <Data>\\r\\n <Url>https://www.xxx.com</Url>\\r\\n </Data>\\r\\n <Success>true</Success>\\r\\n</DescribeVerifySDKResponse>\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t","errorExample":""}]', - 'title' => 'DescribeVerifySDK', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SdkUrl\\": \\"https://www.xxx.com\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Retrieve the download URL of an offline SDK', + 'description' => 'Request method: Supports HTTPS POST and GET methods.'."\n" ."\n" - .'Interface Description: Obtain the SDK generation result based on the task ID for generating an offline facial recognition SDK.', + .'Operation description: Retrieves the result of an offline facial recognition SDK generation task based on the task ID.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - 'translator' => 'machine', - ], - 'ModifyDeviceInfo' => [ - 'summary' => 'Call ModifyDeviceInfo to update device-related information, such as extending the device authorization validity period, updating the business party\'s custom business identifier, and device ID. Suitable for scenarios like renewing the device validity period.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2024-04-24T01:45:36.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifySDK'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifySDK', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DescribeVerifySearchPageList' => [ + 'summary' => 'Query authentication details by page with conditions.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59166', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], + 'abilityTreeCode' => '59153', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], 'parameters' => [ [ - 'name' => 'DeviceId', + 'name' => 'CertifyId', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique ID generated by the real-person authentication server for the connected device, which is only generated after the device is successfully activated. This ID can be obtained through the getLicenseExtraInfo function in the offline facial recognition SDK.', - 'type' => 'string', - 'required' => true, - 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', - ], + 'schema' => ['description' => 'The certification ID.', 'type' => 'string', 'required' => false, 'example' => 'shadbdd3dbacd001cfa892a5e2b98dxx', 'title' => ''], ], [ - 'name' => 'UserDeviceId', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The updated user device ID. It should not exceed 64 characters and is defined by the connected party. It can be used to identify specific devices, and it is recommended to use the physical number of the device.', - 'type' => 'string', - 'required' => false, - 'example' => '3iJ1AY$oHcu7mC69', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'string', 'required' => false, 'example' => '10000072xx', 'title' => ''], ], [ - 'name' => 'BizType', + 'name' => 'OuterOrderNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The updated business type. It should not exceed 64 characters and is defined by the connected party. It can be used to annotate specific businesses, for example, different face usage scenarios or the customer identifiers to be delivered.', - 'type' => 'string', - 'required' => false, - 'example' => 'FACE_TEST', - ], + 'schema' => ['description' => 'The unique identifier for the customer request.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ - 'name' => 'Duration', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The extended duration of the device expiration. Unit: years, with a range of [1,100]. A value of 100 indicates permanent use. One year is calculated as 365 days.', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'ExpiredDay', + 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The current expiration time of the device. If the expiration date is incorrect (differing from the real-person authentication server\'s recorded expiration time by more than one week), an error will be reported.'."\n" - .'> The expiration time can be queried through the DescribeDeviceInfo interface. An incorrect expiration date will result in an error. This check ensures that the business party does not accidentally re-activate a device due to some misoperation, thus consuming the authorization unnecessarily.', - 'type' => 'string', - 'required' => false, - 'example' => '20190401', - ], + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => false, 'example' => '3203212000XXXX701X', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'UserDeviceId' => [ - 'description' => 'Corresponds to the UserDeviceId in the request parameters.', - 'type' => 'string', - 'example' => '3iJ1AY$oHcu7mC69', - ], - 'DeviceId' => [ - 'description' => 'Corresponds to the DeviceId in the request parameters.', - 'type' => 'string', - 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', - ], - 'ExpiredDay' => [ - 'description' => 'If the Duration in the request parameters is not empty, this field represents the expiration time of the authorization after the device validity period has been extended. One year of Duration is calculated as 365 days. Example: 20180101.', - 'type' => 'string', - 'example' => '20200330', - ], - 'BeginDay' => [ - 'description' => 'If the Duration in the request parameters is not empty, this field represents the start time of the authorization after the device validity period has been extended. One year of Duration is calculated as 365 days. Example: 20180101.', - 'type' => 'string', - 'example' => '20190401', - ], - 'BizType' => [ - 'description' => 'Corresponds to the BizType in the request parameters.', - 'type' => 'string', - 'example' => 'FACE_TEST', - ], - ], - ], + [ + 'name' => 'StartDate', + 'in' => 'query', + 'schema' => ['description' => 'The query start time.', 'type' => 'string', 'required' => false, 'example' => '2025-10-10 00:00:00 +0800', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"UserDeviceId\\": \\"3iJ1AY$oHcu7mC69\\",\\n \\"DeviceId\\": \\"wd.6ziUffspAeW5FVYbaqmexR-1qwNjM\\",\\n \\"ExpiredDay\\": \\"20200330\\",\\n \\"BeginDay\\": \\"20190401\\",\\n \\"BizType\\": \\"FACE_TEST\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n<ModifyDeviceInfoResponse>\\r\\n <Data>\\r\\n <DeviceId>wd.6ziUffspAeW5FVYbaqmexR-1qwNjM</DeviceId>\\r\\n <UserDeviceId>3iJ1AY$oHcu7mC69</UserDeviceId>\\r\\n <BizType>FACE_TEST</BizType>\\r\\n <BeginDay>20190401</BeginDay>\\r\\n <ExpiredDay>20200330</ExpiredDay>\\r\\n </Data>\\r\\n <Success>true</Success>\\r\\n <Code>1</Code>\\r\\n</ModifyDeviceInfoResponse>\\t\\t\\t\\t","errorExample":""}]', - 'title' => 'Modify Device Info', - 'description' => 'Request Method: Supports sending requests using HTTPS POST and GET methods.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', - ], - 'DescribeDeviceInfo' => [ - 'summary' => 'Call DescribeDeviceInfo to query device-related information, such as the validity period of authorization, business identifiers customized by the access party, and device ID, etc.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'EndDate', + 'in' => 'query', + 'schema' => ['description' => 'The query end time. The format is a Unix timestamp in milliseconds.', 'type' => 'string', 'required' => false, 'example' => '2025-10-16 23:59:59 +0800', 'title' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '59114', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', + [ + 'name' => 'SubCode', + 'in' => 'query', + 'schema' => ['description' => 'The result code. For details, see [SubCode Description](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/error-code-person-verify?spm=a2c4g.11186623.0.0.6015566ebArcFw#d88910e172fgg).'."\n", 'type' => 'string', 'required' => false, 'example' => '201', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'SubCodes', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page in the query.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'Comma-separated result codes. For details, see [SubCode Description](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/error-code-person-verify?spm=a2c4g.11186623.0.0.6015566ebArcFw#d88910e172fgg).'."\n", 'type' => 'string', 'required' => false, 'example' => '201,202', 'title' => ''], + ], + [ + 'name' => 'HasDeviceRisk', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether there is a device risk. Setting this parameter to true indicates that root = 1, simulator = 1, or virtual_video = 1.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'Passed', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the authentication passed:'."\n" + .'- **T**: Passed.'."\n" + .'- **F**: Failed.', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], + ], + [ + 'name' => 'Model', + 'in' => 'query', + 'schema' => ['description' => 'The liveness detection model.', 'type' => 'string', 'required' => false, 'example' => 'LIVENESS', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The current page number being queried.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''], ], [ - 'name' => 'DeviceId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique ID generated by the real-person authentication server for the access party\'s device. This ID is only generated after the device has been successfully activated and can be obtained through the getLicenseExtraInfo function in the offline facial recognition SDK.', - 'type' => 'string', - 'required' => false, - 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'string', 'required' => true, 'example' => '20', 'title' => ''], ], [ - 'name' => 'BizType', + 'name' => 'Root', 'in' => 'query', - 'schema' => [ - 'description' => 'Business type. No more than 64 characters.', - 'type' => 'string', - 'required' => false, - 'example' => 'FACE_TEST', - ], + 'schema' => ['description' => 'Specifies whether the device is rooted. Set to 1 if selected; otherwise, do not pass this parameter. This parameter corresponds to the identity tag risk type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'UserDeviceId', + 'name' => 'Simulator', 'in' => 'query', - 'schema' => [ - 'description' => 'No more than 64 characters, defined by the access party, which can be used to identify a specific device.', - 'type' => 'string', - 'required' => false, - 'example' => '3iJ1AY$oHcu7mC69', - ], + 'schema' => ['description' => 'Specifies whether the device is a simulator. Set to 1 if selected; otherwise, do not pass this parameter. This parameter corresponds to the device tag risk type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ExpiredStartDay', + 'name' => 'VirtualVideo', 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the query, i.e., querying authorizations that will expire between ExpiredStartDay and ExpiredEndDay.', - 'type' => 'string', - 'required' => false, - 'example' => '20190401', - ], + 'schema' => ['description' => 'Specifies whether virtual video is used. Set to 1 if selected; otherwise, do not pass this parameter. This parameter corresponds to the behavior tag risk type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ExpiredEndDay', + 'name' => 'RiskDevice', 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the query, i.e., querying authorizations that will expire between ExpiredStartDay and ExpiredEndDay.', - 'type' => 'string', - 'required' => false, - 'example' => '20200330', - ], + 'schema' => ['description' => 'The device risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'RiskDeviceToken', + 'in' => 'query', + 'schema' => ['description' => 'The DeviceToken risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'RiskGeneric', + 'in' => 'query', + 'schema' => ['description' => 'The generic risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'RiskBizScenario', + 'in' => 'query', + 'schema' => ['description' => 'The business scenario risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'RiskModelMining', + 'in' => 'query', + 'schema' => ['description' => 'The large model mining risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -10296,146 +6635,176 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The current page number being queried.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageSize' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DeviceInfoList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DeviceInfo' => [ - 'description' => 'Array of device information.', - 'type' => 'array', - 'items' => [ + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '47D87BC1-D956-573A-8A15-A9007A76F56C', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '53', 'title' => ''], + 'Items' => [ + 'description' => 'The paginated list data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'GmtVerify' => ['description' => 'The verification time of this authentication record.', 'type' => 'string', 'example' => '2025-10-14 15:40:13', 'title' => ''], + 'Simulator' => ['description' => 'Specifies whether the device is a simulator. Set to 1 if selected; otherwise, do not pass this parameter. This parameter corresponds to the device tag risk type.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '198123xxxxxx', 'title' => ''], + 'CertifyId' => ['description' => 'The certification ID.', 'type' => 'string', 'example' => 'shad861465f2aaeeb805b519e1a93ab2', 'title' => ''], + 'Model' => ['description' => 'The liveness detection scheme.', 'type' => 'string', 'example' => 'MULTI_ACTION', 'title' => ''], + 'OuterOrderNo' => ['description' => 'The unique identifier for the customer request.', 'type' => 'string', 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], + 'CertNo' => ['description' => 'The desensitized ID card number.', 'type' => 'string', 'example' => '3****************2', 'title' => ''], + 'SubCode' => ['description' => 'The error code returned by the system.', 'type' => 'string', 'example' => '207', 'title' => ''], + 'SceneId' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000015352', 'title' => ''], + 'Root' => ['description' => 'Specifies whether the device is rooted. Set to 1 if selected; otherwise, do not pass this parameter. This parameter corresponds to the identity tag risk type.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Passed' => ['description' => 'Specifies whether the authentication passed. Valid values:'."\n" + .'- **T**: Passed.'."\n" + .'- **F**: Failed.', 'type' => 'string', 'example' => 'T', 'title' => ''], + 'VirtualVideo' => ['description' => 'Specifies whether virtual video is used. Set to 1 if selected; otherwise, do not pass this parameter. This parameter corresponds to the behavior tag risk type.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ProductCode' => ['description' => 'The product code.', 'type' => 'string', 'example' => 'ID_PRO', 'title' => ''], + 'ExtInfo' => [ + 'description' => 'The extended information.', 'type' => 'object', 'properties' => [ - 'ExpiredDay' => [ - 'description' => 'Authorization expiration date.', - 'type' => 'string', - 'example' => '20180101', - ], - 'UserDeviceId' => [ - 'description' => 'Corresponds to the UserDeviceId in the request.', - 'type' => 'string', - 'example' => '3iJ1AY$oHcu7mC69', - ], - 'DeviceId' => [ - 'description' => 'Corresponds to the DeviceId in the request.', - 'type' => 'string', - 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', + 'OssIdNationalEmblemObjectName' => ['description' => 'The file name of the OCR ID card national emblem image.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'QualityScore' => ['description' => 'The liveness face quality score.', 'type' => 'number', 'format' => 'float', 'example' => '1.0', 'title' => ''], + 'FaceAttackScore' => ['description' => 'The face attack score. The value ranges from 0 to 1. A value closer to 1 indicates a higher likelihood of an attack.', 'type' => 'number', 'format' => 'float', 'example' => '0.0000445161', 'title' => ''], + 'CertName' => ['description' => 'The desensitized name.', 'type' => 'string', 'example' => '何*', 'title' => ''], + 'FaceAttack' => ['description' => 'Specifies whether a face attack is detected:'."\n" + .'- **T**: Yes.'."\n" + .'- **F**: No.', 'type' => 'string', 'example' => 'T', 'title' => ''], + 'IdCardVerifyScore' => ['description' => 'The face-to-ID card comparison score.', 'type' => 'number', 'format' => 'float', 'example' => '0.9', 'title' => ''], + 'OssIdFaceObjectName' => ['description' => 'The file name of the OCR ID card face image.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'FaceOcclusion' => ['description' => 'Specifies whether the face is occluded. T indicates occlusion detected. F indicates no occlusion.', 'type' => 'string', 'example' => 'T', 'title' => ''], + 'VerifyScore' => ['description' => 'The face comparison score.', 'type' => 'number', 'format' => 'float', 'example' => '0.0', 'title' => ''], + 'OssBucketName' => ['description' => 'The OSS bucket for photos.', 'type' => 'string', 'example' => 'cn-shanghai-aliyun-cloudauth-XXX', 'title' => ''], + 'OssObjectName' => ['description' => 'The storage object name.', 'type' => 'string', 'example' => 'verify/XXXXX1251634779/sha6a0a0cab01288c7aa8ac3f45220eb_0_normal.jpeg', 'title' => ''], + 'asrTexts' => [ + 'description' => 'The list of ASR texts.', + 'type' => 'array', + 'items' => ['description' => 'The ASR text.', 'type' => 'string', 'example' => '请朗读:3 5 8 1', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'BeginDay' => [ - 'description' => 'Authorization start date.', - 'type' => 'string', - 'example' => '20180101', + 'voiceObjectNames' => [ + 'description' => 'The list of audio file OSS object names.', + 'type' => 'array', + 'items' => ['description' => 'The audio file OSS object name.', 'type' => 'string', 'example' => 'XXXXXc3f45220eb_0.mp4'."\n", 'title' => ''], + 'example' => '-', + 'title' => '', ], - 'BizType' => [ - 'description' => 'Corresponds to the BizType in the request.', - 'type' => 'string', - 'example' => 'FACE_TEST', + 'screenVideoObjectNames' => [ + 'description' => 'The list of screen recording file OSS object names.', + 'type' => 'array', + 'items' => ['description' => 'The screen recording file OSS object name.', 'type' => 'string', 'example' => 'XXXXXc3f45220eb_0.mp4', 'title' => ''], + 'example' => '-', + 'title' => '', ], + 'DeviceRisk' => ['description' => 'The Face Guard tags.', 'type' => 'string', 'example' => 'HOOK,ROOT', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], + 'RiskDevice' => ['description' => 'The device risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RiskDeviceToken' => ['description' => 'The DeviceToken risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RiskGeneric' => ['description' => 'The generic risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RiskBizScenario' => ['description' => 'The business scenario risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RiskModelMining' => ['description' => 'The large model mining risk:'."\n" + .'- **0**: No risk.'."\n" + .'- **1**: Risk detected.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 1,\\n \\"DeviceInfoList\\": {\\n \\"DeviceInfo\\": [\\n {\\n \\"ExpiredDay\\": \\"20180101\\",\\n \\"UserDeviceId\\": \\"3iJ1AY$oHcu7mC69\\",\\n \\"DeviceId\\": \\"wd.6ziUffspAeW5FVYbaqmexR-1qwNjM\\",\\n \\"BeginDay\\": \\"20180101\\",\\n \\"BizType\\": \\"FACE_TEST\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n<DescribeDeviceInfoResponse>\\r\\n <Data>\\r\\n <PageSize>20</PageSize>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <TotalCount>1</TotalCount>\\r\\n <Devices>\\r\\n <DeviceId>wd.6ziUffspAeW5FVYbaqmexR-1qwNjM</DeviceId>\\r\\n <UserDeviceId>3iJ1AY$oHcu7mC69</UserDeviceId>\\r\\n <BizType>FACE_TEST</BizType>\\r\\n <BeginDay>20190101</BeginDay>\\r\\n <ExpiredDay>20200101</ExpiredDay>\\r\\n </Devices>\\r\\n </Data>\\r\\n <Success>true</Success>\\r\\n</DescribeDeviceInfoResponse>","errorExample":""}]', - 'title' => 'DescribeDeviceInfo', - 'description' => 'Request Method: Supports sending requests using HTTPS POST and GET methods.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', - ], - 'DeleteWhitelistSetting' => [ - 'summary' => 'Delete Whitelist Configuration', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"TotalPage\\": 4,\\n \\"PageSize\\": 20,\\n \\"RequestId\\": \\"47D87BC1-D956-573A-8A15-A9007A76F56C\\",\\n \\"TotalCount\\": 53,\\n \\"Items\\": [\\n {\\n \\"GmtVerify\\": \\"2025-10-14 15:40:13\\",\\n \\"Simulator\\": 1,\\n \\"UserId\\": \\"198123xxxxxx\\",\\n \\"CertifyId\\": \\"shad861465f2aaeeb805b519e1a93ab2\\",\\n \\"Model\\": \\"MULTI_ACTION\\",\\n \\"OuterOrderNo\\": \\"e0c34a77f5ac40a5aa5e6ed20c353888\\",\\n \\"CertNo\\": \\"3****************2\\",\\n \\"SubCode\\": \\"207\\",\\n \\"SceneId\\": 1000015352,\\n \\"Root\\": 1,\\n \\"Passed\\": \\"T\\",\\n \\"VirtualVideo\\": 1,\\n \\"ProductCode\\": \\"ID_PRO\\",\\n \\"ExtInfo\\": {\\n \\"OssIdNationalEmblemObjectName\\": \\"-\\",\\n \\"QualityScore\\": 1,\\n \\"FaceAttackScore\\": 0.0000445161,\\n \\"CertName\\": \\"何*\\",\\n \\"FaceAttack\\": \\"T\\",\\n \\"IdCardVerifyScore\\": 0.9,\\n \\"OssIdFaceObjectName\\": \\"-\\",\\n \\"FaceOcclusion\\": \\"T\\",\\n \\"VerifyScore\\": 0,\\n \\"OssBucketName\\": \\"cn-shanghai-aliyun-cloudauth-XXX\\",\\n \\"OssObjectName\\": \\"verify/XXXXX1251634779/sha6a0a0cab01288c7aa8ac3f45220eb_0_normal.jpeg\\",\\n \\"asrTexts\\": [\\n \\"请朗读:3 5 8 1\\"\\n ],\\n \\"voiceObjectNames\\": [\\n \\"XXXXXc3f45220eb_0.mp4\\\\n\\"\\n ],\\n \\"screenVideoObjectNames\\": [\\n \\"XXXXXc3f45220eb_0.mp4\\"\\n ],\\n \\"DeviceRisk\\": \\"HOOK,ROOT\\"\\n },\\n \\"RiskDevice\\": 1,\\n \\"RiskDeviceToken\\": 0,\\n \\"RiskGeneric\\": 1,\\n \\"RiskBizScenario\\": 1,\\n \\"RiskModelMining\\": 1\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query Authentication List by Page', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request methods: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifySearchPageList'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifySearchPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyStatistics' => [ + 'summary' => 'Queries the statistics information of authentication requests.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59109', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeCode' => '59155', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], 'parameters' => [ [ - 'name' => 'SourceIp', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Set the source IP address of the visitor. Supports IP addresses in CIDR and IPv4 formats. Example: 10.0.3.0/24.', - 'type' => 'string', - 'required' => false, - 'example' => '120.25.41.25', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'Lang', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Specify the language of the user information to be deleted. Values: -**zh**: Chinese. -**en**: English.', - 'type' => 'string', - 'required' => false, - 'example' => 'zh', - ], + 'schema' => ['description' => 'The start time of the query.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1760025600000', 'title' => ''], + ], + [ + 'name' => 'EndDate', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the query.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1760630399999', 'title' => ''], ], [ 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'ServiceCode for the real-person cloud product, only takes the value: **antcloudauth**.', - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + .'- **antcloudauth**: financial-grade ID Verification.'."\n" + .'- **cloudauthst** (discontinued): enhanced ID Verification.'."\n" + .'- **cloudauth** (discontinued): ID Verification.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], [ - 'name' => 'Ids', + 'name' => 'AgeGt', 'in' => 'query', - 'schema' => [ - 'description' => 'List of rule IDs to be deleted.', - 'type' => 'string', - 'required' => true, - 'example' => '[6222001]', - ], + 'schema' => ['description' => 'Specifies whether the age is older than 14. Valid values:'."\n" + .'- **T**: older than 14'."\n" + .'- **F**: younger than 14.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], ], ], 'responses' => [ @@ -10443,135 +6812,175 @@ 'schema' => [ 'type' => 'object', 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4E27D502-1287-526A-910C-881A3F023914', 'title' => ''], 'ResultObject' => [ - 'description' => 'Return result.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', + 'description' => 'The statistics result.', + 'type' => 'object', + 'properties' => [ + 'InitServiceId' => ['description' => 'The total number of server-side initialization requests for identity deduplication.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'InitServiceIdSuccess' => ['description' => 'The number of successful server-side initializations for identity deduplication.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'InitDeviceIdSuccess' => ['description' => 'The number of successful client-side initializations for identity deduplication.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'InitDeviceId' => ['description' => 'The number of client-side initializations for identity deduplication.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'InitDeviceSuccess' => ['description' => 'The number of successful client-side initialization calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '73', 'title' => ''], + 'VerifyDeviceIdSuccessPassed' => ['description' => 'The number of successful client-side authentications for identity deduplication.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'VerifyDeviceSuccessPassed' => ['description' => 'The number of successful client-side authentications.', 'type' => 'integer', 'format' => 'int64', 'example' => '6', 'title' => ''], + 'VerifyDeviceId' => ['description' => 'The number of client-side authentication attempts for identity deduplication.', 'type' => 'integer', 'format' => 'int64', 'example' => '9', 'title' => ''], + 'VerifyDeviceSuccess' => ['description' => 'The number of successful client-side authentications.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''], + 'InitDevice' => ['description' => 'The number of client-side initializations.', 'type' => 'integer', 'format' => 'int64', 'example' => '73', 'title' => ''], + 'VerifyDeviceIdSuccess' => ['description' => 'The number of successful client-side verifications for identity deduplication.', 'type' => 'integer', 'format' => 'int64', 'example' => '6', 'title' => ''], + 'InitServiceSuccess' => ['description' => 'The number of successful server-side initialization authentications.', 'type' => 'integer', 'format' => 'int64', 'example' => '134', 'title' => ''], + 'InitService' => ['description' => 'The number of server-side initializations.', 'type' => 'integer', 'format' => 'int64', 'example' => '73', 'title' => ''], + 'VerifyDevice' => ['description' => 'The number of client-side verifications.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''], + 'Items' => [ + 'description' => 'The daily pass/conversion rates (PV).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InitDevicePassRate' => ['description' => 'The client-side initialization pass rate.', 'type' => 'string', 'example' => '60', 'title' => ''], + 'InitServicePassRate' => ['description' => 'The server-side initialization pass rate.', 'type' => 'string', 'example' => '20', 'title' => ''], + 'Date' => ['description' => 'The date.', 'type' => 'string', 'example' => '2025-10-11', 'title' => ''], + 'InitServiceConversionRate' => ['description' => 'The server-side initialization conversion rate.', 'type' => 'string', 'example' => '26.67', 'title' => ''], + 'PassRate' => ['description' => 'The pass rate.', 'type' => 'string', 'example' => '75', 'title' => ''], + 'InitService' => ['description' => 'The number of server-side initializations.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\"\\n}","type":"json"}]', - 'title' => 'Delete Whitelist Configuration', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST method.', - 'translator' => 'machine', - ], - 'CreateWhitelistSetting' => [ - 'summary' => 'Create Whitelist', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4E27D502-1287-526A-910C-881A3F023914\\",\\n \\"ResultObject\\": {\\n \\"InitServiceId\\": 9,\\n \\"InitServiceIdSuccess\\": 9,\\n \\"InitDeviceIdSuccess\\": 9,\\n \\"InitDeviceId\\": 9,\\n \\"InitDeviceSuccess\\": 73,\\n \\"VerifyDeviceIdSuccessPassed\\": 3,\\n \\"VerifyDeviceSuccessPassed\\": 6,\\n \\"VerifyDeviceId\\": 9,\\n \\"VerifyDeviceSuccess\\": 15,\\n \\"InitDevice\\": 73,\\n \\"VerifyDeviceIdSuccess\\": 6,\\n \\"InitServiceSuccess\\": 134,\\n \\"InitService\\": 73,\\n \\"VerifyDevice\\": 15,\\n \\"Items\\": [\\n {\\n \\"InitDevicePassRate\\": \\"60\\",\\n \\"InitServicePassRate\\": \\"20\\",\\n \\"Date\\": \\"2025-10-11\\",\\n \\"InitServiceConversionRate\\": \\"26.67\\",\\n \\"PassRate\\": \\"75\\",\\n \\"InitService\\": 15\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query authentication statistics information', + 'description' => '- Request method: HTTPS POST and GET methods are supported.'."\n" + .'- Service address: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyStatistics'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeVerifyToken' => [ + 'summary' => 'Initiates an authentication request and obtains an authentication token. This operation is applicable to authentication schemes that use SDK and server-side integration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59105', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeCode' => '59156', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], ], 'parameters' => [ [ - 'name' => 'SourceIp', + 'name' => 'IdCardBackImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Visitor\'s source IP address. No need to fill in, the system will automatically obtain it.', - 'type' => 'string', - 'required' => false, - 'example' => '27.115.63.58', - ], + 'schema' => ['description' => 'The HTTP or HTTPS URL of the national emblem side of the ID card image.', 'type' => 'string', 'required' => false, 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', 'title' => ''], ], [ - 'name' => 'Lang', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'description' => 'User language.', - 'type' => 'string', - 'required' => false, - 'example' => 'zh', - ], + 'schema' => ['description' => 'The business scenario identifier for using the ID Verification service. Create one in the console first. For more information, see [Business settings](~~127885~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'RPBasicTest', 'title' => ''], ], [ - 'name' => 'ServiceCode', + 'name' => 'FailedRedirectUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'schema' => ['description' => 'The redirect URL upon verification failure.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], ], [ - 'name' => 'SceneId', + 'name' => 'FaceRetainedImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000014526', - ], + 'schema' => ['description' => 'The HTTP or HTTPS URL of the retained face photo.', 'type' => 'string', 'required' => false, 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', 'title' => ''], ], [ - 'name' => 'CertifyId', + 'name' => 'CallbackSeed', 'in' => 'query', - 'schema' => [ - 'description' => 'Certificate ID, used for whitelisting this specific authenticated user.', - 'type' => 'string', - 'required' => false, - 'example' => 'sha6d0405f42926084e396e76a037d00', - ], + 'schema' => ['description' => 'The callback seed.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], ], [ - 'name' => 'CertNo', + 'name' => 'IdCardFrontImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number to be whitelisted.', - 'type' => 'string', - 'required' => false, - 'example' => '44018219950810XXXX', - ], + 'schema' => ['description' => 'The HTTP or HTTPS URL of the portrait side of the ID card image.', 'type' => 'string', 'required' => false, 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', 'title' => ''], ], [ - 'name' => 'ValidDay', + 'name' => 'UserId', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of valid days after creating the whitelist.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '7', - ], + 'schema' => ['description' => 'The ID of the end user, such as the account ID of the end user.', 'type' => 'string', 'required' => false, 'example' => 'user111', 'title' => ''], ], [ - 'name' => 'Remark', + 'name' => 'BizId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'Whitelist remarks.', - 'type' => 'string', - 'required' => false, - 'example' => '测试白名单。', - ], + 'schema' => ['description' => 'The authentication ID. A unique ID that identifies an authentication task. The value can be up to 64 characters in length. For a single authentication task, the system supports unlimited submissions until the authentication is passed and the task is completed.'."\n" + ."\n" + .'> Use a different BizId for each different authentication task.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '39ecf51e-2f81-4dc5-90ee-ff86125be683', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name.', 'type' => 'string', 'required' => false, 'example' => '张三', 'title' => ''], + ], + [ + 'name' => 'IdCardNumber', + 'in' => 'query', + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => false, 'example' => '330100xxxxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'PassedRedirectUrl', + 'in' => 'query', + 'schema' => ['description' => 'The redirect URL upon successful verification.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'CallbackUrl', + 'in' => 'query', + 'schema' => ['description' => 'The callback URL.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'UserIp', + 'in' => 'query', + 'schema' => ['description' => 'The IP address of the user.', 'type' => 'string', 'required' => false, 'example' => '192.168.***.***', 'title' => ''], + ], + [ + 'name' => 'UserPhoneNumber', + 'in' => 'query', + 'schema' => ['description' => 'The phone number of the user.', 'type' => 'string', 'required' => false, 'example' => '187********', 'title' => ''], + ], + [ + 'name' => 'UserRegistTime', + 'in' => 'query', + 'schema' => ['description' => 'The registration time of the user. Specify the value in UNIX timestamp format. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1577808000000', 'title' => ''], ], ], 'responses' => [ @@ -10579,37 +6988,92 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ResultObject' => [ - 'description' => 'Return result, whether the creation was successful:'."\n" - .'- true: Success'."\n" - .'- false: Failure', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => 'CF4979D3-060F-5336-BD9F-0D46ECB66B22', + 'VerifyPageUrl' => ['description' => 'The entry URL for the legacy H5 authentication scheme. This scheme has been discontinued and no longer accepts new integrations. If you need H5 authentication, use the [PC or mobile H5 web integration scheme](~~173779~~) of financial-grade ID Verification.', 'type' => 'string', 'example' => 'http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg', 'title' => ''], + 'RequestId' => ['description' => 'The ID of this request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'VerifyToken' => ['description' => 'The token for this authentication, which is used to connect the various operations in the authentication request. The token is valid for 30 minutes.', 'type' => 'string', 'example' => 'c302c0797679457685410ee51a5ba375', 'title' => ''], + 'OssUploadToken' => [ + 'description' => 'The OSS upload token information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key required for file upload.', 'type' => 'string', 'example' => 'STS.NU8rUBj****', 'title' => ''], + 'Token' => ['description' => 'The token required for file upload.', 'type' => 'string', 'example' => 'uWia500nTS5knZaDzq4/KqpvhcLnO****', 'title' => ''], + 'Secret' => ['description' => 'The secret required for file upload.', 'type' => 'string', 'example' => 'FwmnyoqT8dHj7nJLuM67T****', 'title' => ''], + 'Expired' => ['description' => 'The expiration time. The value is in UNIX timestamp format. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1582636610000', 'title' => ''], + 'Path' => ['description' => 'The file storage path.', 'type' => 'string', 'example' => 'prod/RdNLC@Ox2n-1s7NMt', 'title' => ''], + 'EndPoint' => ['description' => 'The endpoint.', 'type' => 'string', 'example' => 'https://oss-cn-zhangjiakou.aliyuncs.com', 'title' => ''], + 'Bucket' => ['description' => 'The OSS bucket for file storage.', 'type' => 'string', 'example' => 'cloudauth-zhangjiakou-external', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": true,\\n \\"RequestId\\": \\"CF4979D3-060F-5336-BD9F-0D46ECB66B22\\"\\n}","type":"json"}]', - 'title' => 'Create Whitelist', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST.', - 'translator' => 'machine', - ], - 'DescribeWhitelistSetting' => [ - 'summary' => 'Get Whitelist Collection Get Whitelist Collection', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.ImageValuePatternError', 'errorMessage' => 'The pattern of value of given image is not acceptable.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission', 'errorMessage' => 'RAM caller has no permission', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VerifyPageUrl\\": \\"http%3A%2F%2Fjiangsu.china.com.cn%2Fuploadfile%2F2015%2F0114%2F1421221304095989.jpg\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"VerifyToken\\": \\"c302c0797679457685410ee51a5ba375\\",\\n \\"OssUploadToken\\": {\\n \\"Key\\": \\"STS.NU8rUBj****\\",\\n \\"Token\\": \\"uWia500nTS5knZaDzq4/KqpvhcLnO****\\",\\n \\"Secret\\": \\"FwmnyoqT8dHj7nJLuM67T****\\",\\n \\"Expired\\": 1582636610000,\\n \\"Path\\": \\"prod/RdNLC@Ox2n-1s7NMt\\",\\n \\"EndPoint\\": \\"https://oss-cn-zhangjiakou.aliyuncs.com\\",\\n \\"Bucket\\": \\"cloudauth-zhangjiakou-external\\"\\n }\\n}","type":"json"}]', + 'title' => 'Obtain an authentication token', + 'description' => 'Preparations: Before calling this operation, make sure that you have completed the required preparations. For more information, see [Overview of the ID Verification scheme integration process](~~127536~~) and [Overview of the face liveness verification scheme (liveness detection scheme) integration process](~~127687~~).'."\n" + ."\n" + .'Request method: HTTPS POST and GET.'."\n" + ."\n" + .'Operation description: Before each authentication, call this operation to obtain an authentication token (VerifyToken), which is used to connect the various operations in the authentication request.'."\n" + ."\n" + .'Scope of application: This operation is applicable to mobile SDK integration.'."\n" + ."\n" + .'Image URL: Use a publicly accessible HTTP or HTTPS URL. Example: `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" + ."\n" + .'Image limits:'."\n" + ."\n" + .'- The relative path or absolute path of local images is not supported.'."\n" + .'- Keep the size of a single image within 2 MB to avoid algorithm fetch timeout.'."\n" + .'- The face area in the image must be at least 64 × 64 pixels (px).'."\n" + .'- The body of a single request has a size limit of 8 MB. Make sure that the total size of all images and other information in the request does not exceed this limit.', + 'requestParamsDescription' => ' The required fields vary depending on the selected authentication scheme. For more information, see the following table.'."\n" + ."\n" + .'| Authentication Scheme | Name | IdCardNumber | IdCardFrontImageUrl | IdCardBackImageUrl | FaceRetainedImageUrl |'."\n" + .'|-----------|----------|------------------|-------------------------|------------------------|--------------------------|'."\n" + .'| RPBasic | No | No | No | No | No |'."\n" + .'| RPManual | No | No | No | No | No |'."\n" + .'| RPBioID | Yes | Yes | No | No | No |'."\n" + .'| RPBioOnly | Yes | Yes | Optional | Optional | No |'."\n" + .'| FVBioOnly | No | No | No | No | Yes |'."\n" + .'| FDBioOnly | No | No | No | No | No |.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyToken'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DescribeWhitelistSetting' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10621,133 +7085,76 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '59159', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'SourceIp', 'in' => 'query', - 'schema' => [ - 'description' => 'Visitor\'s source IP address.', - 'type' => 'string', - 'required' => false, - 'example' => '113.140.85.74', - ], + 'schema' => ['description' => 'The source IP address of the visitor.', 'type' => 'string', 'required' => false, 'example' => '113.140.85.74', 'title' => ''], ], [ 'name' => 'Lang', 'in' => 'query', - 'schema' => [ - 'description' => 'Specify the language to query. Values:'."\n" - .'- **zh**: Chinese'."\n" - .'- **en**: English', - 'type' => 'string', - 'required' => false, - 'example' => 'zh', - ], + 'schema' => ['description' => 'The language of the query result. Valid values:'."\n" + .'- **zh**: Chinese.'."\n" + .'- **en**: English.', 'type' => 'string', 'required' => false, 'example' => 'zh', 'title' => ''], ], [ 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Service Code:'."\n" - .'- **Enhanced Financial Grade**: cloudauthst'."\n" - .'- **Financial Grade**: antcloudauth', - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'schema' => ['description' => 'The service code. Valid values:'."\n" + .'- **cloudauthst**: enhanced financial-grade edition.'."\n" + .'- **antcloudauth**: financial-grade edition.', 'type' => 'string', 'required' => true, 'example' => 'antcloudauth', 'title' => ''], ], [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000004530', - ], + 'schema' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000004530', 'title' => ''], ], [ 'name' => 'CertifyId', 'in' => 'query', - 'schema' => [ - 'description' => 'Certification ID', - 'type' => 'string', - 'required' => false, - 'example' => 'shsf57a4e0d9981c3bd66dc754f3d3cd', - ], + 'schema' => ['description' => 'The certification ID.', 'type' => 'string', 'required' => false, 'example' => 'shsf57a4e0d9981c3bd66dc754f3d3cd', 'title' => ''], ], [ 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => 'ID Number', - 'type' => 'string', - 'required' => false, - 'example' => '320321XXXXXXXX701X', - ], + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => false, 'example' => '320321XXXXXXXX701X', 'title' => ''], ], [ 'name' => 'ValidStartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Effective start time (in seconds timestamp).', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1759939200000', - ], + 'schema' => ['description' => 'The start time of the validity period. The value is a UNIX timestamp in seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1759939200000', 'title' => ''], ], [ 'name' => 'ValidEndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Expiration date.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1730304000000', - ], + 'schema' => ['description' => 'The end time of the validity period.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1730304000000', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'Whitelist status:'."\n" - .'- **VALID**: Valid'."\n" - .'- **INVALID**: Invalid'."\n" - .'- **DELETED**: Deleted', - 'type' => 'string', - 'required' => false, - 'example' => 'VALID', - ], + 'schema' => ['description' => 'The whitelist status. Valid values:'."\n" + .'- **VALID**: valid.'."\n" + .'- **INVALID**: invalid.'."\n" + .'- **DELETED**: deleted.', 'type' => 'string', 'required' => false, 'example' => 'VALID', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page for pagination.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The number of entries per page in a paged query.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'Pagination parameter: current page number, default value is 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The current page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'WhitelistType', + 'in' => 'query', + 'schema' => ['type' => 'string', 'example' => 'SUPER', 'description' => '', 'title' => ''], ], ], 'responses' => [ @@ -10755,212 +7162,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'Pagination parameter: current page number, default value is 1.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'Number of items per page for pagination.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '0B8ACFD2-C5F0-5F9F-8DD4-E44F93E360E8', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], + 'CurrentPage' => ['description' => 'The current page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in a paged query.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0B8ACFD2-C5F0-5F9F-8DD4-E44F93E360E8', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], 'Items' => [ - 'description' => 'List of certification details.', + 'description' => 'The list of certification details.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'Whitelist status:'."\n" - .'- **VALID**: Valid.'."\n" - .'- **INVALID**: Invalid.'."\n" - .'- **DELETED**: Deleted.', - 'type' => 'string', - 'example' => 'VALID', - ], - 'GmtCreate' => [ - 'description' => 'Creation time.', - 'type' => 'string', - 'example' => '2025-10-16 17:28:03', - ], - 'CertifyId' => [ - 'description' => 'Certificate ID.', - 'type' => 'string', - 'example' => 'shad861465f2aaeeb805b519e1a93ab2', - ], - 'CertNo' => [ - 'description' => 'Certificate number.', - 'type' => 'string', - 'example' => '320321XXXXXXXX701X', - ], - 'ValidStartDate' => [ - 'description' => 'Effective start time.', - 'type' => 'string', - 'example' => '2025-10-16 17:28:03', - ], - 'SceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000000332', - ], - 'GmtModified' => [ - 'description' => 'Modification time.', - 'type' => 'string', - 'example' => '2025-10-16 17:28:03', - ], - 'ValidEndDate' => [ - 'description' => 'Effective end date.', - 'type' => 'string', - 'example' => '2025-10-16 17:28:03', - ], - 'Id' => [ - 'description' => 'Whitelist ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '6372003', - ], - 'Remark' => [ - 'description' => 'Remark.', - 'type' => 'string', - 'example' => '测试白名单', - ], - ], + 'Status' => ['description' => 'The whitelist status. Valid values:'."\n" + .'- **VALID**: Valid.'."\n" + .'- **INVALID**: Invalid.'."\n" + .'- **DELETED**: Deleted.', 'type' => 'string', 'example' => 'VALID', 'title' => ''], + 'GmtCreate' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2025-10-16 17:28:03', 'title' => ''], + 'CertifyId' => ['description' => 'The certificate ID.', 'type' => 'string', 'example' => 'shad861465f2aaeeb805b519e1a93ab2', 'title' => ''], + 'CertNo' => ['description' => 'The certificate number.', 'type' => 'string', 'example' => '320321XXXXXXXX701X', 'title' => ''], + 'ValidStartDate' => ['description' => 'The effective period.', 'type' => 'string', 'example' => '2025-10-16 17:28:03', 'title' => ''], + 'SceneId' => ['description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000000332', 'title' => ''], + 'GmtModified' => ['description' => 'The update time.', 'type' => 'string', 'example' => '2025-10-16 17:28:03', 'title' => ''], + 'ValidEndDate' => ['description' => 'The expiration date.', 'type' => 'string', 'example' => '2025-10-16 17:28:03', 'title' => ''], + 'Id' => ['description' => 'The whitelist ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '6372003', 'title' => ''], + 'Remark' => ['description' => 'The remarks.', 'type' => 'string', 'example' => '测试白名单', 'title' => ''], + 'WhitelistType' => ['type' => 'string', 'example' => 'SUPER', 'description' => '', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 20,\\n \\"RequestId\\": \\"0B8ACFD2-C5F0-5F9F-8DD4-E44F93E360E8\\",\\n \\"TotalCount\\": 4,\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"VALID\\",\\n \\"GmtCreate\\": \\"2025-10-16 17:28:03\\",\\n \\"CertifyId\\": \\"shad861465f2aaeeb805b519e1a93ab2\\",\\n \\"CertNo\\": \\"320321XXXXXXXX701X\\",\\n \\"ValidStartDate\\": \\"2025-10-16 17:28:03\\",\\n \\"SceneId\\": 1000000332,\\n \\"GmtModified\\": \\"2025-10-16 17:28:03\\",\\n \\"ValidEndDate\\": \\"2025-10-16 17:28:03\\",\\n \\"Id\\": 6372003,\\n \\"Remark\\": \\"测试白名单\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Get Whitelist Collection', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST method.', - 'translator' => 'machine', - ], - 'DescribeAntAndCloudAuthUserStatus' => [ - 'summary' => 'Query the User Status of Ant Blockchain', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'title' => 'Query scenario whitelist', + 'summary' => 'Queries the whitelist of a scenario.', + 'description' => 'Request method: Only HTTPS POST requests are supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeWhitelistSetting'], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59110', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AntcloudauthEnabled' => [ - 'description' => 'Indicates whether financial-grade real-person authentication is activated. Values:'."\n" - .'- **true**: Activated'."\n" - .'- **false**: Not activated', - 'type' => 'boolean', - 'example' => 'true', - ], - 'CloudauthstEnabled' => [ - 'description' => 'Indicates whether the enhanced version of real-person authentication is activated. Values:'."\n" - .'- **true**: Activated'."\n" - .'- **false**: Not activated', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '3FE07CCE-DF47-51C2-9D32-CD70ED62C91B', - ], - 'CloudauthEnabled' => [ - 'description' => 'Indicates whether real-person authentication is activated. Values:'."\n" - .'- **true**: Activated'."\n" - .'- **false**: Not activated', - 'type' => 'boolean', - 'example' => 'false', - ], - 'InforverifyEnabled' => [ - 'description' => 'Indicates whether information verification is activated. Values:'."\n" - .'- **true**: Activated'."\n" - .'- **false**: Not activated', - 'type' => 'boolean', - 'example' => 'false', - ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeWhitelistSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AntcloudauthEnabled\\": true,\\n \\"CloudauthstEnabled\\": true,\\n \\"RequestId\\": \\"3FE07CCE-DF47-51C2-9D32-CD70ED62C91B\\",\\n \\"CloudauthEnabled\\": false,\\n \\"InforverifyEnabled\\": false\\n}","type":"json"}]', - 'title' => 'Query the Activation Status of Different Real-person Authentication Product Solutions', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to re-obtain it before each activation.', - 'translator' => 'machine', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 20,\\n \\"RequestId\\": \\"0B8ACFD2-C5F0-5F9F-8DD4-E44F93E360E8\\",\\n \\"TotalCount\\": 4,\\n \\"Items\\": [\\n {\\n \\"Status\\": \\"VALID\\",\\n \\"GmtCreate\\": \\"2025-10-16 17:28:03\\",\\n \\"CertifyId\\": \\"shad861465f2aaeeb805b519e1a93ab2\\",\\n \\"CertNo\\": \\"320321XXXXXXXX701X\\",\\n \\"ValidStartDate\\": \\"2025-10-16 17:28:03\\",\\n \\"SceneId\\": 1000000332,\\n \\"GmtModified\\": \\"2025-10-16 17:28:03\\",\\n \\"ValidEndDate\\": \\"2025-10-16 17:28:03\\",\\n \\"Id\\": 6372003,\\n \\"Remark\\": \\"测试白名单\\",\\n \\"WhitelistType\\": \\"SUPER\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'DescribeCloudauthstSceneList' => [ - 'summary' => 'Query Dashboard Data', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DetectFaceAttributes' => [ + 'summary' => 'Detects validity attributes of faces in a photo.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59113', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], + 'abilityTreeCode' => '59162', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], ], 'parameters' => [ [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product Code', - 'type' => 'string', - 'required' => false, - 'example' => 'SMART_CARD', - ], + 'name' => 'MaterialValue', + 'in' => 'formData', + 'schema' => ['description' => 'The photo to be detected. For format details, see the notes on uploading image addresses. A maximum of 5 faces can be detected in a single image.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg', 'title' => ''], + ], + [ + 'name' => 'BizType', + 'in' => 'formData', + 'schema' => ['description' => 'The business scenario identifier for the ID Verification service.', 'type' => 'string', 'required' => false, 'example' => 'RPBasicTest', 'title' => ''], ], ], 'responses' => [ @@ -10968,1981 +7260,1567 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => 'CEC88747-2F3E-539E-91A6-84E321CAA12B', - ], - 'Items' => [ - 'description' => 'Scene list', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProductName' => [ - 'description' => 'Product name', - 'type' => 'string', - 'example' => '-', - ], - 'GmtCreate' => [ - 'description' => 'Creation time.', - 'type' => 'string', - 'example' => '2023-01-04 19:56:04', - ], - 'SceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'string', - 'example' => '20**40', - ], - 'SceneName' => [ - 'description' => 'Scene name.', - 'type' => 'string', - 'example' => '测试场景', - ], - 'GmtModified' => [ - 'description' => 'Modification time.', - 'type' => 'string', - 'example' => '2023-01-04 19:56:04', - ], - 'ProductCode' => [ - 'description' => 'Cloud marketplace product code.', - 'type' => 'string', - 'example' => 'SMART_VERIFY', - ], - 'StoreImage' => [ - 'description' => 'Whether to deliver the files generated by the authentication to the customer\'s OSS:'."\n" - .'- **Y**: Enabled'."\n" - .'- **N**: Disabled', - 'type' => 'string', - 'example' => 'N', + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error code.', 'type' => 'string', 'example' => 'Error.InternalError', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'ImgHeight' => ['description' => 'The height of the original image, in pixels.', 'type' => 'integer', 'format' => 'int32', 'example' => '1920', 'title' => ''], + 'ImgWidth' => ['description' => 'The width of the original image, in pixels.', 'type' => 'integer', 'format' => 'int32', 'example' => '1080', 'title' => ''], + 'FaceInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FaceAttributesDetectInfo' => [ + 'description' => 'The face detection results.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'FaceRect' => [ + 'description' => 'The position of the face in the original image.', + 'type' => 'object', + 'properties' => [ + 'Left' => ['description' => 'The distance from the upper-left corner of the face rectangle to the left edge of the original image, in pixels.', 'type' => 'integer', 'format' => 'int32', 'example' => '354', 'title' => ''], + 'Top' => ['description' => 'The distance from the upper-left corner of the face rectangle to the top edge of the original image, in pixels.', 'type' => 'integer', 'format' => 'int32', 'example' => '453', 'title' => ''], + 'Width' => ['description' => 'The width of the face rectangle.', 'type' => 'integer', 'format' => 'int32', 'example' => '473', 'title' => ''], + 'Height' => ['description' => 'The height of the face rectangle.', 'type' => 'integer', 'format' => 'int32', 'example' => '473', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'FaceAttributes' => [ + 'description' => 'The face attributes.', + 'type' => 'object', + 'properties' => [ + 'Glasses' => ['description' => 'Indicates whether glasses are worn. Valid values:'."\n" + ."\n" + .'- **None**: No glasses.'."\n" + .'- **Wear**: Regular glasses.'."\n" + .'- **Sunglass**: Sunglasses.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Facequal' => ['description' => 'The quality score. Valid values: 0 to 100. A higher score indicates better quality. A score of 50 or above is recommended as the quality threshold.', 'type' => 'number', 'format' => 'float', 'example' => '60', 'title' => ''], + 'Integrity' => ['description' => 'The integrity score. Valid values: 0 to 100. A higher score indicates a more complete face. A score of 70 or above is recommended as the integrity threshold.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'Facetype' => ['description' => 'Indicates whether the detected object is a face. Valid values:'."\n" + ."\n" + .'- **None**: Not a face.'."\n" + .'- **Face**: A face.'."\n" + .'- **Profile**: A profile face (head turned left or right by more than 30°).'."\n" + ."\n" + .'> If no face is detected, the returned faceInfos is empty. The value None here indicates that a face is detected but is identified as a cartoon or pet.', 'type' => 'string', 'example' => 'Face', 'title' => ''], + 'Respirator' => ['description' => 'Indicates whether a mask is worn. Valid values:'."\n" + ."\n" + .'- Wear: A mask is worn.'."\n" + ."\n" + .'- None: No mask is worn.', 'type' => 'string', 'example' => 'Wear', 'title' => ''], + 'Blur' => ['description' => 'The face blur score. A higher score indicates a blurrier face. A score of 2.0 or above typically indicates significant blur. Adjust the threshold based on your actual business data.', 'type' => 'number', 'format' => 'float', 'example' => '0.1419367790222168', 'title' => ''], + 'Smiling' => [ + 'description' => 'The smiling face detection result.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The smiling score.', 'type' => 'number', 'format' => 'float', 'example' => '97', 'title' => ''], + 'Threshold' => ['description' => 'The smiling threshold.', 'type' => 'number', 'format' => 'float', 'example' => '95', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Headpose' => [ + 'description' => 'The face pose.', + 'type' => 'object', + 'properties' => [ + 'PitchAngle' => ['description' => 'The pitch angle, in degrees.', 'type' => 'number', 'format' => 'float', 'example' => '-1.5683923959732056', 'title' => ''], + 'RollAngle' => ['description' => 'The roll angle, in degrees.', 'type' => 'number', 'format' => 'float', 'example' => '7.163370132446289', 'title' => ''], + 'YawAngle' => ['description' => 'The yaw angle, in degrees.', 'type' => 'number', 'format' => 'float', 'example' => '-6.925303936004639', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEC88747-2F3E-539E-91A6-84E321CAA12B\\",\\n \\"Items\\": [\\n {\\n \\"ProductName\\": \\"-\\",\\n \\"GmtCreate\\": \\"2023-01-04 19:56:04\\",\\n \\"SceneId\\": \\"20**40\\",\\n \\"SceneName\\": \\"测试场景\\",\\n \\"GmtModified\\": \\"2023-01-04 19:56:04\\",\\n \\"ProductCode\\": \\"SMART_VERIFY\\",\\n \\"StoreImage\\": \\"N\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Query Enhanced Real Person Authentication Scene List', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to reacquire it before each activation.', - 'translator' => 'machine', - ], - 'DescribeListAntCloudAuthScenes' => [ - 'summary' => 'Query the cloud scenario authentication records of a specific region', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Error.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error', 'description' => ''], + ['errorCode' => 'InvalidParam.ParamsMissing', 'errorMessage' => 'Please check if there is param empty in your imput', 'description' => ''], + ['errorCode' => 'Error.DetectFaceAttributesParamError', 'errorMessage' => 'detectFaceAttributes param error', 'description' => ''], + ['errorCode' => 'Error.DetectFaceAttributesHttpError', 'errorMessage' => 'detectFaceAttributes fail to get image from http', 'description' => ''], + ['errorCode' => 'Error.DetectFaceAttributesOssError', 'errorMessage' => 'detectFaceAttributes fail to get image from oss', 'description' => ''], + ['errorCode' => 'Error.DetectFaceAttributesAlgServiceError', 'errorMessage' => 'detectFaceAttributes algService error', 'description' => ''], + ['errorCode' => 'Error.DetectFaceAttributesAlgServieReturnError', 'errorMessage' => 'detectFaceAttributes algService return error', 'description' => ''], + ['errorCode' => 'Error.DetectFaceAttributesBase64Error', 'errorMessage' => 'detectFaceAttributes fail to get image from base64', 'description' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '59118', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', + 403 => [ + ['errorCode' => 'Error.NoPermissionAccess', 'errorMessage' => 'No permission to access our service', 'description' => ''], + ['errorCode' => 'NoPermission', 'errorMessage' => 'RAM caller has no permission', 'description' => ''], ], ], - 'parameters' => [ - [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scenario ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100000xxxx', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Error.InternalError\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ImgHeight\\": 1920,\\n \\"ImgWidth\\": 1080,\\n \\"FaceInfos\\": {\\n \\"FaceAttributesDetectInfo\\": [\\n {\\n \\"FaceRect\\": {\\n \\"Left\\": 354,\\n \\"Top\\": 453,\\n \\"Width\\": 473,\\n \\"Height\\": 473\\n },\\n \\"FaceAttributes\\": {\\n \\"Glasses\\": \\"None\\",\\n \\"Facequal\\": 60,\\n \\"Integrity\\": 70,\\n \\"Facetype\\": \\"Face\\",\\n \\"Respirator\\": \\"Wear\\",\\n \\"Blur\\": 0.1419367790222168,\\n \\"Smiling\\": {\\n \\"Value\\": 97,\\n \\"Threshold\\": 95\\n },\\n \\"Headpose\\": {\\n \\"PitchAngle\\": -1.5683923959732056,\\n \\"RollAngle\\": 7.163370132446289,\\n \\"YawAngle\\": -6.925303936004639\\n }\\n }\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Server-side face attribute detection API', + 'description' => 'Request method: Only HTTPS POST requests are supported.'."\n" + ."\n" + .'Operation description: Detects validity-related attributes of faces in an input photo, helping you determine whether the photo meets your business requirements for retention or comparison. Currently supported face validity attributes include: whether a face is present, whether the face is blurry, whether glasses are worn, facial pose, and whether the face is smiling.'."\n" + ."\n" + .'Notes on uploading image addresses: When submitting an image, provide its HTTP URL, OSS address, or Base64 encoding.'."\n" + ."\n" + .'- HTTP address: A publicly accessible HTTP URL. For example, `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" + .'- Base64 encoding: A Base64-encoded image in the format `base64://<Base64-encoded image string>`.'."\n" + ."\n" + .'Image limits:'."\n" + ."\n" + .'- Relative paths or absolute paths of local images are not supported.'."\n" + .'- Keep the size of a single image within 2 MB to avoid algorithm fetch timeouts.'."\n" + .'- The request body has a size limit of 8 MB. Make sure the total size of all images and other information in the request does not exceed this limit.'."\n" + .'- When using Base64 to transmit images, set the request method to POST. Remove the header description from the Base64 character string, such as `data:image/png,base64`.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => "\n" + ."\n", + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '25', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetectFaceAttributes'], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'CC1AB3F5-22A2-589F-ABDD-B766694AA671', - ], - 'Scenes' => [ - 'description' => 'List of scenarios.', - 'type' => 'array', - 'items' => [ - 'description' => 'List of authorized scenarios.', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'Whether it is enabled, with 1 indicating yes.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Modifier' => [ - 'description' => 'Modifier.', - 'type' => 'string', - 'example' => '189884094677xxxx', - ], - 'UpdateTime' => [ - 'description' => 'The last update time of the instance.', - 'type' => 'string', - 'example' => '1260051251634779', - ], - 'AppId' => [ - 'description' => 'Application ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2a3a13b6-ee85-457e-bd15-b48115cb396e', - ], - 'CreateTime' => [ - 'description' => 'Creation time.', - 'type' => 'string', - 'example' => '1260051251634779', - ], - 'SceneId' => [ - 'description' => 'Scenario ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100001xxxx', - ], - 'SceneName' => [ - 'description' => 'Scenario name.', - 'type' => 'string', - 'example' => '测试场景', - ], - 'Creator' => [ - 'description' => 'Creator.', - 'type' => 'string', - 'example' => '189884094677xxxx', - ], - 'StoreImage' => [ - 'description' => 'Whether to deliver the files generated by the authentication to the customer\'s OSS:'."\n" - .'- **Y**: Enabled'."\n" - .'- **N**: Disabled', - 'type' => 'string', - 'example' => 'Y', - ], - 'BindMiniProgram' => [ - 'description' => 'Whether to enable binding to a mini program:'."\n" - .'- **Y**: Enabled'."\n" - .'- **N (default)**: Not enabled', - 'type' => 'string', - 'example' => 'Y', - ], - 'Platform' => [ - 'description' => 'Platform for binding the mini program:'."\n" - .'- **WECHAT**: WeChat'."\n" - .'- **ALIPAY**: Alipay'."\n" - .'- **TIKTOK**: TikTok', - 'type' => 'string', - 'example' => 'WECHAT', - ], - 'MiniProgramName' => [ - 'description' => 'Mini program name.', - 'type' => 'string', - 'example' => '测试APP', - ], - 'Domain' => [ - 'description' => 'Bound domain.', - 'type' => 'string', - 'example' => 'www.ddos.com', - ], - 'ReturnPicCount' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'ReturnVideoLength' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'DeviceRiskPlus' => [ - 'type' => 'string', - ], - ], - ], - ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DetectFaceAttributes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC1AB3F5-22A2-589F-ABDD-B766694AA671\\",\\n \\"Scenes\\": [\\n {\\n \\"Status\\": 1,\\n \\"Modifier\\": \\"189884094677xxxx\\",\\n \\"UpdateTime\\": \\"1260051251634779\\",\\n \\"AppId\\": 0,\\n \\"CreateTime\\": \\"1260051251634779\\",\\n \\"SceneId\\": 0,\\n \\"SceneName\\": \\"测试场景\\",\\n \\"Creator\\": \\"189884094677xxxx\\",\\n \\"StoreImage\\": \\"Y\\",\\n \\"BindMiniProgram\\": \\"Y\\",\\n \\"Platform\\": \\"WECHAT\\",\\n \\"MiniProgramName\\": \\"测试APP\\",\\n \\"Domain\\": \\"www.ddos.com\\",\\n \\"ReturnPicCount\\": 0,\\n \\"ReturnVideoLength\\": 0,\\n \\"DeviceRiskPlus\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'List of Financial-grade Authentication Scenarios', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to re-obtain it before each activation.', - 'translator' => 'machine', ], - 'DescribeListFaceVerifyData' => [ - 'summary' => 'Query Face Verification Data', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DownloadVerifyRecords' => [ + 'summary' => 'Retrieves statistical call volume data.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '59119', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], + 'abilityTreeCode' => '165265', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'GmtStart', - 'in' => 'query', - 'schema' => [ - 'description' => 'Start time of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1760025600000', - ], - ], - [ - 'name' => 'GmtEnd', - 'in' => 'query', - 'schema' => [ - 'description' => 'End time of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1760630399999', - ], - ], - [ - 'name' => 'SceneId', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000000339', - ], + 'schema' => ['description' => 'The product type. Valid values:'."\n" + .'- **FINANCE_VERIFY**: financial-grade ID Verification'."\n" + .'- **SMART_VERIFY**: enhanced ID Verification (discontinued)'."\n" + .'- **FACE_VERIFY**: ID Verification (discontinued)'."\n" + .'- **INFO_CHECK_STATISTICS**: information verification.', 'type' => 'string', 'required' => false, 'example' => 'FINANCE_VERIFY', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'BizParam', 'in' => 'query', - 'schema' => [ - 'description' => 'Product Code, currently deprecated.', - 'type' => 'string', - 'required' => false, - 'example' => 'Liveness', - ], + 'schema' => ['description' => 'The query conditions in JSON string format. The following fields are included:'."\n" + .'- **DownloadMode (String)**: the download mode.'."\n" + .' - Example: sync'."\n" + .'- **InvokeType (String)**: the product plan, which corresponds to **ProductType**.'."\n" + .'- **SceneIdList (List<Long>)**: the list of scene IDs.'."\n" + .'- **StatisticsType (String)**: the statistics type. Valid values:'."\n" + .' - day'."\n" + .' - month'."\n" + .'- **StartDate (String)**: the query start time.'."\n" + .' - Example: 2025-09-17 00:00:00 +0800'."\n" + .'- **EndDate (String)**: the query end time.'."\n" + .' - Example: 2025-10-16 23:59:59 +0800'."\n" + .'- **ProductProgramList**: the list of product codes under the product plan to query.'."\n" + .' - Example: ["FINANCE_FACE_VERIFY","MFVC"]'."\n" + .'- **Code (information verification API)**: Valid values:'."\n" + .' - **ID_CARD_2_META**: ID card two-factor verification'."\n" + .' - **ID_PERIOD**: ID card validity period verification'."\n" + .' - **MOBILE_ONLINE_LENGTH**: mobile number online duration'."\n" + .' - **MOBILE_ONLINE_STATUS**: mobile number online status'."\n" + .' - **MOBILE_3_META_SIMPLE**: mobile number three-factor verification (basic)'."\n" + .' - **MOBILE_3_META**: mobile number three-factor verification (detailed)'."\n" + .' - **MOBILE_2_META**: mobile number two-factor verification'."\n" + .' - **BANK_CARD_N_META**: bank card verification (detailed)'."\n" + .' - **MOBILE_DETECT**: phone number detection '."\n" + .' - **VEHICLE_N_META**: vehicle element verification (enhanced)'."\n" + .' - **VEHICLE_PENTA_INFO**: vehicle five-element information recognition'."\n" + .' - **VEHICLE_LICENSE_INFO**: vehicle information recognition'."\n" + .' - **VEHICLE_INSURE_DATE**: vehicle insurance date query'."\n" + .' - **VEHICLE_CHECK**: vehicle element verification'."\n" + .'- **ProductCode (information verification)**: same as Code.', 'type' => 'string', 'required' => false, 'example' => '{"ProductType":"INVOKE_STATISTICS","BizParam":{"DownloadMode":"sync","InvokeType":"FINANCE_VERIFY","SceneIdList":"[]","ProductProgramList":"[\\"FINANCE_FACE_VERIFY\\",\\"MFVC\\",\\"PV_FV\\",\\"CLOUD_FACE_CAPTURE\\",\\"FACE_GUARD\\",\\"PV_FC\\"]","StatisticsType":"day","StartDate":"2025-09-17 00:00:00 +0800","EndDate":"2025-10-16 23:59:59 +0800"}}', 'title' => ''], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'EBD373EA-07FC-50BC-906F-B8950B6ED462', - ], - 'MonitorData' => [ - 'description' => 'Returned data.', - 'type' => 'object', - 'properties' => [ - 'FaceVerifyData' => [ - 'description' => 'Face verification data.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TotalCnt' => [ - 'description' => 'Total number of verifications.', - 'type' => 'string', - 'example' => '18', - ], - 'FailCnt' => [ - 'description' => 'Number of failed verifications.', - 'type' => 'string', - 'example' => '6', - ], - 'SuccCnt' => [ - 'description' => 'Number of successful verifications.', - 'type' => 'string', - 'example' => '12', - ], - 'SceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'string', - 'example' => '1000011644', - ], - 'Name' => [ - 'description' => 'Verification scheme.', - 'type' => 'string', - 'example' => 'Liveness', - ], - 'ConDate' => [ - 'description' => 'Verification statistics time.', - 'type' => 'string', - 'example' => '2025-10-16T00:00:00.000Z', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10'], + 'ResultObject' => ['description' => 'The OSS download link for the file.', 'type' => 'string', 'example' => 'https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/invoke_download/0E30CD55-DCD4-5363-AA98-XXXXXXX', 'title' => ''], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EBD373EA-07FC-50BC-906F-B8950B6ED462\\",\\n \\"MonitorData\\": {\\n \\"FaceVerifyData\\": [\\n {\\n \\"TotalCnt\\": \\"18\\",\\n \\"FailCnt\\": \\"6\\",\\n \\"SuccCnt\\": \\"12\\",\\n \\"SceneId\\": \\"1000011644\\",\\n \\"Name\\": \\"Liveness\\",\\n \\"ConDate\\": \\"2025-10-16T00:00:00.000Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'Query Face Verification Data', - 'description' => '- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeListFaceVerifyInfos' => [ - 'summary' => 'Get Face Verification Information', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"ResultObject\\": \\"https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/invoke_download/0E30CD55-DCD4-5363-AA98-XXXXXXX\\"\\n}","type":"json"}]', + 'title' => 'Retrieve authentication call volume data for download', + 'description' => 'Retrieves the download link for the statistical call data file under a product plan based on the specified query conditions.'."\n" + .'- Method: HTTPS POST'."\n" + .'- Endpoint: cloudauth.aliyuncs.com'."\n" + ."\n" + .'> ID Verification counts call volume by CertifyId. To facilitate reconciliation, retain the CertifyId field in your system.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 86400, 'regionId' => '*', 'api' => 'DownloadVerifyRecords'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DownloadVerifyRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'Id2MetaPeriodVerify' => [ + 'summary' => 'Verifies the validity period of a two-factor identity document.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '59120', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '259667', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'GmtStart', - 'in' => 'query', - 'schema' => [ - 'description' => 'Query the start time of the verification.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1760112000000', - ], - ], - [ - 'name' => 'GmtEnd', - 'in' => 'query', - 'schema' => [ - 'description' => 'Query the end time of the verification.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1760716800000', - ], - ], - [ - 'name' => 'CertifyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Verification ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'shs414a8b392a3a338abe0504c75c056', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page for paginated queries. Maximum value: 100, default value: 10.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'name' => 'IdentifyNum', + 'in' => 'formData', + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'- If paramType is set to normal, enter the ID card number in plaintext.'."\n" + .'- If paramType is set to md5, the value is in the following format: first 6 digits of the ID card number (plaintext) + date of birth (ciphertext) + last 4 digits of the ID card number (plaintext).', 'type' => 'string', 'required' => false, 'example' => '4****************1', 'title' => ''], ], [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'Pagination parameter: current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'name' => 'UserName', + 'in' => 'formData', + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- paramType = normal: enter the name in plaintext.'."\n" + .'- paramType = md5: the first character of the name is MD5-encrypted (32-bit lowercase MD5) + the remaining characters of the name in plaintext.', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], ], [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'Verification status:'."\n" - .'- **1**: Verification passed.'."\n" - .'- **2**: Verification failed.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'name' => 'ValidityStartDate', + 'in' => 'formData', + 'schema' => ['description' => 'The start date of the ID card validity period. Format: YYYYMMDD.', 'type' => 'string', 'required' => false, 'example' => '20201001', 'title' => ''], ], [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000009699', - ], + 'name' => 'ValidityEndDate', + 'in' => 'formData', + 'schema' => ['description' => 'The expiration date of the ID card validity period. Format: YYYYMMDD.', 'type' => 'string', 'required' => false, 'example' => '20301001', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'TotalPages' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'ItemsPerPage' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'PageNumber' => [ - 'description' => 'Pagination parameter: current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'ID of the current request.', - 'type' => 'string', - 'example' => '1CC27D8E-24BF-5056-B14E-9F26719C9A8D', - ], - 'TotalCount' => [ - 'description' => 'Total number of verifications.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'FaceVerifyInfos' => [ - 'description' => 'List of face verification records.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'Verification status:'."\n" - .'- **1**: Verification passed.'."\n" - .'- **2**: Verification failed.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'BizCode' => [ - 'description' => 'Business code.', - 'type' => 'string', - 'example' => 'CLOUD_FACE', - ], - 'CreateTime' => [ - 'description' => 'Creation time of the face recognition record.', - 'type' => 'string', - 'example' => '2022-10-02T11:16:06Z', - ], - 'CertName' => [ - 'description' => 'Name.', - 'type' => 'string', - 'example' => '赵四', - ], - 'CertNo' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'example' => '500382199805086199', - ], - 'CertifyId' => [ - 'description' => 'ID of the certificate.', - 'type' => 'string', - 'example' => 'sha8ff58e964152c4c4d21005fb98ecb', - ], - 'SceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000010145', - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- **1**: Consistent.'."\n" + .'- **2**: Inconsistent.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalPages\\": 3,\\n \\"ItemsPerPage\\": 20,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"1CC27D8E-24BF-5056-B14E-9F26719C9A8D\\",\\n \\"TotalCount\\": 0,\\n \\"FaceVerifyInfos\\": [\\n {\\n \\"Status\\": 2,\\n \\"BizCode\\": \\"CLOUD_FACE\\",\\n \\"CreateTime\\": \\"2022-10-02T11:16:06Z\\",\\n \\"CertName\\": \\"赵四\\",\\n \\"CertNo\\": \\"500382199805086199\\",\\n \\"CertifyId\\": \\"sha8ff58e964152c4c4d21005fb98ecb\\",\\n \\"SceneId\\": 1000010145\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Get Face Verification Information', - 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" - .'- Request method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeOssStatus' => [ - 'summary' => 'Query OSS status', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', + 'title' => 'Verify two-factor validity period', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaPeriodVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaPeriodVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'Id2MetaStandardVerify' => [ + 'summary' => 'Two-factor identity verification Standard Edition.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '59121', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '250706', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], ], 'parameters' => [ [ - 'name' => 'ServiceCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Service code:'."\n" - .'- antcloudauth: Financial-grade real-person authentication'."\n" - .'- cloudauthst (discontinued): Enhanced real-person authentication', - 'type' => 'string', - 'required' => false, - 'example' => 'antcloudauth', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], + ], + [ + 'name' => 'IdentifyNum', + 'in' => 'formData', + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'- If ParamType is set to normal, enter the ID card number in plaintext.'."\n" + .'- If ParamType is set to md5, the format is: first 6 digits of the ID card number (plaintext) + date of birth (ciphertext) + last 4 digits of the ID card number (plaintext).', 'type' => 'string', 'required' => false, 'example' => '4****************1', 'title' => ''], + ], + [ + 'name' => 'UserName', + 'in' => 'formData', + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- If ParamType is set to normal, enter the name in plaintext.'."\n" + .'- If ParamType is set to md5, the format is: first character of the name (ciphertext) + remaining characters of the name (plaintext).', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => 'F2DB870B-EEB7-51BD-9F0A-B5D8D3C79308', - ], - 'Data' => [ - 'description' => 'Returned data.', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', 'type' => 'object', 'properties' => [ - 'UserStatus' => [ - 'description' => 'User activation status, SUCCESS indicates activated.', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'BucketName' => [ - 'description' => 'The name of the OSS bucket for delivering authentication information.', - 'type' => 'string', - 'example' => 'cn-hangzhou-aliyun-cloudauth-20250516xxxxxx', - ], + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- **1**: Consistent.'."\n" + .'- **2**: Inconsistent.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F2DB870B-EEB7-51BD-9F0A-B5D8D3C79308\\",\\n \\"Data\\": {\\n \\"UserStatus\\": \\"SUCCESS\\",\\n \\"BucketName\\": \\"cn-hangzhou-aliyun-cloudauth-20250516xxxxxx\\"\\n }\\n}","type":"json"}]', - 'title' => 'Query User OSS Status', - 'description' => '- Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - .'- Service Address: cloudauth.aliyuncs.com.'."\n", - 'translator' => 'machine', - ], - 'DescribePageSetting' => [ - 'summary' => 'Query Page Settings', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59123', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', + 'title' => 'Two-factor identity verification standard edition', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaStandardVerify'], ], ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'FailReasons' => [ - 'description' => 'Failure reasons.', - 'type' => 'string', - 'example' => '{'."\n" - .' "11": "认证不通过,可能原因:1、公安网照片缺失;2、公安网照片格式错误;3、公安网照片找不到人脸等可能",'."\n" - .' "1": "认证通过",'."\n" - .' "12": "认证不通过,可能原因:公安网系统异常,无法比对等可能",'."\n" - .' "2": "认证不通过,原因:实名校验不通过",'."\n" - .' "3": "认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证姓名不一致;3、提交的照片为非身份证照片等可能",'."\n" - .' "4": "认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证号码不一致;3、提交的照片为非身份证照片等可能",'."\n" - .' "5": "认证不通过,可能原因:身份证照片有效期已过期(或即将过期)等可能",'."\n" - .' "6": "认证不通过,可能原因:人脸与身份证头像不一致等可能",'."\n" - .' "7": "认证不通过,可能原因:人脸与公安网照片不一致等可能",'."\n" - .' "8": "认证不通过,可能原因:1、提交的身份证照片非身份证原照片;2、未提交有效身份证照片等可能",'."\n" - .' "9": "认证不通过,可能原因:非账号本人操作等可能",'."\n" - .' "10": "认证不通过,可能原因:非同人操作等可能"'."\n" - .' }', - ], - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => 'C58A8581-6A5B-55F1-B2EF-1CEAC97DA181', - ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaStandardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"FailReasons\\": \\"{\\\\n \\\\\\"11\\\\\\": \\\\\\"认证不通过,可能原因:1、公安网照片缺失;2、公安网照片格式错误;3、公安网照片找不到人脸等可能\\\\\\",\\\\n \\\\\\"1\\\\\\": \\\\\\"认证通过\\\\\\",\\\\n \\\\\\"12\\\\\\": \\\\\\"认证不通过,可能原因:公安网系统异常,无法比对等可能\\\\\\",\\\\n \\\\\\"2\\\\\\": \\\\\\"认证不通过,原因:实名校验不通过\\\\\\",\\\\n \\\\\\"3\\\\\\": \\\\\\"认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证姓名不一致;3、提交的照片为非身份证照片等可能\\\\\\",\\\\n \\\\\\"4\\\\\\": \\\\\\"认证不通过,可能原因:1、身份证照片模糊、光线问题造成字体无法识别;2、身份证照片信息与需认证的身份证号码不一致;3、提交的照片为非身份证照片等可能\\\\\\",\\\\n \\\\\\"5\\\\\\": \\\\\\"认证不通过,可能原因:身份证照片有效期已过期(或即将过期)等可能\\\\\\",\\\\n \\\\\\"6\\\\\\": \\\\\\"认证不通过,可能原因:人脸与身份证头像不一致等可能\\\\\\",\\\\n \\\\\\"7\\\\\\": \\\\\\"认证不通过,可能原因:人脸与公安网照片不一致等可能\\\\\\",\\\\n \\\\\\"8\\\\\\": \\\\\\"认证不通过,可能原因:1、提交的身份证照片非身份证原照片;2、未提交有效身份证照片等可能\\\\\\",\\\\n \\\\\\"9\\\\\\": \\\\\\"认证不通过,可能原因:非账号本人操作等可能\\\\\\",\\\\n \\\\\\"10\\\\\\": \\\\\\"认证不通过,可能原因:非同人操作等可能\\\\\\"\\\\n }\\",\\n \\"RequestId\\": \\"C58A8581-6A5B-55F1-B2EF-1CEAC97DA181\\"\\n}","type":"json"}]', - 'title' => 'Query Page Settings', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST method.', - 'translator' => 'machine', ], - 'DescribeProductCode' => [ - 'summary' => 'Get Product Code', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'Id2MetaVerify' => [ + 'summary' => 'Verifies the authenticity and consistency of a name and ID card number against an authoritative data source.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59124', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', + 'chargeType' => 'paid', + 'abilityTreeCode' => '194526', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + ], + 'parameters' => [ + [ + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- normal: plaintext without encryption'."\n" + ."\n" + .'- md5: MD5 encryption.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], + ], + [ + 'name' => 'IdentifyNum', + 'in' => 'formData', + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'Note'."\n" + .'Only second-generation resident ID card numbers and Hong Kong, Macao, and Taiwan residence permit numbers are supported.'."\n" + ."\n" + .'- If ParamType is set to normal, enter the ID card number in plaintext.'."\n" + ."\n" + .'- If ParamType is set to md5, the format is: first 6 digits of the ID card number (plaintext) + date of birth (ciphertext) + last 4 digits of the ID card number (plaintext).', 'type' => 'string', 'required' => false, 'example' => '明文:429001********8211'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'42900132fa7bcd874161bea8ec8fd98f390ec98211', 'title' => ''], + ], + [ + 'name' => 'UserName', + 'in' => 'formData', + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- If ParamType is set to normal, enter the name in plaintext.'."\n" + ."\n" + .'- If ParamType is set to md5, the format is: first character of the name (ciphertext) + remaining characters of the name (plaintext).', 'type' => 'string', 'required' => false, 'example' => '明文:张三'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'6499fc7409049355527ef6a2ba5706b8三', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'Current query page number.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalPage' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'PageSize' => [ - 'description' => 'Number of products per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '7FBBADA3-9A66-5759-8AF8-2F99F5BE13F7', - ], - 'TotalCount' => [ - 'description' => 'Total number of returned results.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Items' => [ - 'description' => 'List of product code information.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProductName' => [ - 'description' => 'Name corresponding to the product code.', - 'type' => 'string', - 'example' => 'APP认证', - ], - 'ProductCode' => [ - 'description' => 'Product code.', - 'type' => 'string', - 'example' => 'ID_PRO', - ], - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10'], + 'Code' => ['description' => 'The response code. **200** indicates that the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- **1**: Consistent.'."\n" + .'- **2**: Inconsistent.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"TotalPage\\": 3,\\n \\"PageSize\\": 20,\\n \\"RequestId\\": \\"7FBBADA3-9A66-5759-8AF8-2F99F5BE13F7\\",\\n \\"TotalCount\\": 1,\\n \\"Items\\": [\\n {\\n \\"ProductName\\": \\"APP认证\\",\\n \\"ProductCode\\": \\"ID_PRO\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Get Financial-grade Real-person Product Code', - 'description' => 'Request Method: Supports sending requests via HTTPS GET/POST methods.', - 'translator' => 'machine', - ], - 'DescribeVerifyDeviceRiskStatistics' => [ - 'summary' => 'Get Verification Device Statistics', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', + 'title' => 'Two-factor identity verification', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" + .'- Request method: POST and GET.'."\n" + .'- Transfer protocol: HTTPS.', + 'changeSet' => [ + ['createdAt' => '2024-11-20T08:39:43.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaVerify'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'Id2MetaVerifyWithOCR' => [ + 'summary' => 'Verifies the authenticity and consistency of an identity by taking images of both sides of an ID card, extracting the name and ID number via OCR, and checking them against an authoritative source.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59141', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], ], 'parameters' => [ [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Cloud product code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], - ], - [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'Start time of the query, in Unix timestamp format, in milliseconds.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1746720000000', - ], + 'name' => 'CertUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The image of the portrait side of the ID card.'."\n" + .'A publicly accessible HTTP or HTTPS URL.'."\n" + .'Specify either CertUrl or CertFile.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com/cert.jpeg', 'title' => ''], ], [ - 'name' => 'EndDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'End time.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1748624399999', - ], + 'name' => 'CertFile', + 'in' => 'formData', + 'schema' => ['description' => 'The input stream of the portrait side image of the ID card.'."\n" + .'Specify either CertUrl or CertFile.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '无', 'title' => ''], ], [ - 'name' => 'ServiceCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.'."\n" - .'- **cloudauth** (discontinued): Real-person authentication.', - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'name' => 'CertNationalUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the national emblem side image of the ID card.'."\n" + .'A publicly accessible HTTP or HTTPS URL.'."\n" + .'Specify either CertNationalUrl or CertNationalFile. You can also leave both empty.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com/cert.jpeg'."\n", 'title' => ''], ], [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'string', - 'required' => false, - 'example' => '100000xxxx', - ], + 'name' => 'CertNationalFile', + 'in' => 'formData', + 'schema' => ['description' => 'The image of the national emblem side of the ID card.'."\n" + .'Specify either CertNationalUrl or CertNationalFile. You can also leave both empty.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '无', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'B3193814-AE54-50C5-9070-68B69C07287D', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****'], + 'Code' => ['description' => 'The response code. A value of 200 indicates success. Any other value indicates failure.'."\n" + .'**Important**'."\n" + .'- This parameter indicates only whether the API call was made correctly. For detailed response codes, see error codes.'."\n" + .'- Check the fields in ResultObject for the business verification result.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message of the API call.'."\n" + .'**Important**'."\n" + .'This parameter indicates only whether the API call is abnormal.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Authentication result.', + 'description' => 'The result object.', 'type' => 'object', 'properties' => [ - 'RootRate' => [ - 'description' => 'Root percentage: total number of root / total number of risks.', - 'type' => 'string', - 'example' => '0', - ], - 'VirtualVideoRate' => [ - 'description' => 'Virtual video percentage: total number of virtual videos / total number of risks.', - 'type' => 'string', - 'example' => '23.2', - ], - 'RiskCount' => [ - 'description' => 'Number of risks.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'IdFakeRate' => [ - 'description' => 'Total number of suspected fake identities.', - 'type' => 'string', - 'example' => '0', - ], - 'FaceAttackRate' => [ - 'description' => 'Suspected fake face percentage: total number of suspected fake faces / total number of risks.', - 'type' => 'string', - 'example' => '0', - ], - 'SimulatorRate' => [ - 'description' => 'Simulator percentage: total number of simulators / total number of risks.', - 'type' => 'string', - 'example' => '0', - ], - 'Items' => [ - 'description' => 'Data items in the response.', - 'type' => 'array', - 'items' => [ - 'description' => 'Data items in the response.', - 'type' => 'object', - 'properties' => [ - 'Date' => [ - 'description' => 'Date.', - 'type' => 'string', - 'example' => '2025-10-10', - ], - 'DailyCallCount' => [ - 'description' => 'Daily call count.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '11', - ], - 'DeviceRiskRate' => [ - 'description' => 'Abnormal device risk ratio.', - 'type' => 'string', - 'example' => '0', - ], - 'IdentityRiskRate' => [ - 'description' => 'Abnormal identity risk ratio.', - 'type' => 'string', - 'example' => '0', - ], - ], - ], - ], + 'BizCode' => ['description' => 'The identity verification result. Valid values:'."\n" + .'- 1: consistent.'."\n" + .'- 2: inconsistent.'."\n" + .'- 3: no record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'CardInfo' => ['description' => '{"address":"浙江省杭州市余*****","birthDate":"19901226","certName":"张三","certNo":"1234561990122*****","nationality":"汉","authority":"xxx公安局","startDate":"20201130","endDate":"20301130"}.', 'type' => 'string', 'example' => 'OCR读取的身份证信息。', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B3193814-AE54-50C5-9070-68B69C07287D\\",\\n \\"ResultObject\\": {\\n \\"RootRate\\": \\"0\\",\\n \\"VirtualVideoRate\\": \\"23.2\\",\\n \\"RiskCount\\": 2,\\n \\"IdFakeRate\\": \\"0\\",\\n \\"FaceAttackRate\\": \\"0\\",\\n \\"SimulatorRate\\": \\"0\\",\\n \\"Items\\": [\\n {\\n \\"Date\\": \\"2025-10-10\\",\\n \\"DailyCallCount\\": 11,\\n \\"DeviceRiskRate\\": \\"0\\",\\n \\"IdentityRiskRate\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'Get Verification Device Statistics', - 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" - .'- Request method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeVerifyFailStatistics' => [ - 'summary' => 'Overview of authentication request statistics', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"CardInfo\\": \\"OCR读取的身份证信息。\\"\\n }\\n}","type":"json"}]', + 'title' => 'ID card two-factor image verification', + 'description' => 'Takes images of both sides of an ID card and returns the verification result of the two factors from an authoritative data source.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaVerifyWithOCR'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaVerifyWithOCR', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'Id3MetaVerify' => [ + 'summary' => 'Verifies the authenticity and consistency of a name, ID card number, and facial photo against an authoritative data source.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59142', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product code.', - 'type' => 'string', - 'required' => true, - 'example' => 'ID_PRO', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + .'- normal: plaintext without encryption'."\n" + .'- md5: MD5 encryption'."\n" + ."\n" + .'**Important**'."\n" + ."\n" + .'- All encrypted parameter values use 32-character lowercase MD5 strings.'."\n" + .'- Different MD5 tools may produce different ciphertext. If the API call succeeds with plaintext but fails after encryption, try a different MD5 tool.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'Start time of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1760025600000', - ], + 'name' => 'IdentifyNum', + 'in' => 'formData', + 'schema' => ['description' => 'The ID card number:'."\n" + .'- If paramType is set to normal: enter the ID card number in plaintext.'."\n" + .'- If paramType is set to md5: the first 6 digits of the ID card number (plaintext) + date of birth (ciphertext) + the last 4 digits of the ID card number (plaintext).', 'type' => 'string', 'required' => false, 'example' => '● 明文:429001********8211'."\n" + .'● 密文:'."\n" + .'42900132fa7bcd874161bea8ec8fd98f39****8211', 'title' => ''], ], [ - 'name' => 'EndDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'End time of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1760630399999', - ], + 'name' => 'UserName', + 'in' => 'formData', + 'schema' => ['description' => 'The name:'."\n" + .'- If paramType is set to normal: enter the name in plaintext.'."\n" + .'- If paramType is set to md5: the first character of the name (ciphertext) + the remaining characters of the name (plaintext).', 'type' => 'string', 'required' => false, 'example' => '● 明文:张三'."\n" + .'● 密文:'."\n" + .'6499fc7409049355527ef6a2ba5706b8三', 'title' => ''], ], [ - 'name' => 'ServiceCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.'."\n" - .'- **cloudauth** (discontinued): Real-person authentication.', - 'type' => 'string', - 'required' => true, - 'example' => 'cloudauthst', - ], + 'name' => 'FaceUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The photo of the ID card portrait side. Specify a publicly accessible HTTP or HTTPS URL. Specify either CertUrl or CertFile.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com/cert.jpeg', 'title' => ''], ], [ - 'name' => 'DeviceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Device type.'."\n" - .'- ios'."\n" - .'- android'."\n" - .'- websdk', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'android' => 'android', - 'websdk' => 'websdk', - 'ios' => 'ios', - ], - 'example' => 'ios', - ], + 'name' => 'FaceFile', + 'in' => 'formData', + 'schema' => ['description' => 'The input stream of the ID card portrait side photo. Specify either CertUrl or CertFile.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '无', 'title' => ''], ], [ - 'name' => 'Api', - 'in' => 'query', - 'schema' => [ - 'description' => 'API code:'."\n" - .'- **INIT_SERVICE**: Server-side initialization failure'."\n" - .'- **INIT_DEVICE**: Client-side failure'."\n" - .'- **VERIFY_DEVICE**: Authentication failed', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'VERIFY_DEVICE' => 'VERIFY_DEVICE', - 'INIT_SERVICE' => 'INIT_SERVICE', - 'INIT_DEVICE' => 'INIT_DEVICE', - ], - 'example' => 'INIT_SERVICE', - ], + 'name' => 'Crop', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to allow cropping of the facial photo. By default, cropping is not allowed. Valid values:'."\n" + .'- T: Cropping is allowed.'."\n" + .'- F: Cropping is not allowed.'."\n" + ."\n" + .'**Note**'."\n" + ."\n" + .'If the requested image is not captured by a standard liveness detection SDK, allow cropping of the facial photo. After this feature is enabled, the requested image is first cropped and corrected for the face before the request is sent to the service.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], ], [ - 'name' => 'AgeGt', - 'in' => 'query', - 'schema' => [ - 'description' => 'Age greater than 14 years old:'."\n" - .'- **T**: Greater than'."\n" - .'- **F**: Less than', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'name' => 'FacePicture', + 'in' => 'formData', + 'schema' => ['title' => '', 'type' => 'string', 'example' => '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', 'maxLength' => 2097352, 'description' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'C2C596D1-B14B-5D79-9672-61D7686912B2', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****'], + 'Code' => ['description' => 'The response code. A value of 200 indicates success. Other values indicate failure.'."\n" + ."\n" + .'**Important**'."\n" + ."\n" + .'- This parameter indicates only whether the API call is successful. For more information about return codes, see error codes.'."\n" + .'- Check the fields in ResultObject for the business verification result.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message of the API call.'."\n" + ."\n" + .'**Important**'."\n" + ."\n" + .'This parameter indicates only whether the API call is abnormal.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Authentication result.', + 'description' => 'The result object.', 'type' => 'object', 'properties' => [ - 'Column' => [ - 'description' => 'Line chart of failure reasons.', - 'type' => 'object', - 'properties' => [ - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Items' => [ - 'description' => 'Column information.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'Error code.', - 'type' => 'string', - 'example' => '404', - ], - 'Rate' => [ - 'description' => 'Date: Date', - 'type' => 'string', - 'example' => '2025-10-16', - ], - 'Count' => [ - 'description' => 'Failure count.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - ], - ], - ], - 'Line' => [ - 'description' => 'Bar chart of failure reasons.', - 'type' => 'object', - 'properties' => [ - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Items' => [ - 'description' => 'Column information.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'Error code.', - 'type' => 'string', - 'example' => '404', - ], - 'Data' => [ - 'description' => 'Returned quantity data.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Date' => [ - 'description' => 'Date.', - 'type' => 'string', - 'example' => '2025-10-16', - ], - 'Code' => [ - 'description' => 'Error code.', - 'type' => 'string', - 'example' => '404', - ], - 'Count' => [ - 'description' => 'Count.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'BizCode' => ['description' => 'The identity verification result. Valid values:'."\n" + ."\n" + .'- 1: Consistent.'."\n" + .'- 2: Inconsistent.'."\n" + .'- 3: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'FaceDetail' => ['description' => 'The face comparison score.', 'type' => 'string', 'example' => '{'."\n" + .' "verifyScore": 50.28594166529785'."\n" + .'}', 'title' => ''], + 'SubCode' => ['type' => 'string', 'example' => '101', 'description' => '', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C2C596D1-B14B-5D79-9672-61D7686912B2\\",\\n \\"ResultObject\\": {\\n \\"Column\\": {\\n \\"TotalCount\\": 2,\\n \\"Items\\": [\\n {\\n \\"Code\\": \\"404\\",\\n \\"Rate\\": \\"2025-10-16\\",\\n \\"Count\\": 1\\n }\\n ]\\n },\\n \\"Line\\": {\\n \\"TotalCount\\": 0,\\n \\"Items\\": [\\n {\\n \\"Code\\": \\"404\\",\\n \\"Data\\": [\\n {\\n \\"Date\\": \\"2025-10-16\\",\\n \\"Code\\": \\"404\\",\\n \\"Count\\": 9\\n }\\n ]\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Query Authentication Request Failure Statistics', - 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" - .'- Request method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeVerifyPersonasDeviceModelStatistics' => [ - 'summary' => 'Query Statistics on Device Face Comparison', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Three-factor identity verification', + 'description' => 'Verifies the authenticity and consistency of a name, ID card number, and facial photo against an authoritative data source.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id3MetaVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id3MetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"FaceDetail\\": \\"{\\\\n \\\\\\"verifyScore\\\\\\": 50.28594166529785\\\\n}\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', + ], + 'Id3MetaVerifyWithOCR' => [ + 'summary' => 'Accepts images of the front and back of an ID card, extracts the name, ID number, and facial photo by using OCR, and verifies the authenticity and consistency of the three facial elements against an authoritative source.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59145', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000015316', - ], + 'name' => 'CertUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The image of the portrait side of the ID card. Specify a publicly accessible HTTP or HTTPS URL. Specify either CertUrl or CertFile.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com/cert.jpeg'."\n", 'title' => ''], ], [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product Code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], + 'name' => 'CertFile', + 'in' => 'formData', + 'schema' => ['description' => 'The input stream of the portrait side image of the ID card. Specify either CertUrl or CertFile.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '无'."\n", 'title' => ''], ], [ - 'name' => 'TimeRange', - 'in' => 'query', - 'schema' => [ - 'description' => 'Time range for the query, indicating how many days back.', - 'type' => 'string', - 'required' => true, - 'example' => '30', - ], + 'name' => 'CertNationalUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the national emblem side image of the ID card. Specify a publicly accessible HTTP or HTTPS URL. Specify either CertNationalUrl or CertNationalFile, or leave both empty.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com/cert.jpeg', 'title' => ''], ], [ - 'name' => 'ServiceCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'name' => 'CertNationalFile', + 'in' => 'formData', + 'schema' => ['description' => 'The image of the national emblem side of the ID card. Specify either CertNationalUrl or CertNationalFile, or leave both empty.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '无', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '026828A3-CC7E-5D85-85B6-08DF245C5A53', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF03****'."\n"], + 'Code' => ['description' => 'The response code. 200 indicates success. Other values indicate failure. **Important**'."\n" + ."\n" + .'- This parameter indicates only whether the API call was made correctly. For more information about return codes, see error codes.'."\n" + .'- Check the fields in ResultObject for the business verification result.', 'type' => 'string', 'example' => '200'."\n", 'title' => ''], + 'Message' => ['description' => 'The response message of the API call. This parameter indicates only whether an exception occurred during the API call.', 'type' => 'string', 'example' => 'success'."\n", 'title' => ''], 'ResultObject' => [ - 'description' => 'Query result.', + 'description' => 'The result object.', 'type' => 'object', 'properties' => [ - 'AllDeviceCnt' => [ - 'description' => 'Total number of devices.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '31', - ], - 'Items' => [ - 'description' => 'List of data for different phone models.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DeviceModel' => [ - 'description' => 'Device model', - 'type' => 'string', - 'example' => 'iPhone15,2', - ], - 'DeviceCnt' => [ - 'description' => 'Number of devices.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'DeviceRate' => [ - 'description' => 'The ratio of this device model to the total number of devices.', - 'type' => 'string', - 'example' => '16.13', - ], - ], - ], - ], + 'BizCode' => ['description' => 'The identity verification result. Valid values:'."\n" + ."\n" + .'- 1: consistent.'."\n" + .'- 2: inconsistent.'."\n" + .'- 3: no record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'CardInfo' => ['description' => '{"address":"浙江省杭州市余*****","birthDate":"19901226","certName":"张三","certNo":"1234561990122*****","nationality":"汉","authority":"xxx公安局","startDate":"20201130","endDate":"20301130"}.', 'type' => 'string', 'example' => 'OCR读取的身份证信息。', 'title' => ''], + 'FaceDetail' => ['description' => 'The face comparison score.', 'type' => 'string', 'example' => '{'."\n" + .' "verifyScore": 50.28594166529785'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"026828A3-CC7E-5D85-85B6-08DF245C5A53\\",\\n \\"ResultObject\\": {\\n \\"AllDeviceCnt\\": 31,\\n \\"Items\\": [\\n {\\n \\"DeviceModel\\": \\"iPhone15,2\\",\\n \\"DeviceCnt\\": 5,\\n \\"DeviceRate\\": \\"16.13\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'Query Distribution Data of Certified Users\' Phone Models', - 'description' => '- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeVerifyPersonasOsStatistics' => [ - 'summary' => 'Query Authentication Personnel Statistics', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF03****\\\\n\\",\\n \\"Code\\": \\"200\\\\n\\",\\n \\"Message\\": \\"success\\\\n\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"CardInfo\\": \\"OCR读取的身份证信息。\\",\\n \\"FaceDetail\\": \\"{\\\\n \\\\\\"verifyScore\\\\\\": 50.28594166529785\\\\n}\\"\\n }\\n}","type":"json"}]', + 'title' => 'ID card three-element image verification', + 'description' => 'Submits images of the front and back of an ID card and returns the verification result of the three facial elements from an authoritative data source.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id3MetaVerifyWithOCR'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id3MetaVerifyWithOCR', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'InitAuthVerify' => [ + 'summary' => 'Initiates an OCR request.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59146', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH'], ], 'parameters' => [ [ 'name' => 'SceneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000002995', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The China Chinese authentication scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1000002996', 'title' => ''], + ], + [ + 'name' => 'OuterOrderNo', + 'in' => 'formData', + 'schema' => ['description' => 'A custom business unique identifier that you specify for subsequent troubleshooting.'."\n" + ."\n" + .'The value can contain letters (both uppercase and lowercase) and digits, with a maximum length of 32 characters.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', 'title' => ''], ], [ 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The product solution to use. Set the value to ID_OCR.', 'type' => 'string', 'required' => true, 'example' => 'ID_OCR', 'title' => ''], ], [ - 'name' => 'TimeRange', - 'in' => 'query', - 'schema' => [ - 'description' => 'Time range for the query, indicating how many days ago.', - 'type' => 'string', - 'required' => true, - 'example' => '7', - ], + 'name' => 'MetaInfo', + 'in' => 'formData', + 'schema' => ['description' => 'The MetaInfo environment parameter, which must be obtained from the client SDK.', 'type' => 'string', 'required' => true, 'example' => '{'."\n" + .' "zimVer": "3.0.0",'."\n" + .' "appVersion": "1",'."\n" + .' "bioMetaInfo": "4.1.0:1150****,0",'."\n" + .' "appName": "com.aliyun.antcloudauth",'."\n" + .' "deviceType": "ios",'."\n" + .' "osVersion": "iOS 10.3.2",'."\n" + .' "apdidToken": "",'."\n" + .' "deviceModel": "iPhone9,1"'."\n" + .'}', 'title' => ''], ], [ - 'name' => 'ServiceCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'name' => 'CardType', + 'in' => 'formData', + 'schema' => ['description' => 'The document type. Set the value to IDENTITY_CARD.', 'type' => 'string', 'required' => true, 'example' => 'IDENTITY_CARD', 'title' => ''], + ], + [ + 'name' => 'IdSpoof', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to enable the document anti-forgery detection feature. Valid values:'."\n" + .'- Y: Enabled.'."\n" + .'- N: Disabled. This is the default value.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'CallbackUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The callback URL for OCR results. The callback request method is GET by default. The callback URL must start with https. After OCR is completed, a callback is sent to this URL with the certifyId and subcode fields automatically appended.'."\n" + .'> Warning'."\n" + .'- The URL is validated for public network access before the API is invoked. If the URL is not publicly accessible, a 400 error is returned.'."\n" + .'- The callback is executed immediately after the OCR invocation is completed, but may be delayed due to network issues. Accept the request completion notification from the client side first, and then invoke the query API to obtain the result details.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com?callbackToken=100000****&certifyId=shaxxxx&subCode=200', 'title' => ''], + ], + [ + 'name' => 'CallbackToken', + 'in' => 'formData', + 'schema' => ['description' => 'A security token that you generate to prevent replay attacks and data tampering.'."\n" + .'If this value is set, the CallbackToken field is included in the callback to CallbackUrl.', 'type' => 'string', 'required' => false, 'example' => 'NMjvQanQgplBSaEI0sL86WnQplB', 'title' => ''], + ], + [ + 'name' => 'CardPageNumber', + 'in' => 'formData', + 'schema' => ['description' => 'The number of card pages collected by the SDK. Valid values:'."\n" + .'- "1": front side only'."\n" + .'- "2": both front and back sides.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'DocScanMode', + 'in' => 'formData', + 'schema' => ['description' => 'The OCR document scan pattern. Valid values:'."\n" + .'- shoot (default): photo capture'."\n" + .'- scan: scan'."\n" + .'- auto: automatic switchover between photo capture and scan.', 'type' => 'string', 'required' => false, 'example' => 'shoot', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '123906BE-752B-51E3-A8FF-52F53B659CE6', - ], - 'ResultObject' => [ - 'description' => 'Processing result.', + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', 'title' => ''], + 'Result' => [ + 'description' => 'The result.', 'type' => 'object', 'properties' => [ - 'DeviceIosCnt' => [ - 'description' => 'Number of authenticated iOS devices.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'AllDeviceCnt' => [ - 'description' => 'Total number of authenticated devices.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '24', - ], - 'DeviceAndroidRate' => [ - 'description' => 'Proportion of Android devices.', - 'type' => 'string', - 'example' => '58.33', - ], - 'DeviceIosRate' => [ - 'description' => 'Proportion of iOS devices.', - 'type' => 'string', - 'example' => '41.67', - ], - 'DeviceAndroidCnt' => [ - 'description' => 'Number of authenticated Android devices.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '14', - ], + 'CertifyId' => ['description' => 'The verification request ID, which is the unique identifier of the verification service authentication request.'."\n" + .'You must pass in the verification request ID when querying the authentication result.', 'type' => 'string', 'example' => 'shif9d1a185b8dde7cd07bf0943a448b', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"123906BE-752B-51E3-A8FF-52F53B659CE6\\",\\n \\"ResultObject\\": {\\n \\"DeviceIosCnt\\": 10,\\n \\"AllDeviceCnt\\": 24,\\n \\"DeviceAndroidRate\\": \\"58.33\\",\\n \\"DeviceIosRate\\": \\"41.67\\",\\n \\"DeviceAndroidCnt\\": 14\\n }\\n}","type":"json"}]', - 'title' => 'Query Authentication Device Distribution Data', - 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" - .'- Request method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeVerifyPersonasProvinceStatistics' => [ - 'summary' => 'Obtain statistical information on the location of authenticated individuals', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Result\\": {\\n \\"CertifyId\\": \\"shif9d1a185b8dde7cd07bf0943a448b\\"\\n }\\n}","type":"json"}]', + 'title' => 'Initiate an OCR request', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitAuthVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:InitAuthVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'InitCardVerify' => [ + 'summary' => 'Initiates an image verification authentication request.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '59147', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SceneId', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000004071', - ], + 'schema' => ['description' => 'A custom business unique identifier that you define for subsequent troubleshooting. The value is a combination of letters and digits up to 32 characters in length. Make sure the value is unique.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', 'title' => ''], ], [ - 'name' => 'ProductCode', + 'name' => 'MetaInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'Cloud product code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], + 'schema' => ['description' => 'The MetaInfo environment parameter. Obtain this value by using the client SDK.', 'type' => 'string', 'required' => true, 'example' => '{"zimVer":"3.0.0","appVersion": "1","bioMetaInfo": "4.1.0:1150****,0","appName": "com.aliyun.antcloudauth","deviceType": "ios","osVersion": "iOS 10.3.2","apdidToken": "","deviceModel": "iPhone9,1"}', 'title' => ''], ], [ - 'name' => 'TimeRange', + 'name' => 'CardType', 'in' => 'query', - 'schema' => [ - 'description' => 'Time range, search range is for the previous N days, TimeRange of 1 indicates the previous 1 day.', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The document type. Valid values:'."\n" + .'- IDENTITY_CARD: resident identity card.', 'type' => 'string', 'required' => true, 'example' => 'IDENTITY_CARD', 'title' => ''], ], [ - 'name' => 'ServiceCode', + 'name' => 'Model', 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.', - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'schema' => ['description' => 'The verification mode. Valid values:'."\n" + .'- OCR_VERIFY: OCR recognition and authentication mode.', 'type' => 'string', 'required' => true, 'example' => 'OCR_VERIFY', 'title' => ''], + ], + [ + 'name' => 'VerifyMeta', + 'in' => 'query', + 'schema' => ['description' => 'The verification type. Valid values:'."\n" + .'- ID_2_META: two-factor identity verification (name + ID card number).', 'type' => 'string', 'required' => true, 'example' => 'ID_2_META', 'title' => ''], + ], + [ + 'name' => 'CardPageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of card pages to be collected by the SDK. Valid values:'."\n" + .'- 1: collects the front side only.'."\n" + .'- 2: collects both the front and back sides.'."\n" + ."\n" + .'- If the verification type is ID card validity period (VerifyMeta is set to ID_PERIOD), set this parameter to 2.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PictureSave', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to temporarily store images collected by the app. Valid values:'."\n" + .'- Y: Yes.'."\n" + .'- N: No.'."\n" + .'- If you set this parameter to Y, the query operation returns card image information.', 'type' => 'string', 'required' => true, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'CallbackUrl', + 'in' => 'query', + 'schema' => ['description' => 'The callback URL for authentication results. The URL must start with https. After the authentication is complete, the system sends a callback to this URL with the certifyId and passed fields automatically appended. Example: https://www.aliyun.com?certifyId=xxxx&passed=T'."\n" + ."\n" + .'> **Warning** The callback is triggered only when the authentication is complete. No notification is sent if the authentication is abandoned, interrupted, or not performed. After you receive the callback notification, call the query operation to obtain the authentication details if needed.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com', 'title' => ''], + ], + [ + 'name' => 'CallbackToken', + 'in' => 'query', + 'schema' => ['description' => 'The security token used for anti-replay and anti-tampering verification. If you specify this parameter, the CallbackToken field is included in the callback URL.', 'type' => 'string', 'required' => false, 'example' => 'NMjvQanQgplBSaEI0sL86WnQplB', 'title' => ''], + ], + [ + 'name' => 'DocScanMode', + 'in' => 'query', + 'schema' => ['description' => 'The photo capture mode (manual or automatic). Valid values:'."\n" + .'- shoot: manual capture'."\n" + .'- scan: scan mode '."\n" + .'- auto: automatic switchover.', 'type' => 'string', 'required' => false, 'example' => 'shoot', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'D9821F95-CC18-5439-BB1C-21A0FF0C2003', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795'], + 'Code' => ['description' => 'The response code. A value of 200 indicates success. Other values indicate failure.'."\n" + ."\n" + .'> **Important** This parameter indicates whether the operation is called correctly. For more information about return codes, see error codes. Check the fields in ResultObject for the business result.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Query result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'AllUserCnt' => [ - 'description' => 'Total number of devices.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'Items' => [ - 'description' => 'Data items.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProvinceName' => [ - 'description' => 'Province name.', - 'type' => 'string', - 'example' => '浙江', - ], - 'ProvinceCnt' => [ - 'description' => 'Total number of devices in the province.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'ProvinceRate' => [ - 'description' => 'Percentage of the total for this province.', - 'type' => 'string', - 'example' => '35.71', - ], - ], - ], - ], + 'CertifyId' => ['description' => 'The verification request ID, which is the unique identifier of the verification service authentication request.'."\n" + .'- You must specify the authentication request ID when you query the authentication result.'."\n" + ."\n" + .'- The CertifyId field is used for billing statistics. Save this field locally for future bill reconciliation. The CertifyId returned by the initialization operation is valid for 30 minutes and can be submitted for authentication only once. Use it within the validity period and do not reuse it.', 'type' => 'string', 'example' => '91707dc296d469ad38e4c5efa6a0****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D9821F95-CC18-5439-BB1C-21A0FF0C2003\\",\\n \\"ResultObject\\": {\\n \\"AllUserCnt\\": 30,\\n \\"Items\\": [\\n {\\n \\"ProvinceName\\": \\"浙江\\",\\n \\"ProvinceCnt\\": 5,\\n \\"ProvinceRate\\": \\"35.71\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'Statistics of Authentication Information by Individual\'s Province', - 'description' => '- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeVerifyPersonasSexStatistics' => [ - 'summary' => 'Query gender statistics of authentication', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0****\\"\\n }\\n}","type":"json"}]', + 'title' => 'Initialize', + 'description' => 'Retrieves a CertifyId before each authentication session. The CertifyId links all API operations within the authentication request.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitCardVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:InitCardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'InitFaceVerify' => [ + 'summary' => 'Obtains a CertifyId before each authentication to link the interfaces in the authentication request.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '59164', + 'abilityTreeNodes' => ['FEATUREcloudauthGDLZVA'], ], 'parameters' => [ [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000002996', - ], + 'schema' => ['description' => 'The authentication scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000000006', 'title' => ''], + ], + [ + 'name' => 'OuterOrderNo', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier of the merchant request.'."\n" + ."\n" + .'The value is a 32-character alphanumeric string. The first few characters are a custom abbreviation defined by the merchant, the middle part can be a time segment, and the last part can be a random or incremental sequence.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Product Code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], + 'schema' => ['description' => 'A fixed value. This parameter varies depending on the product plan:'."\n" + .'- APP authentication plan: set to ID_PRO.'."\n" + .'- Face liveness verification plan: set to PV_FV.'."\n" + .'- Liveness detection plan: set to LR_FR.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], ], [ - 'name' => 'TimeRange', + 'name' => 'CertType', 'in' => 'query', - 'schema' => [ - 'description' => 'Time range, the search range is for the previous N days, TimeRange of 1 indicates the previous 1 day.', - 'type' => 'string', - 'required' => true, - 'example' => '7', - ], + 'schema' => ['description' => 'The certificate type.'."\n" + .'Currently, only ID cards are supported. Set this parameter to IDENTITY_CARD.', 'type' => 'string', 'required' => false, 'example' => 'IDENTITY_CARD', 'title' => ''], ], [ - 'name' => 'ServiceCode', + 'name' => 'CertName', 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'schema' => ['description' => 'The real name.', 'type' => 'string', 'required' => false, 'example' => '张三', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '013DA6E1-3F37-5579-B979-2F12B7E92450', - ], - 'ResultObject' => [ - 'description' => 'Returned data.', - 'type' => 'object', - 'properties' => [ - 'Age0To14Rate' => [ - 'description' => 'Proportion of users under 14 years old.', - 'type' => 'string', - 'example' => '0', - ], - 'Age14To18Cnt' => [ - 'description' => 'Number of users between 14 and 18 years old.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'FemaleCnt' => [ - 'description' => 'Number of female users.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'AllUserCnt' => [ - 'description' => 'Total number of authenticated users.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '14', - ], - 'Age14To18Rate' => [ - 'description' => 'Proportion of users between 14 and 18 years old.', - 'type' => 'string', - 'example' => '0', - ], - 'Age0To14Cnt' => [ - 'description' => 'Number of users under 14 years old.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'MaleCnt' => [ - 'description' => 'Number of male users.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'Age50To999Rate' => [ - 'description' => 'Proportion of authenticated users over 50 years old.', - 'type' => 'string', - 'example' => '0', - ], - 'Age35To50Rate' => [ - 'description' => 'Proportion of users between 35 and 50 years old.', - 'type' => 'string', - 'example' => '35.71', - ], - 'FemaleRate' => [ - 'description' => 'Proportion of female authenticated users.', - 'type' => 'string', - 'example' => '28.57', - ], - 'Age18To35Rate' => [ - 'description' => 'Proportion of authenticated users between 18 and 35 years old.', - 'type' => 'string', - 'example' => '64.29', - ], - 'Age18To35Cnt' => [ - 'description' => 'Number of authenticated users between 18 and 35 years old.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'Age35To50Cnt' => [ - 'description' => 'Number of authenticated users between 35 and 50 years old.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'Age50To999Cnt' => [ - 'description' => 'Number of authenticated users over 50 years old.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'MaleRate' => [ - 'description' => 'Proportion of male users.', - 'type' => 'string', - 'example' => '71.43', - ], - ], - ], - ], - ], + [ + 'name' => 'CertNo', + 'in' => 'query', + 'schema' => ['description' => 'The certificate number.', 'type' => 'string', 'required' => false, 'example' => '330103xxxxxxxxxxxx', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"013DA6E1-3F37-5579-B979-2F12B7E92450\\",\\n \\"ResultObject\\": {\\n \\"Age0To14Rate\\": \\"0\\",\\n \\"Age14To18Cnt\\": 0,\\n \\"FemaleCnt\\": 4,\\n \\"AllUserCnt\\": 14,\\n \\"Age14To18Rate\\": \\"0\\",\\n \\"Age0To14Cnt\\": 0,\\n \\"MaleCnt\\": 10,\\n \\"Age50To999Rate\\": \\"0\\",\\n \\"Age35To50Rate\\": \\"35.71\\",\\n \\"FemaleRate\\": \\"28.57\\",\\n \\"Age18To35Rate\\": \\"64.29\\",\\n \\"Age18To35Cnt\\": 9,\\n \\"Age35To50Cnt\\": 5,\\n \\"Age50To999Cnt\\": 0,\\n \\"MaleRate\\": \\"71.43\\"\\n }\\n}","type":"json"}]', - 'title' => 'Statistics of Authentication Information by Gender', - 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" - .'- Request method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeVerifySearchPageList' => [ - 'summary' => 'Query the list of authentication schemes', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ReturnUrl', + 'in' => 'query', + 'schema' => ['description' => 'The redirect URL for the merchant business page.', 'type' => 'string', 'required' => false, 'example' => 'www.aliyun.com', 'title' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59153', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', + [ + 'name' => 'FaceContrastPicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded photo.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select only one method.', 'type' => 'string', 'required' => false, 'maxLength' => 1548576, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'MetaInfo', + 'in' => 'query', + 'schema' => ['description' => 'The Metainfo environment parameter, which must be obtained through the client SDK.', 'type' => 'string', 'required' => false, 'example' => '{"zimVer":"3.0.0","appVersion": "1","bioMetaInfo": "4.1.0:11501568,0","appName": "com.aliyun.antcloudauth","deviceType": "ios","osVersion": "iOS 10.3.2","apdidToken": "","deviceModel": "iPhone9,1"}', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The mobile phone number of the user.', 'type' => 'string', 'required' => false, 'example' => '130xxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'Ip', + 'in' => 'query', + 'schema' => ['description' => 'The IP address of the user.', 'type' => 'string', 'required' => false, 'example' => '114.xxx.xxx.xxx', 'title' => ''], + ], + [ + 'name' => 'UserId', + 'in' => 'query', + 'schema' => ['description' => 'The custom user ID defined by the business. Keep this value unique.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], + ], + [ + 'name' => 'FaceContrastPictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The OSS photo URL. Currently, only authorized OSS photo URLs are supported.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select only one method.', 'type' => 'string', 'required' => false, 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', 'title' => ''], ], - ], - 'parameters' => [ [ 'name' => 'CertifyId', 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'shadbdd3dbacd001cfa892a5e2b98dxx', - ], + 'schema' => ['description' => '><warning>This parameter will be deprecated.</warning>'."\n" + ."\n" + .'The CertifyId from a previous successful ID Verification. The photo from that authentication is used as the comparison photo.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select only one method.', 'type' => 'string', 'required' => false, 'example' => '0bfa7c493f850e5178b9f8613634c9xx', 'title' => ''], ], [ - 'name' => 'SceneId', + 'name' => 'OssBucketName', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'string', - 'required' => false, - 'example' => '10000072xx', - ], + 'schema' => ['description' => 'The bucket name of the authorized OSS space.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select only one method.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai-aliyun-cloudauth-xxxxx', 'title' => ''], ], [ - 'name' => 'OuterOrderNo', + 'name' => 'OssObjectName', 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for the customer request.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'schema' => ['description' => 'The file name in the authorized OSS space.'."\n" + ."\n" + .'> You can use one of the following four methods to submit a photo: FaceContrastPicture, FaceContrastPictureUrl, CertifyId, or OSS. Select only one method.', 'type' => 'string', 'required' => false, 'example' => 'verify/xxxxx/xxxxxx.jpeg', 'title' => ''], ], [ - 'name' => 'ProductCode', + 'name' => 'Model', + 'in' => 'formData', + 'schema' => ['description' => 'The liveness detection type. Valid values:'."\n" + .'> The liveness detection type supports only the following values. Custom actions or combinations are not supported.'."\n" + ."\n" + .'Note:'."\n" + .'The liveness detection type supports only the following values. Custom actions or combinations are not supported.'."\n" + ."\n" + .'- **LIVENESS** (default): blink'."\n" + ."\n" + .'- **PHOTINUS_LIVENESS**: blink + colorful light'."\n" + ."\n" + .'- **MULTI_ACTION**: blink + head shake (the order of blink and head shake is random)'."\n" + ."\n" + .'- **MOVE_ACTION** (recommended): move closer/farther + blink'."\n" + ."\n" + .'- **MOVE_PHOTINUS**: move closer/farther + colorful light'."\n" + ."\n" + .'> '."\n" + .'>- **The default liveness detection type** is supported in the following versions:'."\n" + .'> - Android SDK 1.2.6 and later'."\n" + .'> - iOS SDK 1.2.4 and later'."\n" + .'> - Harmony SDK 1.0.0 and later'."\n" + .'>- Other types are supported in the latest Android/iOS/Harmony SDK versions. Integrate the latest version.', 'type' => 'string', 'required' => false, 'example' => 'MOVE_ACTION', 'title' => ''], + ], + [ + 'name' => 'CallbackUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Product code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], + 'schema' => ['description' => 'The callback URL for the authentication result. The callback request method is GET by default, and the callback URL must start with `https`. After authentication is complete, the platform calls back this URL and automatically appends the `certifyId` and `passed` fields. The `passed` field returns the subcode value. Example: `https://www.alibabacloud.com?callbackToken=1000004826&certifyId=shaxxxx&passed=200.`'."\n" + ."\n" + .'<notice>'."\n" + ."\n" + .'- The callback is triggered only when authentication is complete (including both passed and failed). If the user abandons authentication, an abnormal break occurs, or authentication is not performed, no notification is sent. After receiving the callback notification, invoke the query operation to obtain authentication details if needed.'."\n" + .'- The URL is validated for public network access before the operation is invoked. If the URL is not accessible over the public network, a 401 error is returned.'."\n" + .'- After receiving the callback, return HTTP status code 200. Otherwise, a retry is triggered with two callbacks within 3 seconds.'."\n" + ."\n" + .'</notice>', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com', 'title' => ''], ], [ - 'name' => 'CertNo', + 'name' => 'CallbackToken', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '3203212000XXXX701X', - ], + 'schema' => ['description' => 'The security token that you generate to prevent duplication and tampering.'."\n" + ."\n" + .'If this value is set, the **CallbackToken** field is displayed in the callback URL.', 'type' => 'string', 'required' => false, 'example' => 'NMjvQanQgplBSaEI0sL86WnQplB', 'title' => ''], ], [ - 'name' => 'StartDate', + 'name' => 'Crop', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to allow cropping of the face photo. By default, cropping is not allowed.'."\n" + ."\n" + .'- T: allows cropping.'."\n" + ."\n" + .'- F: does not allow cropping.'."\n" + ."\n" + .'> If the requested image is not captured by a standard liveness detection SDK, allow cropping of the face photo. After this feature is enabled, the requested image is cropped and corrected before the request is sent to the service.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], + ], + [ + 'name' => 'CertifyUrlType', 'in' => 'query', - 'schema' => [ - 'description' => 'Start date of the query.', - 'type' => 'string', - 'required' => false, - 'example' => '2025-10-10 00:00:00 +0800', - ], + 'schema' => ['description' => 'The Web SDK device type. Valid values: **WEB** or **H5**.'."\n" + ."\n" + .'> Only Web SDK device types are supported.', 'type' => 'string', 'required' => false, 'example' => 'WEB', 'title' => ''], ], [ - 'name' => 'EndDate', + 'name' => 'AuthId', + 'in' => 'formData', + 'schema' => ['description' => 'The user authorization ID. Maximum length: 64 characters.', 'type' => 'string', 'required' => false, 'example' => '92d46b9e9e2d703f2897f350d5bd4149', 'title' => ''], + ], + [ + 'name' => 'EncryptType', 'in' => 'query', - 'schema' => [ - 'description' => 'End date of the query. The format is a Unix timestamp, in milliseconds.', - 'type' => 'string', - 'required' => false, - 'example' => '2025-10-16 23:59:59 +0800', - ], + 'schema' => ['description' => 'The encryption algorithm. Currently, only the SM2 algorithm is supported.'."\n" + ."\n" + .'After encrypted transmission is enabled, pass in the encrypted CertName and CertNo. For more information about encryption, refer to [Parameter encryption description](https://www.alibabacloud.com/help/en/id-verification/financial-grade-id-verification/description-of-parameter-encryption#task-2229332).', 'type' => 'string', 'required' => false, 'example' => 'SM2', 'title' => ''], ], [ - 'name' => 'SubCode', + 'name' => 'VoluntaryCustomizedContent', 'in' => 'query', - 'schema' => [ - 'description' => 'Result Code. For detailed values, please refer to: [SubCode Explanation](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/error-code-person-verify?spm=a2c4g.11186623.0.0.6015566ebArcFw#d88910e172fgg).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '201', - ], + 'schema' => ['description' => 'The custom voluntary content. This parameter is required when personalized settings are enabled. The format is a JSON string of a String List.'."\n" + ."\n" + .'- For read-aloud scenarios: the content cannot exceed 60 Chinese characters (excluding punctuation), and the List contains only 1 element.'."\n" + ."\n" + .'- For Q&A scenarios: a maximum of 3 questions can be set. Each question cannot exceed 30 Chinese characters, and each question is a separate element in the List.', 'type' => 'string', 'required' => false, 'example' => '["本人王先生同意***协议。"]', 'title' => ''], ], [ - 'name' => 'SubCodes', + 'name' => 'SuitableType', 'in' => 'query', - 'schema' => [ - 'description' => 'Comma-separated Result Codes. For detailed values, please refer to: [SubCode Explanation](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/error-code-person-verify?spm=a2c4g.11186623.0.0.6015566ebArcFw#d88910e172fgg).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '201,202', - ], + 'schema' => ['description' => 'The elderly-friendly configuration parameter. This parameter takes effect for each authentication request. You can select different parameters for each authentication request based on the business attributes, customer distribution, and operational characteristics of your app. Valid values (default: 0):'."\n" + ."\n" + .'- **0**: disabled. The elderly-friendly mode is not enabled for the current authentication request.'."\n" + ."\n" + .'- **1**: enabled. The elderly-friendly mode is enabled for the current authentication request.'."\n" + ."\n" + .'- **2**: user choice.'."\n" + ."\n\n" + .'Allows the end user to select the authentication mode. The product guide page provides two authentication entries: "Start Authentication" and "Elderly Authentication Mode". When the user selects "Elderly Authentication Mode", the system enters elderly-friendly mode.'."\n" + .'> '."\n" + .'> - The elderly-friendly parameter takes effect only when the liveness detection type **Model** is set to **LIVENESS** or **MULTI_ACTION**.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'HasDeviceRisk', + 'name' => 'ProcedurePriority', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether there is device risk (pass true if root = 1 or simulator = 1 or virtual_video = 1).', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The fallback configuration when WebRTC or WebAssembly is incompatible during mobile H5 authentication.'."\n" + ."\n" + .'- **keep**: fallback is not supported. The system returns directly.'."\n" + ."\n" + .'- **url** (default): fallback is supported. An authentication URL is returned. The user opens or switches to a browser to authenticate using this URL.'."\n" + ."\n" + .'- **video**: fallback is supported. The system camera records a 3 to 5 second blink video for authentication.'."\n" + ."\n\n" + .'> '."\n" + .'> When the fallback mode is Video, the following features are disabled and product security is reduced. Configure this mode only for security scenarios.'."\n" + .'> - The liveness detection type setting does not take effect.'."\n" + .'> - The VideoEvidence feature is not supported.', 'type' => 'string', 'required' => false, 'example' => 'url', 'title' => ''], ], [ - 'name' => 'Passed', + 'name' => 'Mode', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether the authentication passed:'."\n" - .'- **T**: Passed'."\n" - .'- **F**: Not passed', - 'type' => 'string', - 'required' => false, - 'example' => 'F', - ], + 'schema' => ['description' => 'The method for obtaining passport NFC verification elements:'."\n" + ."\n" + .'- **1**: user input. The end user manually enters certificate element information using the UI provided by the Alibaba Cloud SDK.'."\n" + ."\n" + .'- **3**: external parameter input. Certificate element information is passed in externally.'."\n" + ."\n" + .'> To decode the encrypted information on the passport chip through NFC, three passport elements are required: name, date of birth, and certificate expiration date.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Model', + 'name' => 'ReadImg', 'in' => 'query', - 'schema' => [ - 'description' => 'Liveness detection model.', - 'type' => 'string', - 'required' => false, - 'example' => 'LIVENESS', - ], + 'schema' => ['description' => 'Specifies whether to read the certificate photo:'."\n" + ."\n" + .'- **Y**: read.'."\n" + ."\n" + .'- **N**: do not read.'."\n" + ."\n" + .'> If the certificate face photo is needed in subsequent authentication steps, set this parameter to Y.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], ], [ - 'name' => 'CurrentPage', + 'name' => 'Birthday', 'in' => 'query', - 'schema' => [ - 'description' => 'Current page number.', - 'type' => 'string', - 'required' => true, - 'example' => '3', - ], + 'schema' => ['description' => 'The date of birth on the certificate.'."\n" + ."\n" + .'This field is required when **CertType** is set to **PASSPORT** and **Mode** is set to **3**.', 'type' => 'string', 'required' => false, 'example' => '1993-10-10', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ValidityDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page.', - 'type' => 'string', - 'required' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The certificate expiration date.'."\n" + ."\n" + .'This field is required when **CertType** is set to **PASSPORT** and **Mode** is set to **3**.', 'type' => 'string', 'required' => false, 'example' => '2039-06-10', 'title' => ''], ], [ - 'name' => 'Root', + 'name' => 'CertifyUrlStyle', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether it is rooted (pass 1 if selected, otherwise do not pass; corresponds to identity label risk type).', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The type of the returned **CertifyUrl**. Valid values:'."\n" + ."\n" + .'- **L**: original long URL.'."\n" + ."\n" + .'- **S** (default): short URL.', 'type' => 'string', 'required' => false, 'example' => 'L', 'title' => ''], ], [ - 'name' => 'Simulator', + 'name' => 'FaceGuardOutput', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether it is a simulator (pass 1 if selected, otherwise do not pass; corresponds to device label risk type).', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The device assistant tag type. Valid values: **DeviceRisk**.'."\n" + ."\n" + .'>'."\n" + .'> - Selecting device assistant output incurs additional fees. For more information, refer to [Paid value-added services](https://www.alibabacloud.com/help/en/id-verification/financial-grade-id-verification/face-guard).'."\n" + .'> - If you do not need device assistant tag output, do not pass this parameter or pass an empty value.', 'type' => 'string', 'required' => false, 'example' => 'DeviceRisk', 'title' => ''], ], [ - 'name' => 'VirtualVideo', + 'name' => 'RarelyCharacters', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether it is a virtual adaptation (pass 1 if selected, otherwise do not pass; corresponds to behavior label risk type).', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to enable the rare character mode:'."\n" + ."\n" + .'- **Y**: enabled. An information input box is displayed before authentication. The user must enter the name with rare characters and the ID card number, and agree to the protocol before starting the authentication process.'."\n" + ."\n" + .'- **N**: disabled (default).', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], ], [ - 'name' => 'RiskDevice', + 'name' => 'UiCustomUrl', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The UI configuration file URL.'."\n" + ."\n" + .'You can view the complete configuration in [Web SDK UI custom configuration](https://www.alibabacloud.com/help/en/id-verification/financial-grade-id-verification/web-sdk-ui-custom-configuration-description).', 'type' => 'string', 'required' => false, 'example' => 'www.aliyundoc.com', 'title' => ''], ], [ - 'name' => 'RiskDeviceToken', + 'name' => 'VideoEvidence', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Specifies whether to enable video evidence:'."\n" + ."\n" + .'- **true**: enabled.'."\n" + ."\n" + .'- **false**: disabled (default).'."\n" + ."\n" + .'> Because video files are large, the system discards video files to prioritize the transmission of essential authentication images when the network is unstable. Set video as a weak dependency in your business logic.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'RiskGeneric', + 'name' => 'AppQualityCheck', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Specifies whether the SDK enables strict face quality detection:'."\n" + ."\n" + .'- **Y**: enabled.'."\n" + ."\n" + .'- **N**: disabled (default).'."\n" + ."\n\n" + .'> '."\n" + .'> - If this parameter is enabled, the SDK must integrate the [strict face quality detection module](https://www.alibabacloud.com/help/en/id-verification/financial-grade-id-verification/description-of-sdk-package-clipping). Strict quality detection may reduce the face authentication success rate.'."\n" + .'> - Only Android SDK 2.3.24 and later versions are supported.', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], ], [ - 'name' => 'RiskBizScenario', + 'name' => 'CameraSelection', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Specifies whether to enable the camera selection feature:'."\n" + ."\n" + .'- **Y**: enabled.'."\n" + ."\n" + .'- **N**: disabled (default).'."\n" + ."\n" + .'> This feature takes effect only for PC integration mode. After this feature is enabled, users can select a camera for authentication.', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], ], [ - 'name' => 'RiskModelMining', + 'name' => 'NeedMultiFaceCheck', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Specifies whether to block authentication when multiple faces are detected on the device. Valid values:'."\n" + ."\n" + .'- **Y**: blocked. The client prompts the user to redo face authentication.'."\n" + ."\n" + .'- **N** (default): not blocked. The largest face in the frame is sent to the server for security detection.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'H5DegradeConfirmBtn', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display the "I have completed authentication" button on the H5 fallback page after authentication is complete:'."\n" + .'- **Y**: enabled.'."\n" + .'- **N** (default): disabled.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'EnableBeauty', + 'in' => 'query', + 'schema' => ['title' => '', 'type' => 'string', 'example' => 'Y', 'description' => ''], ], ], 'responses' => [ @@ -12950,650 +8828,312 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'Current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalPage' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'PageSize' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '47D87BC1-D956-573A-8A15-A9007A76F56C', - ], - 'TotalCount' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '53', - ], - 'Items' => [ - 'description' => 'Paged list data.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'GmtVerify' => [ - 'description' => 'Verification time of this authentication.', - 'type' => 'string', - 'example' => '2025-10-14 15:40:13', - ], - 'Simulator' => [ - 'description' => 'Whether it is a simulator (pass 1 if selected, otherwise do not pass; corresponds to device label risk type).', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'UserId' => [ - 'description' => 'User ID.', - 'type' => 'string', - 'example' => '198123xxxxxx', - ], - 'CertifyId' => [ - 'description' => 'Certification ID.', - 'type' => 'string', - 'example' => 'shad861465f2aaeeb805b519e1a93ab2', - ], - 'Model' => [ - 'description' => 'Liveness detection scheme.', - 'type' => 'string', - 'example' => 'MULTI_ACTION', - ], - 'OuterOrderNo' => [ - 'description' => 'Unique identifier for the customer request.', - 'type' => 'string', - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], - 'CertNo' => [ - 'description' => 'Desensitized ID number.', - 'type' => 'string', - 'example' => '3****************2', - ], - 'SubCode' => [ - 'description' => 'System returned error code.', - 'type' => 'string', - 'example' => '207', - ], - 'SceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000015352', - ], - 'Root' => [ - 'description' => 'Whether it is root (pass 1 if selected, otherwise do not pass; corresponds to identity label risk type).', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Passed' => [ - 'description' => 'Whether the certification passed. Values:'."\n" - .'- **T**: Passed.'."\n" - .'- **F**: Not passed.', - 'type' => 'string', - 'example' => 'T', - ], - 'VirtualVideo' => [ - 'description' => 'Whether it is a virtual adaptation (pass 1 if selected, otherwise do not pass; corresponds to behavior label risk type).', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ProductCode' => [ - 'description' => 'Product code.', - 'type' => 'string', - 'example' => 'ID_PRO', - ], - 'ExtInfo' => [ - 'description' => 'Extended information.', - 'type' => 'object', - 'properties' => [ - 'OssIdNationalEmblemObjectName' => [ - 'description' => 'OCR ID card national emblem file name.', - 'type' => 'string', - 'example' => '-', - ], - 'QualityScore' => [ - 'description' => 'Liveness face quality score.', - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - 'FaceAttackScore' => [ - 'description' => 'Face attack score, with a range of 0~1. A value closer to 1 indicates a higher likelihood of an attack.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0000445161', - ], - 'CertName' => [ - 'description' => 'Desensitized name.', - 'type' => 'string', - 'example' => '何*', - ], - 'FaceAttack' => [ - 'description' => 'Whether it is a face attack:'."\n" - .'- **T**: Yes'."\n" - .'- **F**: No', - 'type' => 'string', - 'example' => 'T', - ], - 'IdCardVerifyScore' => [ - 'description' => 'Face-to-ID card comparison score.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.9', - ], - 'OssIdFaceObjectName' => [ - 'description' => 'OCR ID card face file name.', - 'type' => 'string', - 'example' => '-', - ], - 'FaceOcclusion' => [ - 'description' => 'Whether the face is occluded, T if yes, F otherwise.', - 'type' => 'string', - 'example' => 'T', - ], - 'VerifyScore' => [ - 'description' => 'Face comparison score.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0', - ], - 'OssBucketName' => [ - 'description' => 'The OSS bucket for the photo.', - 'type' => 'string', - 'example' => 'cn-shanghai-aliyun-cloudauth-XXX', - ], - 'OssObjectName' => [ - 'description' => 'The name of the stored object.', - 'type' => 'string', - 'example' => 'verify/XXXXX1251634779/sha6a0a0cab01288c7aa8ac3f45220eb_0_normal.jpeg', - ], - 'asrTexts' => [ - 'description' => 'List of ASR texts.', - 'type' => 'array', - 'items' => [ - 'description' => 'ASR text', - 'type' => 'string', - 'example' => '请朗读:3 5 8 1', - ], - ], - 'voiceObjectNames' => [ - 'description' => 'List of OSS file names for audio files.', - 'type' => 'array', - 'items' => [ - 'description' => 'OSS file name for an audio file.', - 'type' => 'string', - 'example' => 'XXXXXc3f45220eb_0.mp4'."\n", - ], - 'example' => '-', - ], - 'screenVideoObjectNames' => [ - 'description' => 'List of OSS file names for screen recording files.', - 'type' => 'array', - 'items' => [ - 'description' => 'OSS file name for a screen recording file.', - 'type' => 'string', - 'example' => 'XXXXXc3f45220eb_0.mp4', - ], - 'example' => '-', - ], - 'DeviceRisk' => [ - 'description' => 'Face guard label.', - 'type' => 'string', - 'example' => '-', - ], - ], - ], - 'RiskDevice' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RiskDeviceToken' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RiskGeneric' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RiskBizScenario' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'RiskModelMining' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], + 'Code' => ['description' => 'The response code. 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result object.', + 'type' => 'object', + 'properties' => [ + 'CertifyId' => ['description' => 'The unique identifier for ID Verification.', 'type' => 'string', 'example' => '91707dc296d469ad38e4c5efa6a0f24b', 'title' => ''], + 'CertifyUrl' => ['description' => 'The URL for performing ID Verification in a web browser. After authentication is complete, the page redirects based on the ReturnUrl parameter.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'- The CertifyUrl returned by the initialization operation is **valid for 30 minutes and can be submitted for authentication only once**. Use it within the validity period and do not reuse it.'."\n" + .'- This parameter requires the **MetaInfo** parameter to be correctly passed in to return a CertifyUrl that matches the client. If the URL cannot be obtained, check whether **MetaInfo** and other input parameters are correct.'."\n" + ."\n" + .'- The domain name of this URL may change with service updates. To ensure normal service availability, do not apply access control to this domain name.'."\n" + ."\n" + .'- Do not use incognito mode or modify the URL during browser redirection. Otherwise, a **signature exception** error may occur.'."\n" + ."\n" + .'></notice>.', 'type' => 'string', 'example' => 'https://t.aliyun.com/****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"TotalPage\\": 4,\\n \\"PageSize\\": 20,\\n \\"RequestId\\": \\"47D87BC1-D956-573A-8A15-A9007A76F56C\\",\\n \\"TotalCount\\": 53,\\n \\"Items\\": [\\n {\\n \\"GmtVerify\\": \\"2025-10-14 15:40:13\\",\\n \\"Simulator\\": 1,\\n \\"UserId\\": \\"198123xxxxxx\\",\\n \\"CertifyId\\": \\"shad861465f2aaeeb805b519e1a93ab2\\",\\n \\"Model\\": \\"MULTI_ACTION\\",\\n \\"OuterOrderNo\\": \\"e0c34a77f5ac40a5aa5e6ed20c353888\\",\\n \\"CertNo\\": \\"3****************2\\",\\n \\"SubCode\\": \\"207\\",\\n \\"SceneId\\": 1000015352,\\n \\"Root\\": 1,\\n \\"Passed\\": \\"T\\",\\n \\"VirtualVideo\\": 1,\\n \\"ProductCode\\": \\"ID_PRO\\",\\n \\"ExtInfo\\": {\\n \\"OssIdNationalEmblemObjectName\\": \\"-\\",\\n \\"QualityScore\\": 1,\\n \\"FaceAttackScore\\": 0.0000445161,\\n \\"CertName\\": \\"何*\\",\\n \\"FaceAttack\\": \\"T\\",\\n \\"IdCardVerifyScore\\": 0.9,\\n \\"OssIdFaceObjectName\\": \\"-\\",\\n \\"FaceOcclusion\\": \\"T\\",\\n \\"VerifyScore\\": 0,\\n \\"OssBucketName\\": \\"cn-shanghai-aliyun-cloudauth-XXX\\",\\n \\"OssObjectName\\": \\"verify/XXXXX1251634779/sha6a0a0cab01288c7aa8ac3f45220eb_0_normal.jpeg\\",\\n \\"asrTexts\\": [\\n \\"请朗读:3 5 8 1\\"\\n ],\\n \\"voiceObjectNames\\": [\\n \\"XXXXXc3f45220eb_0.mp4\\\\n\\"\\n ],\\n \\"screenVideoObjectNames\\": [\\n \\"XXXXXc3f45220eb_0.mp4\\"\\n ],\\n \\"DeviceRisk\\": \\"-\\"\\n },\\n \\"RiskDevice\\": 0,\\n \\"RiskDeviceToken\\": 0,\\n \\"RiskGeneric\\": 0,\\n \\"RiskBizScenario\\": 0,\\n \\"RiskModelMining\\": 0\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Paged Query for Authentication List', - 'description' => '- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'DescribeVerifyStatistics' => [ - 'summary' => 'Query Authentication Statistics', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'Initialize authentication', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + .'- This operation uses different parameters for different product plans. For more information, refer to the [official documentation](https://www.alibabacloud.com/help/en/id-verification/financial-grade-id-verification/product-overview/introduction/).'."\n" + ."\n" + .'#### Image format requirements'."\n" + .'When performing ID Verification, submit images that meet all of the following conditions:'."\n" + .'- A recent photo with a complete, clear, and unobstructed face, a natural expression, and the subject facing the camera directly.'."\n" + .'- A clear photo with normal exposure. The face must not be too dark, too bright, or have glare, and the angle must not deviate significantly.'."\n" + .'- Resolution must not exceed 1920×1080 and must be at least 640×480. Scale the short side to 720 pixels and use a compression ratio greater than 0.9.'."\n" + .'- Photo size: < 1 MB.'."\n" + .'- Photos rotated 90, 180, and 270 degrees are supported. For photos with multiple faces, the largest face is selected.', + 'requestParamsDescription' => ' > If you choose the OSS method to submit face photos, you must pass in the OssBucketName and OssObjectName fields.'."\n" + .'The OSS input format supports only the URL, bucket, and file name generated by the OSS authorized when you activated the ID Verification service. For information about how to query the authorized OSS, refer to [Activate OSS and grant authorization](https://help.aliyun.com/document_detail/163108.html?spm=a2c4g.11186623.2.14.7dd9f397RmV0jw#section-4w2-trd-8q6).'."\n" + .'If you choose the FaceContrastPicture (Base64-encoded photo) method to submit face photos, check the photo size and do not submit oversized photos. You can use the OSS method to upload larger face photos.'."\n" + ."\n" + .'The required fields vary depending on the selected authentication plan. Refer to the following table for details.'."\n" + ."\n" + .'Field|APP authentication plan|Face liveness verification plan|Liveness detection plan'."\n" + .'--|--|--|--'."\n" + .'CertType|Yes|Optional|Optional'."\n" + .'CertName|Yes|Optional|Optional'."\n" + .'CertNo|Yes|Optional|Optional'."\n" + .'UserId|Optional|Yes|Yes'."\n" + .'FaceContrastPicture|No|Yes|No'."\n" + .'FaceContrastPictureUrl|No|Yes|No'."\n" + .'CertifyId|No|Yes|No'."\n" + .'OssBucketName|No|Yes|No'."\n" + .'OssObjectName|No|Yes|No.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ## Result codes.'."\n" + ."\n" + .'|Result code|Message|Description|'."\n" + .'|----|-------|--|'."\n" + .'|200|success|Successful.|'."\n" + .'|400|参数不能为空|The parameter cannot be empty.|'."\n" + .'|401|参数非法|Invalid parameter. The name and ID card number must comply with national standards and must not contain letters or other special characters.|'."\n" + .'|402|应用配置不存在|The application configuration does not exist.|'."\n" + .'|404|认证场景配置不存在|The authentication scenario configuration does not exist. Create an authentication scenario in the console first.|'."\n" + .'|405|您的年龄未满14周岁,不允许使用此产品|Users under 14 years of age cannot use this product. Manual review is recommended.|'."\n" + .'|410|未开通服务|The OSS service is not activated or OSS read/write authorization is not complete. Log on to the console to complete the authorization.|'."\n" + .'|411|RAM无权限|Grant the AliyunAntCloudAuthFullAccess permission to the RAM user.|'."\n" + .'|412|欠费中|Financial-grade ID Verification or OSS has overdue payments. Top up your account before proceeding.|'."\n" + .'|414|设备类型不支持|The current mobile device does not support face authentication. Use a different device.|'."\n" + .'|415|SDK版本不支持|The current authentication SDK version does not support face authentication. Upgrade the SDK.|'."\n" + .'|416|系统版本不支持|The current operating system version does not support face authentication. Upgrade the system or use a different device.|'."\n" + .'|417|无法使用刷脸服务|The comparison source for the current identity information is unavailable. If the information is correct, manual review is recommended.|'."\n" + .'|418|刷脸失败次数过多|Too many face authentication attempts today. Try again tomorrow.|'."\n" + .'|419|传入图片不可用|The image cannot be downloaded, the image content is empty, the image resolution does not meet requirements, or face features cannot be extracted. Use a different image.|'."\n" + .'|420|数据重复|More than one image submission method is used. <ul><li>FaceContrastPicture</li><li>FaceContrastPictureUrl</li><li>Oss</li><li>CertifyId</li></ul>|'."\n" + .'|421|传入图片过大|The image exceeds 1 MB. Compress the image or use a different upload method.|'."\n" + .'|422|下载图片超时|The image download exceeded 3 seconds. Check the network and try again.|'."\n" + .'|423|状态错误|The authentication status of the specified CertifyId must be T. You can also use a different method to submit the image.|'."\n" + .'|500|系统错误|Internal system error. Contact technical support for troubleshooting.|.', + 'changeSet' => [ + ['createdAt' => '2025-11-07T06:25:31.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-09-08T08:23:53.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-01-16T08:31:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-12T03:45:11.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-12T03:45:11.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-07-22T14:24:59.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-07-02T08:41:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-06-13T08:31:07.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-01-18T14:10:01.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-11-07T14:47:09.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-31T07:45:24.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-28T03:21:26.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-20T08:26:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-04-27T01:37:18.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-31T06:43:55.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-11-02T03:13:44.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-02-23T09:20:27.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-08T09:41:47.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitFaceVerify'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:InitFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0f24b\\",\\n \\"CertifyUrl\\": \\"https://t.aliyun.com/****\\"\\n }\\n}","type":"json"}]', + ], + 'InsertWhiteListSetting' => [ + 'summary' => 'Adds an ID Verification whitelist entry.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '59155', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '243504', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'ProductCode', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Product Code.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], + 'schema' => ['description' => 'The ServiceCode of the ID Verification cloud service. Set this parameter to **antcloudauth**.', 'type' => 'string', 'required' => false, 'example' => 'antcloudauth', 'title' => ''], ], [ - 'name' => 'StartDate', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Start date of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1760025600000', - ], + 'schema' => ['description' => 'The verification scenario ID. This ID is automatically generated after you create a verification scenario in the console. For information about how to create a verification scenario, see Add a verification scenario.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100000xxxx', 'title' => ''], ], [ - 'name' => 'EndDate', + 'name' => 'CertifyId', 'in' => 'query', - 'schema' => [ - 'description' => 'End date of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1760630399999', - ], + 'schema' => ['description' => 'The unique identifier of the ID Verification request.', 'type' => 'string', 'required' => false, 'example' => 'shsf57a4e0d9981c3bd66dc754f3d3cd', 'title' => ''], ], [ - 'name' => 'ServiceCode', + 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Service type:'."\n" - .'- **antcloudauth**: Financial-grade real-person authentication.'."\n" - .'- **cloudauthst** (discontinued): Enhanced real-person authentication.'."\n" - .'- **cloudauth** (discontinued): Real-person authentication.', - 'type' => 'string', - 'required' => true, - 'example' => 'antcloudauth', - ], + 'schema' => ['description' => 'The certificate number.', 'type' => 'string', 'required' => false, 'example' => '330103xxxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'AgeGt', + 'name' => 'ValidDay', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether the age is over 14 years old:'."\n" - .'- **T**: Over'."\n" - .'- **F**: Under', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'The number of days the whitelist entry is valid. Valid values: 3, 7, and 30.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['description' => 'The remarks. The maximum length is 32 characters.', 'type' => 'string', 'required' => false, 'example' => 'xxxxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '4E27D502-1287-526A-910C-881A3F023914', - ], - 'ResultObject' => [ - 'description' => 'Statistical results', - 'type' => 'object', - 'properties' => [ - 'InitServiceId' => [ - 'description' => 'Total number of identity deduplication server initialization requests.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'InitServiceIdSuccess' => [ - 'description' => 'Number of successful identity deduplication server initializations.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'InitDeviceIdSuccess' => [ - 'description' => 'Number of successful identity deduplication client initializations.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'InitDeviceId' => [ - 'description' => 'Number of identity deduplication client initializations.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'InitDeviceSuccess' => [ - 'description' => 'Number of client initialization calls.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '73', - ], - 'VerifyDeviceIdSuccessPassed' => [ - 'description' => 'Number of successful identity deduplication client authentications.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'VerifyDeviceSuccessPassed' => [ - 'description' => 'Number of successful client authentications.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '6', - ], - 'VerifyDeviceId' => [ - 'description' => 'Number of identity deduplication client authentications.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'VerifyDeviceSuccess' => [ - 'description' => 'Number of successful client authentications.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15', - ], - 'InitDevice' => [ - 'description' => 'Number of client initializations.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '73', - ], - 'VerifyDeviceIdSuccess' => [ - 'description' => 'Number of successful identity deduplication client verifications.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '6', - ], - 'InitServiceSuccess' => [ - 'description' => 'Number of successful service-side initialization authentications.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '134', - ], - 'InitService' => [ - 'description' => 'Number of service-side initializations.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '73', - ], - 'VerifyDevice' => [ - 'description' => 'Number of client verifications.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15', - ], - 'Items' => [ - 'description' => 'Daily pass/conversion rate (PV).', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InitDevicePassRate' => [ - 'description' => 'Client initialization pass rate.', - 'type' => 'string', - 'example' => '60', - ], - 'InitServicePassRate' => [ - 'description' => 'Server initialization pass rate.', - 'type' => 'string', - 'example' => '20', - ], - 'Date' => [ - 'description' => 'Date.', - 'type' => 'string', - 'example' => '2025-10-11', - ], - 'InitServiceConversionRate' => [ - 'description' => 'Server initialization conversion rate.', - 'type' => 'string', - 'example' => '26.67', - ], - 'PassRate' => [ - 'description' => 'Pass rate.', - 'type' => 'string', - 'example' => '75', - ], - 'InitService' => [ - 'description' => 'Number of server initializations.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ResultObject' => ['description' => 'The returned result.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4E27D502-1287-526A-910C-881A3F023914\\",\\n \\"ResultObject\\": {\\n \\"InitServiceId\\": 9,\\n \\"InitServiceIdSuccess\\": 9,\\n \\"InitDeviceIdSuccess\\": 9,\\n \\"InitDeviceId\\": 9,\\n \\"InitDeviceSuccess\\": 73,\\n \\"VerifyDeviceIdSuccessPassed\\": 3,\\n \\"VerifyDeviceSuccessPassed\\": 6,\\n \\"VerifyDeviceId\\": 9,\\n \\"VerifyDeviceSuccess\\": 15,\\n \\"InitDevice\\": 73,\\n \\"VerifyDeviceIdSuccess\\": 6,\\n \\"InitServiceSuccess\\": 134,\\n \\"InitService\\": 73,\\n \\"VerifyDevice\\": 15,\\n \\"Items\\": [\\n {\\n \\"InitDevicePassRate\\": \\"60\\",\\n \\"InitServicePassRate\\": \\"20\\",\\n \\"Date\\": \\"2025-10-11\\",\\n \\"InitServiceConversionRate\\": \\"26.67\\",\\n \\"PassRate\\": \\"75\\",\\n \\"InitService\\": 15\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'Query Authentication Statistics', - 'description' => '- Request Method: Supports sending requests using HTTPS POST and GET methods.'."\n" - .'- Service Address: cloudauth.aliyuncs.com.'."\n", - 'translator' => 'machine', - ], - 'DescribeMetaSearchPageList' => [ - 'summary' => 'Query Page Metadata', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"ResultObject\\": true\\n}","type":"json"}]', + 'title' => 'Add an ID verification whitelist entry', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InsertWhiteListSetting'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateWhiteListSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'LivenessFaceVerify' => [ + 'summary' => 'LivenessFaceVerify is a service that performs passive liveness detection on face images submitted through an API operation. The algorithm primarily identifies liveness attack types such as screen replay and printed photo attacks. This service is suitable for low-risk business scenarios or for use in conjunction with an offline facial recognition SDK. If your business requires a higher level of security for real face verification, integrate the App or WebSDK pattern, or integrate the face Deepfake detection service to identify face forgery risks across more dimensions.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '103364', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '59165', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'Api', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'ID_CARD_2_META', - ], + 'name' => 'SceneId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the authentication scenario. This ID is automatically generated after you create an authentication scenario in the console.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => ' '."\n" + .'100000****', 'title' => ''], ], [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1760198400000', - ], + 'name' => 'OuterOrderNo', + 'in' => 'formData', + 'schema' => ['description' => 'The custom business unique identity on the client side, which is used for subsequent troubleshooting. The value can contain up to 32 alphanumeric characters. Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ - 'name' => 'EndDate', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1739926800000', - ], + 'name' => 'ProductCode', + 'in' => 'formData', + 'schema' => ['description' => 'Fixed value: LR_FR_MIN.', 'type' => 'string', 'required' => false, 'example' => 'LR_FR_MIN', 'title' => ''], ], [ - 'name' => 'BizCode', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], + 'name' => 'FaceContrastPicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64 encoding of the photo.', 'type' => 'string', 'required' => false, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', 'title' => ''], ], [ - 'name' => 'SubCode', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '205', - ], + 'name' => 'DeviceToken', + 'in' => 'formData', + 'schema' => ['description' => 'The device token, which is used for risk identification.', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'McozS1ZWRcRZStlERcZZo_QOytx5jcgZoZJEoRLOxxxxxxx', 'title' => ''], ], [ - 'name' => 'ReqId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'B012DB99-6C10-5740-81E0-B3A8C1C1B9C1', - ], + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'The mobile phone number of the user.', 'type' => 'string', 'required' => false, 'example' => '130xxxxxxxx', 'title' => ''], ], [ - 'name' => 'IdentifyNum', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '522132197411184XXX', - ], + 'name' => 'Ip', + 'in' => 'formData', + 'schema' => ['description' => 'The IP address of the user network.', 'type' => 'string', 'required' => false, 'example' => '114.xxx.xxx.xxx', 'title' => ''], ], [ - 'name' => 'UserName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'name' => 'UserId', + 'in' => 'formData', + 'schema' => ['description' => 'The custom user ID (up to 100 characters). Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'name' => 'FaceContrastPictureUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the image.', 'type' => 'string', 'required' => false, 'example' => 'https://ware.cdeledu.com/upfile/uploadPic/2025/03/21/dd62fbb9c966433ab0ba9a7252816b30.jpg', 'title' => ''], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '10', - ], + 'name' => 'CertifyId', + 'in' => 'formData', + 'schema' => ['description' => 'The unique identity of the ID Verification request.', 'type' => 'string', 'required' => false, 'example' => '91707dc296d469ad38e4c5efa6a0f24b', 'title' => ''], ], [ - 'name' => 'VehicleNum', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'name' => 'OssBucketName', + 'in' => 'formData', + 'schema' => ['description' => 'The bucket name of the authorization-granted OSS bucket.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai-aliyun-cloudauth-1494517779820665', 'title' => ''], ], [ - 'name' => 'Mobile', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '19127612221', - ], + 'name' => 'OssObjectName', + 'in' => 'formData', + 'schema' => ['description' => 'The file name in the authorization-granted OSS bucket.', 'type' => 'string', 'required' => false, 'example' => 'facedetect/17483113370916034.jpg', 'title' => ''], ], [ - 'name' => 'BankCard', + 'name' => 'Model', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '610*************1181', - ], + 'schema' => ['description' => 'The liveness detection parameter.', 'type' => 'string', 'required' => false, 'example' => 'FRONT_CAMERA_LIVENESS', 'title' => ''], ], [ - 'name' => 'IspName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'CTCC', - ], + 'name' => 'Crop', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to allow trim of the face image. Valid values:'."\n" + ."\n" + .'- T: Trim is allowed.'."\n" + ."\n" + .'- F (default): Trim is not allowed.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], ], ], 'responses' => [ @@ -13601,679 +9141,279 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '5176EB42-6EE7-510B-9388-35018DF3175B', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Items' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'IdentifyNum' => [ - 'description' => '', - 'type' => 'string', - 'example' => '4****************X', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'B0102BEF-4411-57C3-860D-CFE7DE0A64C0', - ], - 'Api' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ID_CARD_2_META', - ], - 'BizCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Date' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-17 10:00:11', - ], - 'SubCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '207', - ], - 'UserName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'ApiName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'Request' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VehicleNum' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'VehicleType' => [ - 'description' => '', - 'type' => 'string', - 'example' => '52', - ], - 'VehicleTypeName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - ], - ], - 'Response' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'BizCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2', - ], - 'Vin' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'LDC643T44G3667219', - ], - 'ModelNum' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'HQ7002BEV67', - ], - 'EngineNum' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'N7YJ113PA', - ], - 'Type' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'Color' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'UseProperty' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'RegistrationDate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2015-08-24 00:00:00', - ], - 'InspectionDate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2026-07-31 00:00:00', - ], - 'RetirementDate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2099-12-31 00:00:00', - ], - 'VehicleState' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'EngineType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CA6GV30TD', - ], - 'FuelType' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'Displacement' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Power' => [ - 'description' => '', - 'type' => 'string', - 'example' => '120', - ], - 'AxleCount' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2', - ], - 'WheelBase' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2750', - ], - 'FrontWheelDistance' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1630', - ], - 'BackWheelDistance' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1630', - ], - 'TotalMass' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2350', - ], - 'UnladenMass' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1900', - ], - 'ApprovedLoad' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'ApprovedCount' => [ - 'description' => '', - 'type' => 'string', - 'example' => '5', - ], - 'ReleaseDate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2022-08-13 00:00:00', - ], - 'Brand' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'BankCard' => [ - 'description' => '', - 'type' => 'string', - 'example' => '622848001714440xxxx', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - ], - ], - 'VehicleNum' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'RequestJson' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'ResponseJson' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'Mobile' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1500000xxxx', - ], - 'BankCard' => [ - 'description' => '', - 'type' => 'string', - 'example' => '6214837145546986', - ], - 'IspName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CUCC', - ], - ], + 'Code' => ['description' => 'The return code. **200** indicates that the API operation is successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of this request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'CertifyId' => ['description' => 'The unique identity of the ID Verification request.', 'type' => 'string', 'example' => '91707dc296d469ad38e4c5efa6a0f24b', 'title' => ''], + 'SubCode' => ['description' => 'The verification result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'MaterialInfo' => ['description' => 'The attachment information of the facial verification subject, including face quality, face attack detection, face or OCR images, and intent verification data.', 'type' => 'string', 'example' => '{"faceAttack": "F","facialPictureFront": {"qualityScore": 88.3615493774414,"verifyScore": 50.28594166529785}}', 'title' => ''], + 'Passed' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- T: Passed.'."\n" + ."\n" + .'- F: Failed.', 'type' => 'string', 'example' => 'T', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 1,\\n \\"TotalPage\\": 0,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"5176EB42-6EE7-510B-9388-35018DF3175B\\",\\n \\"TotalCount\\": 0,\\n \\"Items\\": [\\n {\\n \\"IdentifyNum\\": \\"4****************X\\",\\n \\"RequestId\\": \\"B0102BEF-4411-57C3-860D-CFE7DE0A64C0\\",\\n \\"Api\\": \\"ID_CARD_2_META\\",\\n \\"BizCode\\": \\"1\\",\\n \\"Date\\": \\"2025-10-17 10:00:11\\",\\n \\"SubCode\\": \\"207\\",\\n \\"UserName\\": \\"**豪\\",\\n \\"ApiName\\": \\"身份证二要素\\",\\n \\"Request\\": {\\n \\"VehicleNum\\": \\"浙J3H91H\\",\\n \\"VehicleType\\": \\"52\\",\\n \\"VehicleTypeName\\": \\"新能源小型车\\"\\n },\\n \\"Response\\": {\\n \\"Data\\": {\\n \\"BizCode\\": \\"2\\",\\n \\"Vin\\": \\"LDC643T44G3667219\\",\\n \\"ModelNum\\": \\"HQ7002BEV67\\",\\n \\"EngineNum\\": \\"N7YJ113PA\\",\\n \\"Type\\": \\"小型轿车\\",\\n \\"Color\\": \\"白\\",\\n \\"UseProperty\\": \\"0\\",\\n \\"RegistrationDate\\": \\"2015-08-24 00:00:00\\",\\n \\"InspectionDate\\": \\"2026-07-31 00:00:00\\",\\n \\"RetirementDate\\": \\"2099-12-31 00:00:00\\",\\n \\"VehicleState\\": \\"正常\\",\\n \\"EngineType\\": \\"CA6GV30TD\\",\\n \\"FuelType\\": \\"电\\",\\n \\"Displacement\\": \\"0\\",\\n \\"Power\\": \\"120\\",\\n \\"AxleCount\\": \\"2\\",\\n \\"WheelBase\\": \\"2750\\",\\n \\"FrontWheelDistance\\": \\"1630\\",\\n \\"BackWheelDistance\\": \\"1630\\",\\n \\"TotalMass\\": \\"2350\\",\\n \\"UnladenMass\\": \\"1900\\",\\n \\"ApprovedLoad\\": \\"0\\",\\n \\"ApprovedCount\\": \\"5\\",\\n \\"ReleaseDate\\": \\"2022-08-13 00:00:00\\",\\n \\"Brand\\": \\"奔驰\\",\\n \\"BankCard\\": \\"622848001714440xxxx\\"\\n },\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\"\\n },\\n \\"VehicleNum\\": \\"浙J3H91H\\",\\n \\"RequestJson\\": \\"{\\\\\\\\\\\\\\"productCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cloudauth_infoverify_public_cn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"identifyNum\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"4****************X\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"userName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"**豪\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"userId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"12600512516xxxxx\\\\\\\\\\\\\\"}\\",\\n \\"ResponseJson\\": \\"{\\\\\\\\\\\\\\"code\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"200\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"bizCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ispName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CMCC\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"subCode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"101\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"message\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"调用成功\\\\\\\\\\\\\\"}\\",\\n \\"Mobile\\": \\"1500000xxxx\\",\\n \\"BankCard\\": \\"6214837145546986\\",\\n \\"IspName\\": \\"CUCC\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Paginated Query for Information Verification Details.', - 'translator' => 'machine', - ], - 'DescribeMetaStatisticsList' => [ - 'summary' => 'Query Authentication Statistics', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ResultObject\\": {\\n \\"CertifyId\\": \\"91707dc296d469ad38e4c5efa6a0f24b\\",\\n \\"SubCode\\": \\"200\\",\\n \\"MaterialInfo\\": \\"{\\\\\\"faceAttack\\\\\\": \\\\\\"F\\\\\\",\\\\\\"facialPictureFront\\\\\\": {\\\\\\"qualityScore\\\\\\": 88.3615493774414,\\\\\\"verifyScore\\\\\\": 50.28594166529785}}\\",\\n \\"Passed\\": \\"T\\"\\n }\\n}","type":"json"}]', + 'title' => 'Passive liveness detection for face images', + 'description' => 'Calls the LivenessFaceVerify operation to perform liveness detection on a face image.', + 'changeSet' => [ + ['createdAt' => '2021-09-08T09:41:48.000Z', 'description' => 'Request parameters changed, Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LivenessFaceVerify'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:LivenessFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'Mobile2MetaVerify' => [ + 'summary' => 'Verifies the consistency of a mobile phone number and the owner\'s name.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '103365', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Api', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'MOBILE_ONLINE_LENGTH', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + .'- normal: plaintext without encryption'."\n" + .'- md5: MD5 encryption.', 'type' => 'string', 'required' => true, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1760112000000', - ], + 'name' => 'UserName', + 'in' => 'formData', + 'schema' => ['description' => 'The name. Valid values:'."\n" + .'- If ParamType is set to normal, pass in the name in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted name.', 'type' => 'string', 'required' => true, 'example' => '● 明文:张三'."\n" + .'● 密文:'."\n" + .'32fa7bcd874161bea8ec8fd98f390ec9', 'title' => ''], ], [ - 'name' => 'EndDate', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1750694399999', - ], + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'The mobile phone number. Valid values:'."\n" + .'- If ParamType is set to normal, pass in the mobile phone number in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted mobile phone number.', 'type' => 'string', 'required' => true, 'example' => '● 明文:186****2055'."\n" + .'● 密文:'."\n" + .'849169cd3b20621c1c78bd61a11a4fc2', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3F860B3F-76B7-5555-A907-2F4433BF8868', - ], - 'Items' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SuccessRate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '100', - ], - 'Api' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'MOBILE_ONLINE_LENGTH', - ], - 'BillRate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Date' => [ - 'description' => '', - 'type' => 'string', - 'example' => '11/8', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'SuccessCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'NoRecordCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'BillCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'UnpassedCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'PassedRate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '20', - ], - 'ApiName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'PassedCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9', - ], - 'IspName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CUCC', - ], - 'ChargeCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result object.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result. Valid values:'."\n" + .'- 1: Consistent.'."\n" + .'- 2: Inconsistent.'."\n" + .'- 3: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'IspName' => ['description' => 'The carrier name. Valid values:'."\n" + .'- CMCC: China Mobile'."\n" + .'- CUCC: China Unicom'."\n" + .'- CTCC: China Telecom.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F860B3F-76B7-5555-A907-2F4433BF8868\\",\\n \\"Items\\": [\\n {\\n \\"SuccessRate\\": \\"100\\",\\n \\"Api\\": \\"MOBILE_ONLINE_LENGTH\\",\\n \\"BillRate\\": \\"0\\",\\n \\"Date\\": \\"11/8\\",\\n \\"TotalCount\\": 4,\\n \\"SuccessCount\\": 1,\\n \\"NoRecordCount\\": 0,\\n \\"BillCount\\": 0,\\n \\"UnpassedCount\\": 2,\\n \\"PassedRate\\": \\"20\\",\\n \\"ApiName\\": \\"身份证二要素\\",\\n \\"PassedCount\\": 9,\\n \\"IspName\\": \\"CUCC\\",\\n \\"ChargeCount\\": 0\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Query Information Verification and Authentication Statistics', - 'translator' => 'machine', - ], - 'DescribeMetaStatisticsPageList' => [ - 'summary' => 'Query Authentication Statistics Page', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'Mobile phone two-factor verification', + 'description' => 'Passes in a mobile phone number and a name, and verifies their authenticity and consistency through an authoritative data source.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile2MetaVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile2MetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'Mobile3MetaDetailStandardVerify' => [ + 'summary' => 'Verifies the three-element identity of a phone number (detailed version - standard edition).', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '103367', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '257106', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], ], 'parameters' => [ [ - 'name' => 'Api', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'ID_PERIOD', - ], - ], - [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1760112000000', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'EndDate', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1737561599999', - ], + 'name' => 'IdentifyNum', + 'in' => 'formData', + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the ID card number in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted ID card number.', 'type' => 'string', 'required' => false, 'example' => '429001********8211', 'title' => ''], ], [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '3', - ], + 'name' => 'UserName', + 'in' => 'formData', + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the name in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted name.', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '10', - ], + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'The phone number.'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the phone number in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted phone number.', 'type' => 'string', 'required' => false, 'example' => '138********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'TotalPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'C379C9E4-4DA0-5D0B-821B-25E2B8693D48', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '7', - ], - 'Items' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SuccessRate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '100', - ], - 'Api' => [ - 'description' => 'Api。', - 'type' => 'string', - 'example' => 'ID_PERIOD', - ], - 'BillRate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '80', - ], - 'Date' => [ - 'description' => '', - 'type' => 'string', - 'example' => '11/8', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'SuccessCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'NoRecordCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12', - ], - 'BillCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'UnpassedCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'PassedRate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '80', - ], - 'ApiName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'PassedCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21', - ], - 'IspName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CMCC', - ], - 'ChargeCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260'], + 'Code' => ['description' => 'The return code. **200** indicates a successful response.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- **1**: Verification is consistent.'."\n" + .'- **2**: Verification is inconsistent.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'SubCode' => ['description' => 'The detailed verification result. Valid values:'."\n" + ."\n" + .'- 101: Verification passed. All three elements are consistent.'."\n" + .'- 201: The phone number is inconsistent with both the name and the ID card number.'."\n" + .'- 202: The phone number is consistent with the name but inconsistent with the ID card number.'."\n" + .'- 203: The phone number is inconsistent with the name but consistent with the ID card number.'."\n" + .'- 204: Other inconsistency.'."\n" + .'- 301: No record found.', 'type' => 'string', 'example' => '101', 'title' => ''], + 'IspName' => ['description' => 'The carrier name. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile.'."\n" + .'- **CUCC**: China Unicom.'."\n" + .'- **CTCC**: China Telecom.'."\n" + .'- **CBCC**: China Broadnet.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CurrentPage\\": 3,\\n \\"TotalPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"C379C9E4-4DA0-5D0B-821B-25E2B8693D48\\",\\n \\"TotalCount\\": 7,\\n \\"Items\\": [\\n {\\n \\"SuccessRate\\": \\"100\\",\\n \\"Api\\": \\"ID_PERIOD\\",\\n \\"BillRate\\": \\"80\\",\\n \\"Date\\": \\"11/8\\",\\n \\"TotalCount\\": 4,\\n \\"SuccessCount\\": 1,\\n \\"NoRecordCount\\": 12,\\n \\"BillCount\\": 10,\\n \\"UnpassedCount\\": 2,\\n \\"PassedRate\\": \\"80\\",\\n \\"ApiName\\": \\"车辆要素核验增强版\\",\\n \\"PassedCount\\": 21,\\n \\"IspName\\": \\"CMCC\\",\\n \\"ChargeCount\\": 1\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Paged Query for Information Verification Data', - 'translator' => 'machine', - ], - 'QuerySceneConfigs' => [ - 'summary' => 'Query Scene Configuration', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'Phone number three-element verification (detailed version) - standard edition', + 'description' => 'Passes in a phone number, name, and ID card number, and verifies their authenticity and consistency through an authoritative data source. If the information is inconsistent, the reason for the inconsistency is returned.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaDetailStandardVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaDetailStandardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'Mobile3MetaDetailVerify' => [ + 'summary' => 'Verifies the authenticity and consistency of a phone number, name, and ID card number against authoritative data sources, and returns the reason for any inconsistency.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -14283,102 +9423,135 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '138609', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '194557', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], ], 'parameters' => [ [ - 'name' => 'type', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scene type.', - 'type' => 'string', - 'required' => true, - 'example' => 'VOLUNTARY', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- normal: plaintext without encryption'."\n" + ."\n" + .'- md5: MD5 encryption.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], + ], + [ + 'name' => 'IdentifyNum', + 'in' => 'formData', + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'> Note: Only second-generation resident ID card numbers and Hong Kong, Macao, or Taiwan residence permit numbers are supported.'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the ID card number in plaintext.'."\n" + ."\n" + .'- If ParamType is set to md5, pass in the ID card number in ciphertext.', 'type' => 'string', 'required' => false, 'example' => '明文:429001********8211'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'32fa7bcd874161bea8ec8fd98f390ec9', 'title' => ''], + ], + [ + 'name' => 'UserName', + 'in' => 'formData', + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the name in plaintext.'."\n" + ."\n" + .'- If ParamType is set to md5, pass in the name in ciphertext.', 'type' => 'string', 'required' => false, 'example' => '明文:张三'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'32fa7bcd874161bea8ec8fd98f390ec9', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'The phone number.'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the phone number in plaintext.'."\n" + ."\n" + .'- If ParamType is set to md5, pass in the phone number in ciphertext.', 'type' => 'string', 'required' => false, 'example' => '明文:186****2055'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'849169cd3b20621c1c78bd61a11a4fc2', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ListRespDTO<SceneConfigDTO>', - 'description' => 'ListRespDTO<SceneConfigDTO>', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'sceneConfigs' => [ - 'description' => 'Willingness configuration list.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'id' => [ - 'description' => 'Configuration ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '607', - ], - 'gmtCreate' => [ - 'description' => 'Creation time.', - 'type' => 'string', - 'example' => '1760782820000', - ], - 'gmtModified' => [ - 'description' => 'Modification time.', - 'type' => 'string', - 'example' => '1760782820000', - ], - 'type' => [ - 'description' => 'Configuration type.', - 'type' => 'string', - 'example' => 'VOLUNTARY', - ], - 'sceneId' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000009045', - ], - 'version' => [ - 'description' => 'Scene configuration version number.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'config' => [ - 'description' => 'Specific configuration content, in JSON string format.', - 'type' => 'string', - 'example' => '{\\"faceCompareMode\\":\\"CUSTOM\\",\\"certConfigs\\":[{\\"index\\":0,\\"openVoiceCompare\\":false,\\"openCustomizedContent\\":true,\\"model\\":\\"QA\\"}],\\"screenEvidence\\":true}', - ], - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2'], + 'Code' => ['description' => 'The response code. **200** indicates that the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- **1**: Consistent.'."\n" + .'- **2**: Inconsistent.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'SubCode' => ['description' => 'The detailed verification result. Valid values:'."\n" + ."\n" + .'- **101**: Verification passed.'."\n" + .'- **201**: The phone number is inconsistent with the name, and the phone number is inconsistent with the ID card number.'."\n" + .'- **202**: The phone number is consistent with the name, but the phone number is inconsistent with the ID card number.'."\n" + .'- **203**: The phone number is consistent with the ID card number, but the phone number is inconsistent with the name.'."\n" + .'- **204**: Other inconsistency.'."\n" + .'- **301**: No record found.', 'type' => 'string', 'example' => '101', 'title' => ''], + 'IspName' => ['description' => 'The carrier name. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile.'."\n" + .'- **CUCC**: China Unicom.'."\n" + .'- **CTCC**: China Telecom.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sceneConfigs\\": [\\n {\\n \\"id\\": 607,\\n \\"gmtCreate\\": \\"1760782820000\\",\\n \\"gmtModified\\": \\"1760782820000\\",\\n \\"type\\": \\"VOLUNTARY\\",\\n \\"sceneId\\": 1000009045,\\n \\"version\\": 1,\\n \\"config\\": \\"{\\\\\\\\\\\\\\"faceCompareMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CUSTOM\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"certConfigs\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"index\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"openVoiceCompare\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"openCustomizedContent\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"model\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"QA\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"screenEvidence\\\\\\\\\\\\\\":true}\\"\\n }\\n ],\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'Query Willingness Authentication Settings', - 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" - .'- Request method: HTTPS POST and GET.', - 'translator' => 'machine', - ], - 'CreateSceneConfig' => [ - 'summary' => 'Create Scene Configuration', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'Phone number three-factor verification (detailed)', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" + .'- Request method: POST and GET.'."\n" + .'- Transfer protocol: HTTPS.', + 'changeSet' => [ + ['createdAt' => '2024-11-20T08:39:43.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaDetailVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaDetailVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'Mobile3MetaSimpleStandardVerify' => [ + 'summary' => 'Verifies the three-element identity of a phone number (Standard Edition).', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -14388,79 +9561,107 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '138594', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '257102', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], ], 'parameters' => [ [ - 'name' => 'type', + 'name' => 'ParamType', 'in' => 'formData', - 'schema' => [ - 'description' => 'Configuration type.', - 'type' => 'string', - 'required' => true, - 'example' => 'VOLUNTARY', - ], + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'sceneId', + 'name' => 'IdentifyNum', 'in' => 'formData', - 'schema' => [ - 'description' => 'Scene ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1000014084', - ], + 'schema' => ['description' => 'The ID card number. Valid values:'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the ID card number in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted ID card number.', 'type' => 'string', 'required' => false, 'example' => '429001********8211', 'title' => ''], ], [ - 'name' => 'config', + 'name' => 'UserName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Intention authentication configuration, as a JSON string.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{\\"faceCompareMode\\":\\"AUTHORITY\\",\\"certConfigs\\":[{\\"index\\":0,\\"openVoiceCompare\\":true,\\"openCustomizedContent\\":true,\\"model\\":\\"FOLLOW\\"}],\\"screenEvidence\\":false}', - ], + 'schema' => ['description' => 'The name. Valid values:'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the name in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted name.', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'The phone number. Valid values:'."\n" + ."\n" + .'- If ParamType is set to normal, pass in the phone number in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted phone number.', 'type' => 'string', 'required' => false, 'example' => '130********', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RespDTO<SceneConfigDTO>', - 'description' => 'RespDTO<SceneConfigDTO>', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- 1: Consistent (billable).'."\n" + .'- 2: Inconsistent (billable).'."\n" + .'- 3: No record found (not billable).', 'type' => 'string', 'example' => '1', 'title' => ''], + 'IspName' => ['description' => 'The carrier name. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile.'."\n" + .'- **CUCC**: China Unicom.'."\n" + .'- **CTCC**: China Telecom.'."\n" + .'- **CBCC**: China Broadnet.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\"\\n}","type":"json"}]', - 'title' => 'Create Intention Authentication Configuration for Scene.', - 'description' => 'Request Method: Supports sending requests via HTTPS POST.'."\n" - .'Request Address: cloudauth.aliyuncs.com.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to reacquire it before each activation.', - 'translator' => 'machine', - ], - 'UpdateSceneConfig' => [ - 'summary' => 'Update Scene Configuration', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'Phone number three-element verification (lite) - standard edition', + 'description' => 'Passes in a phone number, name, and ID card number, and verifies their authenticity and consistency through an authoritative data source.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaSimpleStandardVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaSimpleStandardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'Mobile3MetaSimpleVerify' => [ + 'summary' => 'Pass in the name and ID card number to verify their authenticity and consistency through authoritative data sources.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -14470,77 +9671,128 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '138608', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '194556', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], ], 'parameters' => [ [ - 'name' => 'id', + 'name' => 'ParamType', 'in' => 'formData', - 'schema' => [ - 'description' => 'Willingness configuration ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '607', - ], + 'schema' => ['description' => 'Encryption method:'."\n" + ."\n" + .'- normal: plaintext, no encryption'."\n" + ."\n" + .'- md5: MD5 encryption', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'sceneId', + 'name' => 'IdentifyNum', 'in' => 'formData', - 'schema' => [ - 'description' => 'Selected authentication scene.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1000012918', - ], + 'schema' => ['description' => 'ID card number:'."\n" + ."\n" + .'Note'."\n" + .'Only the ID numbers of the second-generation resident ID card and Hong Kong, Macao, and Taiwan residence permits are supported.'."\n" + ."\n" + .'- When paramType is set to normal: pass in the ID card number in plaintext.'."\n" + ."\n" + .'- When paramType is set to md5: pass in the encrypted ID card number.', 'type' => 'string', 'required' => false, 'example' => '明文:429001********8211'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'32fa7bcd874161bea8ec8fd98f390ec9', 'title' => ''], ], [ - 'name' => 'config', + 'name' => 'UserName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Scene configuration information, in JSON format. For the specific structure definition, please refer to more information about the configuration.', - 'type' => 'string', - 'required' => true, - 'example' => '{\\"faceCompareMode\\":\\"AUTHORITY\\",\\"certConfigs\\":[{\\"index\\":0,\\"model\\":\\"ENROLL\\"}],\\"screenEvidence\\":false}', - ], + 'schema' => ['description' => 'Name:'."\n" + ."\n" + .'- When paramType is set to normal: pass in the name in plaintext.'."\n" + ."\n" + .'- When paramType is set to md5: pass in the encrypted name.', 'type' => 'string', 'required' => false, 'example' => '明文:张三'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'32fa7bcd874161bea8ec8fd98f390ec9', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'Mobile number:'."\n" + ."\n" + .'- When paramType is set to normal: pass in the mobile number in plaintext.'."\n" + ."\n" + .'- When paramType is set to md5: pass in the encrypted mobile number.', 'type' => 'string', 'required' => false, 'example' => '明文:186****2055'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'849169cd3b20621c1c78bd61a11a4fc2', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RespDTO<Boolean>', - 'description' => 'RespDTO<Boolean>', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of this request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['title' => '', 'description' => 'Request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Code' => ['description' => 'Response code: 200 indicates success, other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'Verification result code:'."\n" + .'- **1**: Verification consistent.'."\n" + .'- **2**: Verification inconsistent.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'IspName' => ['description' => 'Carrier name:'."\n" + ."\n" + .'- **CMCC**: China Mobile.'."\n" + .'- **CUCC**: China Unicom.'."\n" + .'- **CTCC**: China Telecom.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', - 'title' => 'Update Willingness Scene Configuration', - 'description' => '- Request Method: Supports sending requests via HTTPS POST.'."\n" - .'- Request URL: cloudauth.aliyuncs.com.', - 'translator' => 'machine', - ], - 'DeleteSceneConfig' => [ - 'summary' => 'Delete Scene Configuration', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'Simplified Mobile Number Three-Factor Verification API', + 'description' => '- Service address: cloudauth.aliyuncs.com (IPv4) or cloudauth-dualstack.aliyuncs.com (IPv6).'."\n" + .'- Request method: POST and GET.'."\n" + .'- Transfer protocol: HTTPS.', + 'changeSet' => [ + ['createdAt' => '2024-11-20T08:39:43.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaSimpleVerify'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaSimpleVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'MobileDetect' => [ + 'summary' => 'Detects phone numbers.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -14550,151 +9802,214 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '138610', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '218021', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], ], 'parameters' => [ [ - 'name' => 'sceneConfigId', + 'name' => 'ParamType', 'in' => 'formData', - 'schema' => [ - 'description' => 'ID of the intent authentication configuration.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '559', - ], + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + .'- normal: plaintext without encryption'."\n" + .'- md5: MD5 encryption.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], + ], + [ + 'name' => 'Mobiles', + 'in' => 'formData', + 'schema' => ['description' => 'The list of phone numbers.', 'type' => 'string', 'required' => false, 'example' => '19833232569', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RespDTO<Boolean>', - 'description' => 'RespDTO<Boolean>', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '969434DF-926B-4997-9881-4DE94E39F805'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'ChargeCount' => ['description' => 'The total number of billing counts in a single request.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'Items' => [ + 'description' => 'The verification result set.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of returned data.', + 'type' => 'object', + 'properties' => [ + 'Mobile' => ['description' => 'The phone number.', 'type' => 'string', 'example' => '131********', 'title' => ''], + 'BizCode' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- 1: Active and available. '."\n" + .'- 2: Not in active and available status.'."\n" + .'- 3: No query results.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'SubCode' => ['description' => 'The verification details. Valid values:'."\n" + ."\n" + .'- 101: Available number.'."\n" + .'- 102: Empty number.'."\n" + .'- 103: Suspended. '."\n" + .'- 104: Silent number (inactive secondary number in the past six months, new number, or non-smartphone user). '."\n" + .'- 105: Risky number (user with prolonged shutdown, voice service not activated, or prone to complaints).'."\n" + .'- 301: No record found.', 'type' => 'string', 'example' => '101', 'title' => ''], + 'IspName' => ['description' => 'The carrier name. Valid values:'."\n" + ."\n" + .'- CMCC: China Mobile '."\n" + .'- CUCC: China Unicom '."\n" + .'- CTCC: China Telecom.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], + 'Area' => ['description' => 'The location to which the phone number belongs. This field is available only for plaintext phone numbers.', 'type' => 'string', 'example' => '安徽-马**', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', - 'title' => 'Delete Scene Configuration', - 'description' => '- Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - .'- Request URL: cloudauth.aliyuncs.com.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to re-obtain it before each activation.', - 'translator' => 'machine', - ], - 'QueryVerifyDownloadTask' => [ - 'summary' => 'Query Real-Person Download Task', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"969434DF-926B-4997-9881-4DE94E39F805\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"ChargeCount\\": \\"2\\",\\n \\"Items\\": [\\n {\\n \\"Mobile\\": \\"131********\\",\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\",\\n \\"Area\\": \\"安徽-马**\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Batch phone number detection', + 'changeSet' => [ + ['createdAt' => '2024-11-20T08:39:43.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MobileDetect'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileDetect', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'MobileOnlineStatus' => [ + 'summary' => 'Queries the network availability status of a phone number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '165842', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '216535', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U'], ], 'parameters' => [ [ - 'name' => 'DownloadTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Download task ID.', - 'type' => 'string', - 'required' => false, - 'example' => '202411194002618', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'The phone number. Valid values:'."\n" + ."\n" + .'- If paramType is set to normal, pass in the phone number in plaintext.'."\n" + .'- If paramType is set to md5, pass in the MD5-encrypted phone number.', 'type' => 'string', 'required' => false, 'example' => '13665148158', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', - ], - 'Finish' => [ - 'description' => 'Whether the download task is completed:'."\n" - .'- **true**: Completed'."\n" - .'- **false**: Not completed', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Url' => [ - 'description' => 'Download URL.', - 'type' => 'string', - 'example' => 'http://xxx/xxx.csv', - ], - 'Status' => [ - 'description' => 'Task status:'."\n" - .'- **1**: File generation in progress'."\n" - .'- **2**: File generation completed'."\n" - .'- **3**: File generation failed'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ErrorCode' => [ - 'description' => 'Error code.', - 'type' => 'string', - 'example' => '-', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- 1: active and available. '."\n" + .'- 2: not in an active and available state. For more information, see subCode.'."\n" + .'- 3: no query result.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'IspName' => ['description' => 'The name of the telecommunications service provider. Valid values:'."\n" + ."\n" + .'- CMCC: China Mobile. '."\n" + .'- CUCC: China Unicom. '."\n" + .'- CTCC: China Telecom.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], + 'SubCode' => ['description' => 'The verification details. Valid values:'."\n" + ."\n" + .'- 101: active and available. '."\n" + .'- 201: suspended. '."\n" + .'- 202: canceled. '."\n" + .'- 203: active but unavailable. '."\n" + .'- 204: not active. '."\n" + .'- 301: no record found.', 'type' => 'string', 'example' => '101', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', + 'title' => 'Phone number network status', + 'changeSet' => [ + ['createdAt' => '2024-11-20T08:39:43.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Finish\\": true,\\n \\"Url\\": \\"http://xxx/xxx.csv\\",\\n \\"Status\\": 2,\\n \\"ErrorCode\\": \\"-\\"\\n}","type":"json"}]', - 'title' => 'Query Download Authentication Data Task Details', - 'description' => 'Obtain the download link for statistical call data files under the product plan based on query conditions.'."\n" - .'- Method: HTTPS POST'."\n" - .'- Service Address: cloudauth.aliyuncs.com'."\n" - ."\n" - .'> The real-person authentication product uses CertifyId to count the number of calls. For ease of reconciliation, please retain the CertifyId field in your system.'."\n", - 'translator' => 'machine', - ], - 'DownloadVerifyRecords' => [ - 'summary' => 'Real-person Authentication Record Download', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MobileOnlineStatus'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileOnlineStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'MobileOnlineTime' => [ + 'summary' => 'Queries the length of time a phone number has been active on a network.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -14704,1891 +10019,1984 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '165265', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '216495', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U'], ], 'parameters' => [ [ - 'name' => 'ProductType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product type:'."\n" - .'- **FINANCE_VERIFY**: Financial-level real-person authentication'."\n" - .'- **SMART_VERIFY**: Enhanced real-person authentication (discontinued)'."\n" - .'- **FACE_VERIFY**: Real-person authentication (discontinued)'."\n" - .'- **INFO_CHECK_STATISTICS**: Information verification', - 'type' => 'string', - 'required' => false, - 'example' => 'FINANCE_VERIFY', - ], + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'BizParam', - 'in' => 'query', - 'schema' => [ - 'description' => 'Query condition in JSON string format, specifically including fields:'."\n" - .'- **DownloadMode (String)**: Download mode,'."\n" - .' - Example value: sync'."\n" - .'- **InvokeType (String)**: Product plan, corresponding to **ProductType**'."\n" - .'- **SceneIdList (List<Long>)**: List of scene IDs'."\n" - .'- **StatisticsType (String)**: Statistics type'."\n" - .' - day'."\n" - .' - month'."\n" - .'- **StartDate (String)**: Start date of the query'."\n" - .' - Example value: 2025-09-17 00:00:00 +0800'."\n" - .'- **EndDate (String)**: End date of the query'."\n" - .' - Example value: 2025-10-16 23:59:59 +0800'."\n" - .'- **ProductProgramList**: List of product codes under the queried product plan'."\n" - .' - Example value: ["FINANCE_FACE_VERIFY","MFVC"]'."\n" - .'- **Code (Information Verification API)**:'."\n" - .' - **ID_CARD_2_META**: ID card two-factor verification'."\n" - .' - **ID_PERIOD**: Validity period of ID card verification'."\n" - .' - **MOBILE_ONLINE_LENGTH**: Mobile online duration'."\n" - .' - **MOBILE_ONLINE_STATUS**: Mobile online status'."\n" - .' - **MOBILE_3_META_SIMPLE**: Simplified mobile three-factor verification'."\n" - .' - **MOBILE_3_META**: Detailed mobile three-factor verification'."\n" - .' - **MOBILE_2_META**: Mobile two-factor verification'."\n" - .' - **BANK_CARD_N_META**: Detailed bank card verification'."\n" - .' - **MOBILE_DETECT**: Number detection '."\n" - .' - **VEHICLE_N_META**: Enhanced vehicle factor verification'."\n" - .' - **VEHICLE_PENTA_INFO**: Vehicle five-item information recognition'."\n" - .' - **VEHICLE_LICENSE_INFO**: Vehicle information recognition'."\n" - .' - **VEHICLE_INSURE_DATE**: Vehicle insurance date inquiry'."\n" - .' - **VEHICLE_CHECK**: Vehicle factor verification'."\n" - .'- **ProductCode** (Information Verification): Same as Code', - 'type' => 'string', - 'required' => false, - 'example' => '{"ProductType":"INVOKE_STATISTICS","BizParam":{"DownloadMode":"sync","InvokeType":"FINANCE_VERIFY","SceneIdList":"[]","ProductProgramList":"[\\"FINANCE_FACE_VERIFY\\",\\"MFVC\\",\\"PV_FV\\",\\"CLOUD_FACE_CAPTURE\\",\\"FACE_GUARD\\",\\"PV_FC\\"]","StatisticsType":"day","StartDate":"2025-09-17 00:00:00 +0800","EndDate":"2025-10-16 23:59:59 +0800"}}', - ], + 'name' => 'Mobile', + 'in' => 'formData', + 'schema' => ['description' => 'The phone number. Valid values:'."\n" + .'- If paramType is set to normal, pass in the phone number in plaintext.'."\n" + .'- If paramType is set to md5, pass in the phone number in ciphertext.', 'type' => 'string', 'required' => false, 'example' => '明文:186****2055'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'849169cd3b20621c1c78bd61a11a4fc2', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response Schema', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'D6163397-15C5-419C-9ACC-B7C83E0B4C10', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'OSS link for file download.', - 'type' => 'string', - 'example' => 'https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/invoke_download/0E30CD55-DCD4-5363-AA98-XXXXXXX', + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- 1: Consistent.'."\n" + .'- 2: Inconsistent.'."\n" + .'- 3: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'IspName' => ['description' => 'The name of the telecommunications service provider. Valid values:'."\n" + ."\n" + .'- CMCC: China Mobile. '."\n" + .'- CUCC: China Unicom. '."\n" + .'- CTCC: China Telecom.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], + 'TimeCode' => ['description' => 'The network duration code. Valid values:'."\n" + .'- 1: [0,3) indicates a network duration of 0 to 3 months.'."\n" + .'- 2: [3,6) indicates a network duration of 3 to 6 months.'."\n" + .'- 3: [6,12) indicates a network duration of 6 to 12 months.'."\n" + .'- 4: [12,24) indicates a network duration of 12 to 24 months.'."\n" + .'- 5: [24,+) indicates a network duration of more than 24 months.', 'type' => 'string', 'example' => '5', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\",\\n \\"TimeCode\\": \\"5\\"\\n }\\n}","type":"json"}]', + 'title' => 'Phone number network duration', + 'changeSet' => [ + ['createdAt' => '2024-11-20T08:39:43.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83E0B4C10\\",\\n \\"ResultObject\\": \\"https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/invoke_download/0E30CD55-DCD4-5363-AA98-XXXXXXX\\"\\n}","type":"json"}]', - 'title' => 'Get Downloadable Authentication Call Volume Data', - 'description' => 'Obtain the download link for statistical call data files under the product plan based on query conditions.'."\n" - .'- Method: HTTPS POST'."\n" - .'- Service Address: cloudauth.aliyuncs.com'."\n" - ."\n" - .'> Real-person authentication products use CertifyId to count call volumes. For ease of reconciliation, please retain the CertifyId field in your system.'."\n", - 'translator' => 'machine', - ], - 'QueryVerifyFlowPackage' => [ - 'summary' => 'Query Flow Package', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MobileOnlineTime'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileOnlineTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'MobileRecycledMetaVerify' => [ + 'summary' => 'Verifies whether a phone number has been reassigned to a new subscriber.', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '168774', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ProductType', + 'name' => 'ParamType', 'in' => 'query', - 'schema' => [ - 'description' => 'Product type:'."\n" - .'- **FINANCE_VERIFY**: Financial Grade Real Person Verification'."\n" - .'- **SMART_VERIFY**: Enhanced Real Person Verification (discontinued)'."\n" - .'- **FACE_VERIFY**: Real Person Verification (discontinued)', - 'type' => 'string', - 'required' => true, - 'example' => 'FINANCE_VERIFY', - ], + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + .'- normal: plaintext without encryption'."\n" + .'- md5: MD5 encryption.', 'type' => 'string', 'required' => true, 'example' => 'normal', 'title' => ''], + ], + [ + 'name' => 'RegisterDate', + 'in' => 'query', + 'schema' => ['description' => 'The registration date in the format YYYYMMDD. For example, 19800101 indicates January 1, 1980.', 'type' => 'string', 'required' => true, 'example' => '20200505', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The phone number. Valid values:'."\n" + .'- If ParamType is set to normal, pass in the phone number in plaintext.'."\n" + .'- If ParamType is set to md5, pass in the MD5-encrypted phone number.', 'type' => 'string', 'required' => true, 'example' => '明文:186****2055'."\n" + ."\n" + .'密文:'."\n" + ."\n" + .'849169cd3b20621c1c78bd61a11a4fc2', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '969434DF-926B-4997-9881-4DE94E39F805', - ], - 'Success' => [ - 'description' => 'Indicates whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => '200', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'string', - 'example' => '1', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP status code.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '200', - ], - 'Items' => [ - 'description' => 'List of returned data.', - 'type' => 'array', - 'items' => [ - 'description' => 'List of returned data.', - 'type' => 'object', - 'properties' => [ - 'CommodityName' => [ - 'description' => 'Name of the resource package.', - 'type' => 'string', - 'example' => '实人认证流量包', - ], - 'CurrCapacity' => [ - 'description' => 'Current available capacity.', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.0', - ], - 'CurrProportion' => [ - 'description' => 'Proportion of current remaining capacity to total capacity.', - 'type' => 'string', - 'example' => '0%', - ], - 'TotalCapacity' => [ - 'description' => 'Total quota.', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.0', - ], - 'UsedCapacity' => [ - 'description' => 'Used capacity.', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.0', - ], - 'FlowDetails' => [ - 'description' => 'Details of the flow package.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Capacity' => [ - 'description' => 'Total amount.', - 'type' => 'number', - 'format' => 'double', - 'example' => '0', - ], - 'CommodityName' => [ - 'description' => 'Name of the flow package.', - 'type' => 'string', - 'example' => '实人认证流量包', - ], - 'CurrCapacity' => [ - 'description' => 'Remaining amount.', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.0', - ], - 'CurrProportion' => [ - 'description' => 'Proportion of remaining amount.', - 'type' => 'string', - 'example' => '100%', - ], - 'ExpireDate' => [ - 'description' => 'Expiration date.', - 'type' => 'string', - 'example' => '-', - ], - 'InstanceName' => [ - 'description' => 'Instance name', - 'type' => 'string', - 'example' => 'tf-testacccn-hangzhouapigate84369', - ], - 'Status' => [ - 'description' => 'Status.', - 'type' => 'string', - 'example' => '-', - ], - 'TakeEffectDate' => [ - 'description' => 'Effective date.', - 'type' => 'string', - 'example' => '-', - ], - ], - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The response code. A value of 200 indicates success. Any other value indicates failure.'."\n" + .'> **Important**'."\n" + .'- This parameter indicates whether the API operation is called correctly. For more information about return codes, see error codes.'."\n" + .'- Check the business verification result in the fields of ResultObject.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The query result. Valid values:'."\n" + ."\n" + .'- 1: A query result is found.'."\n" + .'- 3: No query result is found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'SubCode' => ['description' => 'The detailed verification result. Valid values:'."\n" + ."\n" + .'- 101: The registration date is equal to or later than the phone number activation date.'."\n" + .'- 102: The registration date is earlier than the phone number activation date.'."\n" + .'- 103: The new subscriber has not been synchronized yet.'."\n" + .'- 301: Data exception or the subscriber has been deactivated.', 'type' => 'string', 'example' => '101', 'title' => ''], + 'IspName' => ['title' => '', 'description' => 'The carrier name. China Mobile: CMCC. China Unicom: CUCC. China Telecom: CTCC.', 'type' => 'string', 'example' => 'CMCC'], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"969434DF-926B-4997-9881-4DE94E39F805\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Items\\": [\\n {\\n \\"CommodityName\\": \\"实人认证流量包\\",\\n \\"CurrCapacity\\": 0,\\n \\"CurrProportion\\": \\"0%\\",\\n \\"TotalCapacity\\": 0,\\n \\"UsedCapacity\\": 0,\\n \\"FlowDetails\\": [\\n {\\n \\"Capacity\\": 0,\\n \\"CommodityName\\": \\"实人认证流量包\\",\\n \\"CurrCapacity\\": 0,\\n \\"CurrProportion\\": \\"100%\\",\\n \\"ExpireDate\\": \\"-\\",\\n \\"InstanceName\\": \\"tf-testacccn-hangzhouapigate84369\\",\\n \\"Status\\": \\"-\\",\\n \\"TakeEffectDate\\": \\"-\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Query Flow Package', - 'description' => '- Service address: cloudauth.aliyuncs.com'."\n" - .'- Request method: HTTPS POST and GET.'."\n" - .'- This interface uses different parameters for different product solutions. For details, please refer to the [official documentation](https://help.aliyun.com/zh/id-verification/financial-grade-id-verification/product-overview/introduction/?spm=a2c4g.11186623.help-menu-2401581.d_0_0.13f644ecRzFHfm&scm=20140722.H_99169._.OR_help-T_cn~zh-V_1).', - 'translator' => 'machine', - ], - 'QueryVerifyInvokeSatistic' => [ - 'summary' => 'Call Volume Statistics', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Phone number reassignment verification', + 'description' => 'Passes in a phone number and its registration date, and verifies the authenticity and consistency of the information through an authoritative data source.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileRecycledMetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + ], + 'ModifyBlackListStrategy' => [ + 'summary' => 'Creates or modifies a blacklist rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '170459', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthV1ZO7W', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '214006', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'StatisticsType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Statistics dimension:'."\n" - .'- **day**: daily'."\n" - .'- **month**: monthly'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'day', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'StartDate', + 'name' => 'BlackListStrategy', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Start date of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1743436800000', + 'description' => 'The blacklist rule.', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The rule ID. Valid values:'."\n" + .'- **Empty**: creates a rule.'."\n" + .'- **Not empty**: modifies a rule.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '38', 'title' => ''], + 'ProductName' => ['description' => 'The product name. Valid values:'."\n" + .'- **id2meta**: ID card two-element verification.'."\n" + .'- **mobile3Meta**: mobile number element verification.'."\n" + .'- **bankcardMeta**: bank card element verification.', 'type' => 'string', 'required' => false, 'example' => 'id2meta', 'title' => ''], + 'BizKey' => ['description' => 'The blacklist type. Valid values:'."\n" + .'- **mobile**: mobile number blacklist.'."\n" + .'- **ip**: IP blacklist.'."\n" + .'- **identifyNum**: ID card blacklist.'."\n" + .'- **bankCard**: bank card blacklist.', 'type' => 'string', 'required' => false, 'example' => 'ip', 'title' => ''], + 'BizContent' => ['description' => 'The blacklist string. Separate multiple entries with commas (,).', 'type' => 'string', 'required' => false, 'example' => '127.0.0.1,127.0.0.2', 'title' => ''], + 'Status' => ['description' => 'The authentication status. Valid values:'."\n" + .'- **1**: Authentication passed.'."\n" + .'- **2**: Authentication failed.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'EndDate', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'End date of the query.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1761926399999', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Data' => ['description' => 'The returned data.', 'type' => 'integer', 'format' => 'int32', 'example' => '{\'StatusCode\': -1}', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"Success\\": true,\\n \\"Data\\": 0\\n}","type":"json"}]', + 'title' => 'Create or modify a blacklist rule', + 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + .'- Operation description: Creates or modifies a blacklist rule.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyBlackListStrategy'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ProductType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product type:'."\n" - .'- **FINANCE_VERIFY**: Financial-grade real-person verification'."\n" - .'- **SMART_VERIFY**: Enhanced real-person verification (discontinued)'."\n" - .'- **FACE_VERIFY**: Real-person verification (discontinued)', - 'type' => 'string', - 'required' => false, - 'example' => 'FINANCE_VERIFY', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyBlackListStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ModifyControlStrategy' => [ + 'summary' => 'Adjusts stability alert rules.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'SceneIdList', - 'in' => 'query', - 'schema' => [ - 'description' => 'List of application scenarios.', - 'type' => 'string', - 'required' => false, - 'example' => '[]', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '215262', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'ProductProgramList', + 'name' => 'ControlStrategyList', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'List of product codes to query. Please refer to the productCode under the corresponding ProductType.', - 'type' => 'string', + 'description' => 'The list of security alert rules.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '38', 'title' => ''], + 'ApiName' => ['description' => 'The API name, which is the same as **ProductCode**.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], + 'BizType' => ['description' => 'The rule configuration type. Valid values:'."\n" + .'- **QPS**: QPS greater than'."\n" + .'- **SUCCESS_RATE_5_MIN**: success rate in the last 5 minutes less than'."\n" + .'- **RESP_TIME_5_MIN**: average response time in the last 5 minutes greater than'."\n" + .'- **AMOUNT_RISE**: call volume increase compared to the previous period greater than'."\n" + .'- **AMOUNT_FALL**: call volume decrease compared to the previous period less than'."\n" + .'- **PASSED_RATE_1_HOUR**: verification consistency rate in the last hour less than'."\n" + .'- **PARAM_ERROR_RATE_1_HOUR**: parameter error rate in the last hour greater than.', 'type' => 'string', 'required' => false, 'example' => 'SUCCESS_RATE_5_MIN', 'title' => ''], + 'Threshold' => ['description' => 'The alert threshold of the rule.', 'type' => 'number', 'format' => 'double', 'required' => false, 'example' => '0.9', 'title' => ''], + 'Status' => ['description' => 'The status. Valid values:'."\n" + .'- **disabled**: Disabled.'."\n" + .'- **normal**: Enabled.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'ID_PRO', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The region ID of the Smart Access Gateway instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'CurrentPage', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'Current page number.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The product type. Currently, only **ANT_CLOUD_AUTH** (financial-grade ID Verification) is supported. All other types have been discontinued.', 'type' => 'string', 'required' => false, 'example' => 'ANT_CLOUD_AUTH', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '2FA2C773-47DB-4156-B1EE-5B047321A939', - ], - 'Code' => [ - 'description' => 'Response code, **200** indicates a successful response.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'TotalCount' => [ - 'description' => 'Total count.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'TotalPage' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'CurrentPage' => [ - 'description' => 'Current page number.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Items' => [ - 'description' => 'List of returned data.', - 'type' => 'array', - 'items' => [ - 'description' => 'List of returned data.', - 'type' => 'object', - 'properties' => [ - 'StatisticsDate' => [ - 'description' => 'Statistics date.', - 'type' => 'string', - 'example' => '2025-10-16', - ], - 'Data' => [ - 'description' => 'List of statistical data.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'StatisticsCount' => [ - 'description' => 'Number of occurrences of the statistic.', - 'type' => 'string', - 'example' => '3', - ], - 'StatisticsType' => [ - 'description' => 'ProductCode。', - 'type' => 'string', - 'example' => 'ID_PRO', - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Message' => ['description' => 'The response message returned by the operation.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the response is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], - [], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2FA2C773-47DB-4156-B1EE-5B047321A939\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalPage\\": 3,\\n \\"CurrentPage\\": 1,\\n \\"Items\\": [\\n {\\n \\"StatisticsDate\\": \\"2025-10-16\\",\\n \\"Data\\": [\\n {\\n \\"StatisticsCount\\": \\"3\\",\\n \\"StatisticsType\\": \\"ID_PRO\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Authentication Call Volume Statistics', - 'description' => '- Request URL: cloudauth.aliyuncs.com'."\n" - .'- Request Method: HTTPS POST and GET.'."\n" - ."\n" - .'> Real-person authentication products use CertifyId to count call volume. For ease of reconciliation, please retain the CertifyId field in your system.', - 'translator' => 'machine', - ], - 'QueryCustomizeFlowStrategy' => [ - 'summary' => 'Query Custom Flow Control Strategy', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Adjust stability alert rules', + 'description' => '- Request method: HTTPS POST.'."\n" + .'- Request URL: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyControlStrategy'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyControlStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyCustomizeFlowStrategyList' => [ + 'summary' => 'Adjusts the list of custom rate limiting policies.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '207520', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - 'FEATUREcloudauthXA9M4C', - 'FEATUREcloudauthA9Y5H0', - 'FEATUREcloudauthDSU9LB', - ], + 'abilityTreeCode' => '209313', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I', 'FEATUREcloudauthXA9M4C', 'FEATUREcloudauthA9Y5H0'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'UserId', - 'in' => 'query', - 'schema' => [ - 'title' => '用户ID', - 'description' => 'User ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '126005125163xxxx', - ], - ], - [ - 'name' => 'RegionId', + 'name' => 'StrategyObject', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => 'regionId', - 'description' => 'regionId', - 'type' => 'string', + 'description' => 'The policy list.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '38', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '126005125163xxxx', 'title' => ''], + 'ApiName' => ['description' => 'The API name, which is the same as **ProductCode**.', 'type' => 'string', 'required' => true, 'example' => 'ID_PRO', 'title' => ''], + 'AccumulateWindow' => ['description' => 'The size of the rate limiting statistical window, in minutes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], + 'Threshold' => ['description' => 'The rate limiting threshold.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], + 'Operation' => ['description' => 'The operation.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + 'Status' => ['description' => 'The status. Valid values:'."\n" + .'- **disabled**: disabled.'."\n" + .'- **normal**: enabled.', 'type' => 'string', 'required' => true, 'example' => 'disabled', 'title' => ''], + 'AccumulateKey' => ['description' => 'AccumulateKey', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + 'FlowType' => ['description' => 'The flow type. Valid values:'."\n" + .'- **ACCUMULATE**: repeated occurrence of an ID card.'."\n" + .'- **PASSED_RATE**: pass rate is less than.'."\n" + .'- **SUB_CODE_205**: authentication failed and the proportion of liveness attack 205 is greater than.'."\n" + .'- **SUB_CODE_206**: authentication failed and the proportion of liveness attack 206 is greater than.', 'type' => 'string', 'required' => false, 'example' => 'ACCUMULATE', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'cn-shanghai', + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'Product type, currently only supports **ANT_CLOUD_AUTH** (Financial-grade Real Person), all others have been phased out.', - 'type' => 'string', - 'required' => false, - 'example' => 'ANT_CLOUD_AUTH', - ], + 'schema' => ['description' => 'The product type. Currently, only **ANT_CLOUD_AUTH** (financial-grade ID Verification) is supported. All other types have been discontinued.', 'type' => 'string', 'required' => false, 'example' => 'ANT_CLOUD_AUTH', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'SingleDataResponse<CustomizeFlowStrategyDTO>', - 'description' => 'SingleDataResponse<CustomizeFlowStrategyDTO>', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'ResultObject' => [ - 'description' => 'Processing result.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'Rule ID.', - 'type' => 'string', - 'example' => '234822', - ], - 'UserId' => [ - 'description' => 'User ID.', - 'type' => 'string', - 'example' => '126005125163xxxx', - ], - 'ApiName' => [ - 'description' => 'API name, same as **ProductCode**.', - 'type' => 'string', - 'example' => 'ID_PRO', - ], - 'AccumulateWindow' => [ - 'description' => 'Flow control statistical window, unit: **minutes**.', - 'type' => 'string', - 'example' => '60', - ], - 'AccumulateKey' => [ - 'description' => 'AccumulateKey', - 'type' => 'string', - 'example' => '-', - ], - 'Threshold' => [ - 'description' => 'Threshold.', - 'type' => 'string', - 'example' => '10', - ], - 'Operation' => [ - 'description' => 'Operation.', - 'type' => 'string', - 'example' => 'match', - ], - 'Status' => [ - 'description' => 'Status:'."\n" - .'- **disabled**: Disabled'."\n" - .'- **normal**: Enabled', - 'type' => 'string', - 'example' => 'disabled', - ], - 'FlowType' => [ - 'description' => 'Flow type:'."\n" - .'- **ACCUMULATE**: ID card reappears'."\n" - .'- **PASSED_RATE**: Pass rate less than'."\n" - .'- **SUB_CODE_205**: Authentication failed and liveness attack 205 ratio greater than'."\n" - .'- **SUB_CODE_206**: Authentication failed and liveness attack 206 ratio greater than', - 'type' => 'string', - 'example' => 'ACCUMULATE', - ], - ], - ], - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error message.', - 'type' => 'string', - 'example' => 'success', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP status code.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260'], + 'Data' => ['description' => 'The result data.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the response is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The return code. **200** indicates that the request is successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": \\"234822\\",\\n \\"UserId\\": \\"126005125163xxxx\\",\\n \\"ApiName\\": \\"ID_PRO\\",\\n \\"AccumulateWindow\\": \\"60\\",\\n \\"AccumulateKey\\": \\"-\\",\\n \\"Threshold\\": \\"10\\",\\n \\"Operation\\": \\"match\\",\\n \\"Status\\": \\"disabled\\",\\n \\"FlowType\\": \\"ACCUMULATE\\"\\n }\\n ],\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', - 'title' => 'Query Security Rules', - 'description' => '- Service Address: cloudauth.aliyuncs.com'."\n" - .'- Request Method: HTTPS POST and GET.'."\n" - .'- Security Rules: These are rules to ensure system security, such as monitoring for API abuse, account theft, etc. When a threshold is triggered, the system supports alerting.', - 'translator' => 'machine', - ], - 'DeleteCustomizeFlowStrategy' => [ - 'summary' => 'Delete Customized Flow Control Strategy', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Data\\": 1,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpStatusCode\\": 200\\n}","type":"json"}]', + 'title' => 'Adjust custom rate limiting policy list', + 'description' => '- Request method: HTTPS POST and GET methods are supported.'."\n" + .'- Endpoint: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCustomizeFlowStrategyList'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyCustomizeFlowStrategyList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyDeviceInfo' => [ + 'summary' => 'Updates device-related information, such as extending the device authorization validity period, updating custom business identifiers, and updating device IDs. This operation is applicable to scenarios such as device validity period renewal.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '207420', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', - 'FEATUREcloudauthGEV2SZ', - 'FEATUREcloudauthKKY1LP', - 'FEATUREcloudauthFO5MJB', - 'FEATUREcloudauthIT1PW0', - 'FEATUREcloudauth434P23', - ], + 'abilityTreeCode' => '59166', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], ], 'parameters' => [ [ - 'name' => 'Id', + 'name' => 'DeviceId', 'in' => 'query', - 'schema' => [ - 'title' => 'id', - 'description' => 'Policy ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '38', - ], + 'schema' => ['description' => 'The unique ID generated by the ID Verification server for the device of the requester. This ID is generated only after the device is successfully activated. You can obtain this ID by calling the getLicenseExtraInfo function in the offline facial recognition SDK.', 'type' => 'string', 'required' => true, 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', 'title' => ''], ], [ - 'name' => 'UserId', + 'name' => 'UserDeviceId', 'in' => 'query', - 'schema' => [ - 'title' => '用户ID', - 'description' => 'User ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '126005125163xxxx', - ], + 'schema' => ['description' => 'The updated user device ID. The value can be up to 64 characters in length. This parameter is defined by the requester and can be used to identify a specific device. We recommend that you use the physical device number.', 'type' => 'string', 'required' => false, 'example' => '3iJ1AY$oHcu7mC69', 'title' => ''], ], [ - 'name' => 'ApiName', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'title' => '接口编号', - 'description' => 'API name, same as **ProductCode**.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], + 'schema' => ['description' => 'The updated business type. The value can be up to 64 characters in length. This parameter is defined by the requester and can be used to add remarks for specific business scenarios, such as different facial recognition usage scenarios or customer identifiers for pending deliveries.', 'type' => 'string', 'required' => false, 'example' => 'FACE_TEST', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'Duration', 'in' => 'query', - 'schema' => [ - 'title' => 'regionId', - 'description' => 'regionId', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The period by which to extend the device expiration time. Unit: years. Valid values: 1 to 100. A value of 100 indicates permanent use. One year is calculated as 365 days.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ProductType', + 'name' => 'ExpiredDay', 'in' => 'query', - 'schema' => [ - 'description' => 'Product type, currently only supports **ANT_CLOUD_AUTH** (Financial-grade Real Person), all others have been phased out.', - 'type' => 'string', - 'required' => false, - 'example' => 'ANT_CLOUD_AUTH', - ], + 'schema' => ['description' => 'The expiration time of the current device. An error is returned if the expiration date is incorrect (differs from the expiration time recorded on the ID Verification server by more than one week).'."\n" + .'> You can query the expiration time by calling the DescribeDeviceInfo operation. An error is returned if the expiration date is incorrect. This validation ensures that the requester does not accidentally reactivate a device due to misoperations, which would unnecessarily consume authorization quotas.', 'type' => 'string', 'required' => false, 'example' => '20190401', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'SingleDataResponse<Integer>', - 'description' => 'SingleDataResponse<Integer>', 'type' => 'object', 'properties' => [ - 'Data' => [ - 'description' => 'Returned data.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'HTTP status code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success'."\n", - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP status code.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2', - ], + 'RequestId' => ['description' => 'The ID of this request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'UserDeviceId' => ['description' => 'The value corresponds to the UserDeviceId in the request parameters.', 'type' => 'string', 'example' => '3iJ1AY$oHcu7mC69', 'title' => ''], + 'DeviceId' => ['description' => 'The value corresponds to the DeviceId in the request parameters.', 'type' => 'string', 'example' => 'wd.6ziUffspAeW5FVYbaqmexR-1qwNjM', 'title' => ''], + 'ExpiredDay' => ['description' => 'If the Duration request parameter is not empty, this field indicates the authorization expiration time after the device validity period is extended. One year in Duration is calculated as 365 days. Example: 20180101.', 'type' => 'string', 'example' => '20200330', 'title' => ''], + 'BeginDay' => ['description' => 'If the Duration request parameter is not empty, this field indicates the authorization start time after the device validity period is extended. One year in Duration is calculated as 365 days. Example: 20180101.', 'type' => 'string', 'example' => '20190401', 'title' => ''], + 'BizType' => ['description' => 'The value corresponds to the BizType in the request parameters.', 'type' => 'string', 'example' => 'FACE_TEST', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"UserDeviceId\\": \\"3iJ1AY$oHcu7mC69\\",\\n \\"DeviceId\\": \\"wd.6ziUffspAeW5FVYbaqmexR-1qwNjM\\",\\n \\"ExpiredDay\\": \\"20200330\\",\\n \\"BeginDay\\": \\"20190401\\",\\n \\"BizType\\": \\"FACE_TEST\\"\\n}","type":"json"}]', + 'title' => 'Update device information', + 'description' => 'Request method: You can send requests by using the HTTPS POST and GET methods.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-04-23T07:35:57.000Z', 'description' => 'Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": 0,\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\\\n\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\"\\n}","type":"json"}]', - 'title' => 'Delete Custom Flow Control Strategy', - 'description' => 'Request Method: Supports sending requests using HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to reacquire it before each activation.', - 'translator' => 'machine', - ], - 'DeleteAllCustomizeFlowStrategy' => [ - 'summary' => 'Delete All Custom Flow Control Strategies', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDeviceInfo'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyDeviceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'PageQueryWhiteListSetting' => [ + 'summary' => 'Queries ID Verification whitelist configurations by using paging.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '207521', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - 'FEATUREcloudauthXA9M4C', - 'FEATUREcloudauthA9Y5H0', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'list', + 'abilityTreeCode' => '243501', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'UserId', + 'name' => 'ServiceCode', 'in' => 'query', - 'schema' => [ - 'title' => '用户ID', - 'description' => 'User ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '126005125163xxxx', - ], + 'schema' => ['description' => 'The ServiceCode of the ID Verification cloud service. Value: **antcloudauth**.', 'type' => 'string', 'required' => false, 'example' => 'antcloudauth', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'title' => 'regionId', - 'description' => 'Region ID', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The verification scenario ID. This ID is automatically generated after you create a verification scenario in the console. For more information about how to create a verification scenario, refer to Add a verification scenario.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000000xxx', 'title' => ''], + ], + [ + 'name' => 'CertifyId', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier of the ID Verification request.', 'type' => 'string', 'required' => false, 'example' => 'sha75b4e19a1ddda059b920757b0e12b', 'title' => ''], + ], + [ + 'name' => 'CertNo', + 'in' => 'query', + 'schema' => ['description' => 'The certificate number.', 'type' => 'string', 'required' => false, 'example' => '330103xxxxxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'ValidStartDate', + 'in' => 'query', + 'schema' => ['description' => 'The start date of the validity period (timestamp in milliseconds).', 'type' => 'string', 'required' => false, 'example' => '1725120000000', 'title' => ''], + ], + [ + 'name' => 'ValidEndDate', + 'in' => 'query', + 'schema' => ['description' => 'The end date of the validity period (timestamp in milliseconds).', 'type' => 'string', 'required' => false, 'example' => '1725379200000', 'title' => ''], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status. Valid values:'."\n" + ."\n" + .'- DELETE: Deleted.'."\n" + .'- VALID: Not deleted and within the validity period (valid).'."\n" + .'- INVALID: Not deleted but outside the validity period (invalid).', 'type' => 'string', 'required' => false, 'example' => 'VALID', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => 'The current page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'SingleDataResponse<Integer>', - 'description' => 'SingleDataResponse<Integer>', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Data' => [ - 'description' => 'Returned data.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Success' => [ - 'description' => 'Indicates whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates success, others indicate failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP status code.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => 'ID of this request.', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2'], + 'Code' => ['description' => 'The response code. **200** indicates that the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'TotalItem' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '28', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The request result.', + 'type' => 'array', + 'items' => [ + 'description' => 'The returned result information.', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The whitelist ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '234822', 'title' => ''], + 'GmtCreate' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2024-08-30 14:00:00', 'title' => ''], + 'GmtModified' => ['description' => 'The modification time.', 'type' => 'string', 'example' => '2024-08-30 14:00:00', 'title' => ''], + 'ServiceCode' => ['description' => 'The ServiceCode of the ID Verification cloud service.', 'type' => 'string', 'example' => 'antcloudauth', 'title' => ''], + 'CertifyId' => ['description' => 'The unique identifier of the ID Verification request.', 'type' => 'string', 'example' => 'sha43d9cabd52d370d9f4cca9468f71e', 'title' => ''], + 'CertNo' => ['description' => 'The certificate number.', 'type' => 'string', 'example' => '330103xxxxxxxxxxxx'."\n", 'title' => ''], + 'SceneId' => ['description' => 'The verification scenario ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000000332', 'title' => ''], + 'ValidStartDate' => ['description' => 'The start date of the validity period.', 'type' => 'string', 'example' => '2024-08-30 13:57:51', 'title' => ''], + 'ValidEndDate' => ['description' => 'The end date of the validity period.', 'type' => 'string', 'example' => '2024-09-02 13:57:51', 'title' => ''], + 'Status' => ['description' => 'The status. Valid values:'."\n" + ."\n" + .'- DELETE: Deleted.'."\n" + .'- VALID: Not deleted and within the validity period (valid).'."\n" + .'- INVALID: Not deleted but outside the validity period (invalid).', 'type' => 'string', 'example' => 'VALID', 'title' => ''], + 'Remark' => ['description' => 'The remarks.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": 1,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\"\\n}","type":"json"}]', - 'title' => 'Delete All Custom Flow Control Strategies', - 'description' => 'Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - ."\n" - .'> The authorization key is valid for 30 minutes and cannot be reused. It is recommended to reacquire it before each activation.', - 'translator' => 'machine', - ], - 'ModifyCustomizeFlowStrategyList' => [ - 'summary' => 'Information Verification Security Management', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"TotalItem\\": 28,\\n \\"TotalPage\\": 3,\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": 234822,\\n \\"GmtCreate\\": \\"2024-08-30 14:00:00\\",\\n \\"GmtModified\\": \\"2024-08-30 14:00:00\\",\\n \\"ServiceCode\\": \\"antcloudauth\\",\\n \\"CertifyId\\": \\"sha43d9cabd52d370d9f4cca9468f71e\\",\\n \\"CertNo\\": \\"330103xxxxxxxxxxxx\\\\n\\",\\n \\"SceneId\\": 1000000332,\\n \\"ValidStartDate\\": \\"2024-08-30 13:57:51\\",\\n \\"ValidEndDate\\": \\"2024-09-02 13:57:51\\",\\n \\"Status\\": \\"VALID\\",\\n \\"Remark\\": \\"test\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query ID Verification whitelist configurations by paging', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PageQueryWhiteListSetting'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:PageQueryWhiteListSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryBlackListStrategy' => [ + 'summary' => 'Queries the blacklist configuration list.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '209313', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - 'FEATUREcloudauthXA9M4C', - 'FEATUREcloudauthA9Y5H0', - ], + 'abilityTreeCode' => '214008', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'StrategyObject', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Strategy list.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'Rule ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '38', - ], - 'UserId' => [ - 'description' => 'User ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '126005125163xxxx', - ], - 'ApiName' => [ - 'description' => 'API name, same as **ProductCode**.', - 'type' => 'string', - 'required' => true, - 'example' => 'ID_PRO', - ], - 'AccumulateWindow' => [ - 'description' => 'Flow control statistical window size, in minutes.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '60', - ], - 'Threshold' => [ - 'description' => 'Flow control threshold.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '10', - ], - 'Operation' => [ - 'description' => 'Operation.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], - 'Status' => [ - 'description' => 'Status:'."\n" - .'- **disabled**: Disabled'."\n" - .'- **normal**: Enabled', - 'type' => 'string', - 'required' => true, - 'example' => 'disabled', - ], - 'AccumulateKey' => [ - 'description' => 'AccumulateKey', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], - 'FlowType' => [ - 'description' => 'Flow type:'."\n" - .'- **ACCUMULATE**: Repeated appearance of ID card'."\n" - .'- **PASSED_RATE**: Pass rate less than'."\n" - .'- **SUB_CODE_205**: Authentication failed and liveness attack 205 ratio greater than'."\n" - .'- **SUB_CODE_206**: Authentication failed and liveness attack 206 ratio greater than'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ACCUMULATE', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260'], + 'Code' => ['description' => 'The return code. **200** indicates that the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The returned result.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '234822', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '12600512xxxxxxxx', 'title' => ''], + 'ProductName' => ['description' => 'The product name. Valid values:'."\n" + .'- id2meta: ID card two-factor verification.'."\n" + .'- mobile3Meta: Phone number factor verification.'."\n" + .'- bankcardMeta: Bank card factor verification.', 'type' => 'string', 'example' => 'id2meta', 'title' => ''], + 'BizKey' => ['description' => 'The blacklist type. Valid values:'."\n" + .'- mobile: phone number blacklist'."\n" + .'- ip: IP blacklist'."\n" + .'- identifyNum: ID card blacklist'."\n" + .'- bankCard: bank card blacklist.', 'type' => 'string', 'example' => 'identifyNum', 'title' => ''], + 'BizContent' => ['description' => 'The blacklist string. Multiple blacklist entries are separated by **commas**.', 'type' => 'string', 'example' => '127.0.0.1,127.0.0.2', 'title' => ''], + 'Status' => ['description' => 'The status. Valid values:'."\n" + .'- **disabled**: Disabled.'."\n" + .'- **normal**: Enabled.', 'type' => 'string', 'example' => 'disabled', 'title' => ''], + 'GmtModified' => ['description' => 'The modification time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1711533786000', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": 234822,\\n \\"UserId\\": 0,\\n \\"ProductName\\": \\"id2meta\\",\\n \\"BizKey\\": \\"identifyNum\\",\\n \\"BizContent\\": \\"127.0.0.1,127.0.0.2\\",\\n \\"Status\\": \\"disabled\\",\\n \\"GmtModified\\": 1711533786000\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query blacklist rules', + 'description' => '- Request endpoint: cloudauth.aliyuncs.com'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + ."\n" + .'> You can configure blacklists for IP addresses, ID card numbers, phone numbers, and bank card numbers. When a request matches a blacklist entry, the system rejects the request and returns a fixed error code.'."\n" + .'You can configure blacklists for IP addresses, ID card numbers, phone numbers, and bank card numbers. When a request matches a blacklist entry, the system rejects the request and returns a fixed error code.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBlackListStrategy'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryBlackListStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'QueryControlStrategy' => [ + 'summary' => 'Queries the list of stability rules. The system monitors the stability of the server-side InitFaceVerify operation and API integration operations. If a threshold is triggered, the system sends an alert.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '215261', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], + ], [ 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'Product type, currently only supports **ANT_CLOUD_AUTH** (Financial-grade real person), all others have been phased out.', - 'type' => 'string', - 'required' => false, - 'example' => 'ANT_CLOUD_AUTH', - ], + 'schema' => ['description' => 'The product type. Currently, only ANT_CLOUD_AUTH (financial-grade ID Verification) is supported. All other product types have been discontinued.', 'type' => 'string', 'required' => false, 'example' => 'ANT_CLOUD_AUTH', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', - ], - 'Data' => [ - 'description' => 'Result data.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates the interface responded successfully.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP status code.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The response code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The processing result.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '234822', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '126005125163xxxx', 'title' => ''], + 'ApiName' => ['description' => 'The API name, which is the same as the ProductCode of the verification operation.', 'type' => 'string', 'example' => 'ID_PRO', 'title' => ''], + 'BizType' => ['description' => 'The rule configuration type. Valid values:'."\n" + ."\n" + .'- **QPS**: QPS greater than'."\n" + .'- **SUCCESS_RATE_5_MIN**: success rate in the last 5 minutes less than'."\n" + .'- **RESP_TIME_5_MIN**: average response time in the last 5 minutes greater than'."\n" + .'- **AMOUNT_RISE**: call volume increase compared to the previous period greater than'."\n" + .'- **AMOUNT_FALL**: call volume decrease compared to the previous period less than'."\n" + .'- **PASSED_RATE_1_HOUR**: verification consistency rate in the last hour less than'."\n" + .'- **PARAM_ERROR_RATE_1_HOUR**: parameter error rate in the last hour greater than.', 'type' => 'string', 'example' => 'SUCCESS_RATE_5_MIN', 'title' => ''], + 'Threshold' => ['description' => 'The alert threshold for configure alerting of the rule.', 'type' => 'number', 'format' => 'double', 'example' => '0.9', 'title' => ''], + 'Status' => ['description' => 'The status. Valid values:'."\n" + ."\n" + .'- **disabled**: Disabled.'."\n" + .'- **normal**: Enabled.', 'type' => 'string', 'example' => 'normal', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Data\\": 1,\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpStatusCode\\": 200\\n}","type":"json"}]', - 'title' => 'Adjust Custom Flow Control Strategy List', - 'description' => '- Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - .'- Service Address: cloudauth.aliyuncs.com.'."\n", - 'translator' => 'machine', - ], - 'ModifyControlStrategy' => [ - 'summary' => 'Modify Security Control Strategy', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"Success\\",\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": 234822,\\n \\"UserId\\": 0,\\n \\"ApiName\\": \\"ID_PRO\\",\\n \\"BizType\\": \\"SUCCESS_RATE_5_MIN\\",\\n \\"Threshold\\": 0.9,\\n \\"Status\\": \\"normal\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query stability alert rules', + 'description' => '- Request method: HTTPS POST and GET.'."\n" + .'- Request URL: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryControlStrategy'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryControlStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryCustomizeFlowStrategy' => [ + 'summary' => 'Queries security rules.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '215262', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - ], + 'abilityTreeCode' => '207520', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38', 'FEATUREcloudauth883TGF', 'FEATUREcloudauthPZCZ2I', 'FEATUREcloudauthXA9M4C', 'FEATUREcloudauthA9Y5H0', 'FEATUREcloudauthDSU9LB'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ControlStrategyList', + 'name' => 'UserId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['title' => '', 'description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '126005125163xxxx'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai'], + ], + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => ['description' => 'The product type. Currently, only **ANT_CLOUD_AUTH** (financial-grade ID Verification) is supported. All other types have been discontinued.', 'type' => 'string', 'required' => false, 'example' => 'ANT_CLOUD_AUTH', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'List of security alarm rules.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'Rule ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '38', - ], - 'ApiName' => [ - 'description' => 'API name, same as **ProductCode**.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', - ], - 'BizType' => [ - 'description' => 'Rule configuration type:'."\n" - .'- **QPS**: QPS greater than'."\n" - .'- **SUCCESS_RATE_5_MIN**: Success rate in the last 5 minutes less than'."\n" - .'- **RESP_TIME_5_MIN**: Average response time in the last 5 minutes greater than'."\n" - .'- **AMOUNT_RISE**: Call volume growth ratio greater than'."\n" - .'- **AMOUNT_FALL**: Call volume decline ratio less than'."\n" - .'- **PASSED_RATE_1_HOUR**: Verification consistency rate in the last hour less than'."\n" - .'- **PARAM_ERROR_RATE_1_HOUR**: Parameter error rate in the last hour greater than', - 'type' => 'string', - 'required' => false, - 'example' => 'SUCCESS_RATE_5_MIN', - ], - 'Threshold' => [ - 'description' => 'Alarm threshold for the rule.', - 'type' => 'number', - 'format' => 'double', - 'required' => false, - 'example' => '0.9', - ], - 'Status' => [ - 'description' => 'Status:'."\n" - .'- **disabled**: Disabled'."\n" - .'- **normal**: Enabled'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', + 'title' => '', + 'description' => 'SingleDataResponse<CustomizeFlowStrategyDTO>', + 'type' => 'object', + 'properties' => [ + 'ResultObject' => [ + 'description' => 'The processing result.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The rule ID.', 'type' => 'string', 'example' => '234822', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '126005125163xxxx', 'title' => ''], + 'ApiName' => ['description' => 'The API name, which is the same as **ProductCode**.', 'type' => 'string', 'example' => 'ID_PRO', 'title' => ''], + 'AccumulateWindow' => ['description' => 'The rate limiting statistical window. Unit: **minutes**.', 'type' => 'string', 'example' => '60', 'title' => ''], + 'AccumulateKey' => ['description' => 'AccumulateKey', 'type' => 'string', 'example' => '-', 'title' => ''], + 'Threshold' => ['description' => 'The threshold.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'Operation' => ['description' => 'The operation.', 'type' => 'string', 'example' => 'match', 'title' => ''], + 'Status' => ['description' => 'The status. Valid values:'."\n" + .'- **disabled**: Disabled.'."\n" + .'- **normal**: Enabled.', 'type' => 'string', 'example' => 'disabled', 'title' => ''], + 'FlowType' => ['description' => 'The flow type. Valid values:'."\n" + .'- **ACCUMULATE**: repeated occurrence of an ID card number.'."\n" + .'- **PASSED_RATE**: pass rate less than the threshold.'."\n" + .'- **SUB_CODE_205**: authentication failed and the proportion of liveness attack 205 is greater than the threshold.'."\n" + .'- **SUB_CODE_206**: authentication failed and the proportion of liveness attack 206 is greater than the threshold.', 'type' => 'string', 'example' => 'ACCUMULATE', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'required' => false, + 'Success' => ['description' => 'Indicates whether the response is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], - 'required' => false, + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": \\"234822\\",\\n \\"UserId\\": \\"126005125163xxxx\\",\\n \\"ApiName\\": \\"ID_PRO\\",\\n \\"AccumulateWindow\\": \\"60\\",\\n \\"AccumulateKey\\": \\"-\\",\\n \\"Threshold\\": \\"10\\",\\n \\"Operation\\": \\"match\\",\\n \\"Status\\": \\"disabled\\",\\n \\"FlowType\\": \\"ACCUMULATE\\"\\n }\\n ],\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"HttpStatusCode\\": 200,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'Query security rules', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + .'- Security rules: monitoring rules that ensure system security, such as API abuse and abnormal account theft. When a threshold is triggered, the system sends an alert.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomizeFlowStrategy'], + ], + ], + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Region ID of the intelligent access gateway instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryCustomizeFlowStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'QuerySceneConfigs' => [ + 'summary' => 'Queries the list of intent verification settings.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '138609', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + ], + 'parameters' => [ [ - 'name' => 'ProductType', + 'name' => 'type', 'in' => 'query', - 'schema' => [ - 'description' => 'Product type, currently only supports **ANT_CLOUD_AUTH** (Financial-grade Real Person), all others are phased out.'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ANT_CLOUD_AUTH', - ], + 'schema' => ['description' => 'The scenario type.', 'type' => 'string', 'required' => true, 'example' => 'VOLUNTARY', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response Schema', + 'title' => '', + 'description' => 'ListRespDTO<SceneConfigDTO>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Message' => [ - 'description' => 'Information returned by the API call.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', + 'sceneConfigs' => [ + 'description' => 'The list of intent verification configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'id' => ['description' => 'The configuration ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '607', 'title' => ''], + 'gmtCreate' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '1760782820000', 'title' => ''], + 'gmtModified' => ['description' => 'The modification time.', 'type' => 'string', 'example' => '1760782820000', 'title' => ''], + 'type' => ['description' => 'The configuration type.', 'type' => 'string', 'example' => 'VOLUNTARY', 'title' => ''], + 'sceneId' => ['description' => 'The scenario ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000009045', 'title' => ''], + 'version' => ['description' => 'The version number of the scenario configuration.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'config' => ['description' => 'The specific configuration content, in JSON string format.', 'type' => 'string', 'example' => '{\\"faceCompareMode\\":\\"CUSTOM\\",\\"certConfigs\\":[{\\"index\\":0,\\"openVoiceCompare\\":false,\\"openCustomizedContent\\":true,\\"model\\":\\"QA\\"}],\\"screenEvidence\\":true}', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'Adjust Stability Alarm Rules', - 'description' => '- Request Method: Supports sending requests via HTTPS POST method.'."\n" - .'- Request Address: cloudauth.aliyuncs.com.', - 'translator' => 'machine', - ], - 'QueryControlStrategy' => [ - 'summary' => 'Query Security Control Strategy', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"sceneConfigs\\": [\\n {\\n \\"id\\": 607,\\n \\"gmtCreate\\": \\"1760782820000\\",\\n \\"gmtModified\\": \\"1760782820000\\",\\n \\"type\\": \\"VOLUNTARY\\",\\n \\"sceneId\\": 1000009045,\\n \\"version\\": 1,\\n \\"config\\": \\"{\\\\\\\\\\\\\\"faceCompareMode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"CUSTOM\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"certConfigs\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"index\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"openVoiceCompare\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"openCustomizedContent\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"model\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"QA\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"screenEvidence\\\\\\\\\\\\\\":true}\\"\\n }\\n ],\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Query intent verification settings', + 'description' => '- Service address: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST and GET.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySceneConfigs'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QuerySceneConfigs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryVerifyDownloadTask' => [ + 'summary' => 'Queries an ID Verification download task.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '215261', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - ], + 'abilityTreeCode' => '165842', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'DownloadTaskId', 'in' => 'query', + 'schema' => ['description' => 'The download task ID.', 'type' => 'string', 'required' => false, 'example' => '202411194002618', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], 'schema' => [ - 'description' => 'Region ID', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F528BDF60D2'], + 'Finish' => ['description' => 'Indicates whether the download task is complete. Valid values:'."\n" + .'- **true**: Complete.'."\n" + .'- **false**: Not complete.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Url' => ['description' => 'The download URL.', 'type' => 'string', 'example' => 'http://xxx/xxx.csv', 'title' => ''], + 'Status' => ['description' => 'The task status. Valid values:'."\n" + .'- **1**: The file is being generated.'."\n" + .'- **2**: The file is generated.'."\n" + .'- **3**: The file failed to be generated.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.', 'type' => 'string', 'example' => '-', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528BDF60D2\\",\\n \\"Finish\\": true,\\n \\"Url\\": \\"http://xxx/xxx.csv\\",\\n \\"Status\\": 2,\\n \\"ErrorCode\\": \\"-\\"\\n}","type":"json"}]', + 'title' => 'Query download task details for authentication data', + 'description' => 'Retrieves the download link of a statistical call data file under a product plan based on query conditions.'."\n" + .'- Method: HTTPS POST'."\n" + .'- Endpoint: cloudauth.aliyuncs.com'."\n" + ."\n" + .'> ID Verification uses CertifyId to calculate the call volume. To facilitate reconciliation, retain the CertifyId field in your system.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryVerifyDownloadTask'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryVerifyDownloadTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'QueryVerifyFlowPackage' => [ + 'summary' => 'Queries data transfer plans.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '168774', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], + ], + 'parameters' => [ [ 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'Product type, currently only supports ANT_CLOUD_AUTH (financial-grade real person), all others have been phased out.', - 'type' => 'string', - 'required' => false, - 'example' => 'ANT_CLOUD_AUTH', - ], + 'schema' => ['description' => 'The product type. Valid values:'."\n" + .'- **FINANCE_VERIFY**: Financial-Grade ID Verification'."\n" + .'- **SMART_VERIFY**: Enhanced ID Verification (discontinued)'."\n" + .'- **FACE_VERIFY**: ID Verification (discontinued).', 'type' => 'string', 'required' => true, 'example' => 'FINANCE_VERIFY', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => 'Success', - ], - 'ResultObject' => [ - 'description' => 'Processing result.', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '969434DF-926B-4997-9881-4DE94E39F805'], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int64', 'example' => '200', 'title' => ''], + 'Items' => [ + 'description' => 'The list of returned data.', 'type' => 'array', 'items' => [ + 'description' => 'The list of returned data.', 'type' => 'object', 'properties' => [ - 'Id' => [ - 'description' => 'Rule ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '234822', - ], - 'UserId' => [ - 'description' => 'User ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '126005125163xxxx', - ], - 'ApiName' => [ - 'description' => 'API name, same as the **ProductCode** of the authentication interface.', - 'type' => 'string', - 'example' => 'ID_PRO', - ], - 'BizType' => [ - 'description' => 'Rule configuration type:'."\n" - .'- **QPS**: QPS greater than'."\n" - .'- **SUCCESS_RATE_5_MIN**: Success rate in the last 5 minutes less than'."\n" - .'- **RESP_TIME_5_MIN**: Average response time in the last 5 minutes greater than'."\n" - .'- **AMOUNT_RISE**: Call volume growth ratio greater than'."\n" - .'- **AMOUNT_FALL**: Call volume decline ratio less than'."\n" - .'- **PASSED_RATE_1_HOUR**: Verification consistency rate in the last hour less than'."\n" - .'- **PARAM_ERROR_RATE_1_HOUR**: Parameter error rate in the last hour greater than', - 'type' => 'string', - 'example' => 'SUCCESS_RATE_5_MIN', - ], - 'Threshold' => [ - 'description' => 'Alarm threshold for rule configuration.', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.9', - ], - 'Status' => [ - 'description' => 'Status:'."\n" - .'- **disabled**: Disabled'."\n" - .'- **normal**: Enabled', - 'type' => 'string', - 'example' => 'normal', + 'CommodityName' => ['description' => 'The name of the resource plan.', 'type' => 'string', 'example' => '实人认证流量包', 'title' => ''], + 'CurrCapacity' => ['description' => 'The current remaining available capacity.', 'type' => 'number', 'format' => 'double', 'example' => '0.0', 'title' => ''], + 'CurrProportion' => ['description' => 'The ratio of the current remaining capacity to the total capacity.', 'type' => 'string', 'example' => '0%', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total quota.', 'type' => 'number', 'format' => 'double', 'example' => '0.0', 'title' => ''], + 'UsedCapacity' => ['description' => 'The used capacity.', 'type' => 'number', 'format' => 'double', 'example' => '0.0', 'title' => ''], + 'FlowDetails' => [ + 'description' => 'The data transfer plan details.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Capacity' => ['description' => 'The total capacity.', 'type' => 'number', 'format' => 'double', 'example' => '0', 'title' => ''], + 'CommodityName' => ['description' => 'The name of the data transfer plan.', 'type' => 'string', 'example' => '实人认证流量包', 'title' => ''], + 'CurrCapacity' => ['description' => 'The remaining capacity.', 'type' => 'number', 'format' => 'double', 'example' => '0.0', 'title' => ''], + 'CurrProportion' => ['description' => 'The ratio of the remaining capacity to the total capacity.', 'type' => 'string', 'example' => '100%', 'title' => ''], + 'ExpireDate' => ['description' => 'The expiration time.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'InstanceName' => ['description' => 'The instance name.', 'type' => 'string', 'example' => 'tf-testacccn-hangzhouapigate84369', 'title' => ''], + 'Status' => ['description' => 'The status.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'TakeEffectDate' => ['description' => 'The effective period.', 'type' => 'string', 'example' => '-', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"Success\\",\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": 234822,\\n \\"UserId\\": 0,\\n \\"ApiName\\": \\"ID_PRO\\",\\n \\"BizType\\": \\"SUCCESS_RATE_5_MIN\\",\\n \\"Threshold\\": 0.9,\\n \\"Status\\": \\"normal\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Query Stability Alarm Rules', - 'description' => '- Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - .'- Request Address: cloudauth.aliyuncs.com.'."\n", - 'translator' => 'machine', - ], - 'DeleteControlStrategy' => [ - 'summary' => 'Delete Security Control Strategy', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"969434DF-926B-4997-9881-4DE94E39F805\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Items\\": [\\n {\\n \\"CommodityName\\": \\"实人认证流量包\\",\\n \\"CurrCapacity\\": 0,\\n \\"CurrProportion\\": \\"0%\\",\\n \\"TotalCapacity\\": 0,\\n \\"UsedCapacity\\": 0,\\n \\"FlowDetails\\": [\\n {\\n \\"Capacity\\": 0,\\n \\"CommodityName\\": \\"实人认证流量包\\",\\n \\"CurrCapacity\\": 0,\\n \\"CurrProportion\\": \\"100%\\",\\n \\"ExpireDate\\": \\"-\\",\\n \\"InstanceName\\": \\"tf-testacccn-hangzhouapigate84369\\",\\n \\"Status\\": \\"-\\",\\n \\"TakeEffectDate\\": \\"-\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query data transfer plans', + 'description' => '- Service endpoint: cloudauth.aliyuncs.com'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + .'- This operation uses different parameters for different product plans. For more information, see [official documentation](https://www.alibabacloud.com/help/en/id-verification/financial-grade-id-verification/product-overview/introduction/).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 86400, 'regionId' => '*', 'api' => 'QueryVerifyFlowPackage'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryVerifyFlowPackage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryVerifyInvokeSatistic' => [ + 'summary' => 'Queries the call volume of a product code based on different product plans.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '215260', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - 'FEATUREcloudauthA9Y5H0', - ], + 'abilityTreeCode' => '170459', + 'abilityTreeNodes' => ['FEATUREcloudauthV1ZO7W'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'StatisticsType', 'in' => 'query', - 'schema' => [ - 'description' => 'Region ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The statistical dimension. Valid values:'."\n" + .'- **day**: daily'."\n" + .'- **month**: monthly.', 'type' => 'string', 'required' => false, 'example' => 'day', 'title' => ''], ], [ - 'name' => 'Id', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'Security rule ID.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '38', - ], + 'schema' => ['description' => 'The start time of the query.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1743436800000', 'title' => ''], ], [ - 'name' => 'ApiName', + 'name' => 'EndDate', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the query.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1761926399999', 'title' => ''], + ], + [ + 'name' => 'ProductType', + 'in' => 'query', + 'schema' => ['description' => 'The product type. Valid values:'."\n" + .'- **FINANCE_VERIFY**: financial-grade ID Verification'."\n" + .'- **SMART_VERIFY**: enhanced ID Verification (discontinued)'."\n" + .'- **FACE_VERIFY**: ID Verification (discontinued).', 'type' => 'string', 'required' => false, 'example' => 'FINANCE_VERIFY', 'title' => ''], + ], + [ + 'name' => 'SceneIdList', + 'in' => 'query', + 'schema' => ['description' => 'The list of common scenarios.', 'type' => 'string', 'required' => false, 'example' => '[]', 'title' => ''], + ], + [ + 'name' => 'ProductProgramList', + 'in' => 'query', + 'schema' => ['description' => 'The list of product codes to query. For more information, refer to the productCode under the corresponding ProductType.', 'type' => 'string', 'required' => false, 'example' => 'ID_PRO', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', 'in' => 'query', + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], 'schema' => [ - 'description' => 'API name, same as **ProductCode**.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_PRO', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2FA2C773-47DB-4156-B1EE-5B047321A939'], + 'Code' => ['description' => 'The response code. **200** indicates a successful response.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the response is successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Items' => [ + 'description' => 'The list of returned data.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of returned data.', + 'type' => 'object', + 'properties' => [ + 'StatisticsDate' => ['description' => 'The statistics date.', 'type' => 'string', 'example' => '2025-10-16', 'title' => ''], + 'Data' => [ + 'description' => 'The list of statistics data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'StatisticsCount' => ['description' => 'The count of the statistical value.', 'type' => 'string', 'example' => '3', 'title' => ''], + 'StatisticsType' => ['description' => 'The product code.', 'type' => 'string', 'example' => 'ID_PRO', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + [], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2FA2C773-47DB-4156-B1EE-5B047321A939\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalPage\\": 3,\\n \\"CurrentPage\\": 1,\\n \\"Items\\": [\\n {\\n \\"StatisticsDate\\": \\"2025-10-16\\",\\n \\"Data\\": [\\n {\\n \\"StatisticsCount\\": \\"3\\",\\n \\"StatisticsType\\": \\"ID_PRO\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query authentication call volume statistics', + 'description' => '- Request endpoint: cloudauth.aliyuncs.com'."\n" + .'- Request method: HTTPS POST and GET.'."\n" + ."\n" + .'> ID Verification counts call volume by CertifyId. To facilitate reconciliation, retain the CertifyId field in your system.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryVerifyInvokeSatistic'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ProductType', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryVerifyInvokeSatistic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'RemoveWhiteListSetting' => [ + 'summary' => 'Deletes an ID Verification whitelist.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '243505', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + ], + 'parameters' => [ + [ + 'name' => 'ServiceCode', 'in' => 'query', + 'schema' => ['description' => 'The ServiceCode of the ID Verification service. Set this parameter to **antcloudauth**.', 'type' => 'string', 'required' => false, 'example' => 'antcloudauth', 'title' => ''], + ], + [ + 'name' => 'Ids', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Product type, currently only supports **ANT_CLOUD_AUTH** (Financial-grade Real Person), all others have been phased out.', - 'type' => 'string', + 'description' => 'The IDs of the whitelists to delete in batch.', + 'type' => 'array', + 'items' => ['description' => 'The list of automatic response rule IDs in JSON array format.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2653', 'title' => ''], 'required' => false, - 'example' => 'ANT_CLOUD_AUTH', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response Schema', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'D6C1237B-D34B-5126-93AC-36A4B9E819C6', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Data' => [ - 'description' => 'Returned data.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ResultObject' => ['description' => 'The result information.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6C1237B-D34B-5126-93AC-36A4B9E819C6\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": 1\\n}","type":"json"}]', - 'title' => 'Delete Stability Alarm Rule', - 'description' => 'Request Method: Supports sending requests via HTTPS POST.'."\n" - .'Request URL: cloudauth.aliyuncs.com.', - 'translator' => 'machine', - ], - 'ModifyBlackListStrategy' => [ - 'summary' => 'Modify Black and White List Policy', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"ResultObject\\": true\\n}","type":"json"}]', + 'title' => 'Delete ID verification whitelist', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveWhiteListSetting'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteWhiteListSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateAntCloudAuthScene' => [ + 'summary' => 'Updates a China Finance Certification Initiative (CFCI) scenario.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '214006', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - ], + 'abilityTreeCode' => '59169', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Region ID', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1000013372', 'title' => ''], ], [ - 'name' => 'BlackListStrategy', + 'name' => 'Status', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'This parameter is not used. You do not need to specify this parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'SceneName', + 'in' => 'query', + 'schema' => ['description' => 'The scenario name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'StoreImage', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to deliver certification files generated during the certification process to the user\'s OSS bucket. Valid values:'."\n" + .'- **Y**: enabled.'."\n" + .'- **N (default)**: disabled.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'BindMiniProgram', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to bind a mini program. Valid values:'."\n" + .'- **Y**: enabled.'."\n" + .'- **N (default)**: disabled.'."\n" + .'><notice>If you enable mini program binding, make sure that you specify all parameters related to the mini program binding.></notice>.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'MiniProgramName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the mini program.', 'type' => 'string', 'required' => false, 'example' => '测试APP', 'title' => ''], + ], + [ + 'name' => 'Platform', + 'in' => 'query', + 'schema' => ['description' => 'The mini program platform. Valid values:'."\n" + .'- **WECHAT**: WeChat'."\n" + .'- **ALIPAY**: Alipay'."\n" + .'- **TIKTOK**: TikTok.', 'type' => 'string', 'required' => false, 'example' => 'IOS', 'title' => ''], + ], + [ + 'name' => 'CheckFileName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the uploaded verification file.', 'type' => 'string', 'required' => false, 'example' => '测试.txt', 'title' => ''], + ], + [ + 'name' => 'CheckFileBody', + 'in' => 'query', + 'schema' => ['description' => 'The content of the uploaded verification file.', 'type' => 'string', 'required' => false, 'example' => '774c4aab45981ff4a86cde9255a11xxx', 'title' => ''], + ], + [ + 'name' => 'ReturnPicCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of returned photos (1 to 5). This parameter takes effect only after StoreImage is enabled for certification file retention.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ReturnVideoLength', + 'in' => 'query', + 'schema' => ['description' => 'The duration of the returned video (1 to 2 seconds). This parameter takes effect only after StoreImage is enabled.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'DeviceRiskPlus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable enhanced device risk detection. Valid values:'."\n" + .'- **Y**: enabled.'."\n" + .'- **N**: disabled.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Blacklist rule.', 'type' => 'object', 'properties' => [ - 'Id' => [ - 'description' => 'Rule ID:'."\n" - .'- **Empty**: Add a new rule'."\n" - .'- **Non-empty**: Modify an existing rule', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '38', - ], - 'ProductName' => [ - 'description' => 'Product Name:'."\n" - .'- **id2meta**: ID card two-factor verification'."\n" - .'- **mobile3Meta**: Mobile number factor verification'."\n" - .'- **bankcardMeta**: Bank card factor verification'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'id2meta', - ], - 'BizKey' => [ - 'description' => 'List Type:'."\n" - .'- **mobile**: Mobile number blacklist'."\n" - .'- **ip**: IP blacklist'."\n" - .'- **identifyNum**: ID number blacklist'."\n" - .'- **bankCard**: Bank card blacklist'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ip', - ], - 'BizContent' => [ - 'description' => 'Blacklist string, with each blacklist entry separated by commas.', - 'type' => 'string', - 'required' => false, - 'example' => '127.0.0.1,127.0.0.2', - ], - 'Status' => [ - 'description' => 'Verification Status:'."\n" - .'- **1**: Verification passed'."\n" - .'- **2**: Verification failed', - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A07D5838-2BE0-5D2E-B864-D05ADAA5EDE3', 'title' => ''], ], - 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A07D5838-2BE0-5D2E-B864-D05ADAA5EDE3\\"\\n}","type":"json"}]', + 'title' => 'Update a CFCI scenario', + 'description' => 'Updates the information of a China Finance Certification Initiative (CFCI) scenario based on the scenario ID.'."\n" + .'- Service endpoint: cloudauth.aliyuncs.com.'."\n" + .'- Request method: HTTPS POST.', + 'changeSet' => [ + ['createdAt' => '2025-12-12T06:45:03.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAntCloudAuthScene'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:UpdateAntCloudAuthScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UpdateSceneConfig' => [ + 'summary' => 'Updates the intent scenario configuration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '138608', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'id', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the intent configuration.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '607', 'title' => ''], + ], + [ + 'name' => 'sceneId', + 'in' => 'formData', + 'schema' => ['description' => 'The selected verification scenario.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1000012918', 'title' => ''], + ], + [ + 'name' => 'config', + 'in' => 'formData', + 'schema' => ['description' => 'The scenario configuration in JSON format. For the specific structure definition, refer to the additional information about configurations.', 'type' => 'string', 'required' => true, 'example' => '{\\"faceCompareMode\\":\\"AUTHORITY\\",\\"certConfigs\\":[{\\"index\\":0,\\"model\\":\\"ENROLL\\"}],\\"screenEvidence\\":false}', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response Schema', + 'title' => '', + 'description' => 'RespDTO<Boolean>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Code' => [ - 'description' => 'Return code: 200 for success, others for failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'Returned data.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '{\'StatusCode\': -1}', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"Success\\": true,\\n \\"Data\\": 0\\n}","type":"json"}]', - 'title' => 'Add or Modify Blacklist Rule', - 'description' => '- Service Address: cloudauth.aliyuncs.com.'."\n" - .'- Request Method: HTTPS POST and GET.'."\n" - .'- Interface Description: Add or modify blacklist rule.'."\n", - 'translator' => 'machine', - ], - 'QueryBlackListStrategy' => [ - 'summary' => 'Query Blacklist and Whitelist Policies', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Update intent scenario configuration', + 'description' => '- Request method: HTTPS POST.'."\n" + .'- Request URL: cloudauth.aliyuncs.com.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSceneConfig'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:UpdateSceneConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'SceneConfig', 'arn' => 'acs:yundun-cloudauth::{#accountId}:sceneconfig/{#SceneConfigId}'], + ], + ], + ], ], + ], + 'Vehicle5ItemQuery' => [ + 'summary' => 'Identifies the five key attributes of a vehicle.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '214008', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - ], - 'tenantRelevance' => 'publicInformation', + 'chargeType' => 'paid', + 'abilityTreeCode' => '232619', + 'abilityTreeNodes' => ['FEATUREcloudauthA9Y5H0'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'VehicleType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The vehicle type.'."\n" + ."\n" + .'> '."\n" + .'> - 02: standard passenger car'."\n" + .'> - 52: new energy passenger car.', + 'enumValueTitles' => [52 => 'new energy passenger car.', '02' => 'standard passenger car.'], + 'type' => 'string', + 'required' => false, + 'example' => '02', + 'title' => '', + ], + ], + [ + 'name' => 'VehicleNum', + 'in' => 'query', + 'schema' => ['description' => 'The license plate number.'."\n" + ."\n" + .'> '."\n" + .'> - If ParamType is set to normal, enter the plaintext value.'."\n" + .'> - If ParamType is set to md5, enter the plaintext of the license plate number excluding the last two characters, concatenated with the MD5-encrypted last two characters (32-bit lowercase MD5).', 'type' => 'string', 'required' => false, 'example' => '陕A9****', 'title' => ''], + ], + [ + 'name' => 'ParamType', 'in' => 'query', 'schema' => [ - 'description' => 'Region ID', + 'description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- **normal**: Not encrypted.'."\n" + .'- **md5**: MD5-encrypted.', + 'enumValueTitles' => ['normal' => 'not encrypted.', 'md5' => 'MD5-encrypted.'], 'type' => 'string', 'required' => false, - 'example' => 'cn-shanghai', + 'example' => 'normal', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', - ], - 'Code' => [ - 'description' => 'Return code, **200** indicates successful API response.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Error message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0D******'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => 'Rule ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '234822', - ], - 'UserId' => [ - 'description' => 'User ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12600512xxxxxxxx', - ], - 'ProductName' => [ - 'description' => 'Product name:'."\n" - .'- id2meta: ID number two-factor verification'."\n" - .'- mobile3Meta: Phone number factor verification'."\n" - .'- bankcardMeta: Bank card factor verification', - 'type' => 'string', - 'example' => 'id2meta', - ], - 'BizKey' => [ - 'description' => 'List type:'."\n" - .'- mobile: Phone number blacklist'."\n" - .'- ip: IP blacklist'."\n" - .'- identifyNum: ID number blacklist'."\n" - .'- bankCard: Bank card blacklist'."\n", - 'type' => 'string', - 'example' => 'identifyNum', - ], - 'BizContent' => [ - 'description' => 'Blacklist string, separated by **commas**.', - 'type' => 'string', - 'example' => '127.0.0.1,127.0.0.2', - ], - 'Status' => [ - 'description' => 'Status:'."\n" - .'- **disabled**: Disabled'."\n" - .'- **normal**: Enabled', - 'type' => 'string', - 'example' => 'disabled', - ], - 'GmtModified' => [ - 'description' => 'Modification time.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1711533786000', - ], - ], + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- **1**: Match found (billable).'."\n" + .'- **3**: No record found (not billable).', 'type' => 'string', 'example' => '1', 'title' => ''], + 'VehicleInfo' => ['description' => 'The vehicle information.', 'type' => 'string', 'example' => '{'."\n" + .' "engineNo": "F0******",'."\n" + .' "useProperty": 0,'."\n" + .' "registrationDate": "****-**-** **:**:**",'."\n" + .' "engineType": "B******",'."\n" + .' "vin": "A********",'."\n" + .' "state": "0",'."\n" + .' "modelNo": "B********",'."\n" + .' "type": "小型轿车",'."\n" + .' "brand": "宝马",'."\n" + .' "usePropertyDesc": "非营运",'."\n" + .' "stateDesc": "正常"'."\n" + .' }', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": [\\n {\\n \\"Id\\": 234822,\\n \\"UserId\\": 0,\\n \\"ProductName\\": \\"id2meta\\",\\n \\"BizKey\\": \\"identifyNum\\",\\n \\"BizContent\\": \\"127.0.0.1,127.0.0.2\\",\\n \\"Status\\": \\"disabled\\",\\n \\"GmtModified\\": 1711533786000\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Query Blacklist Rules', - 'description' => '- Request URL: cloudauth.aliyuncs.com'."\n" - .'- Request Method: HTTPS POST and GET.'."\n" - ."\n" - .'> Supports setting blacklists for IP, ID number, phone number, bank card number, etc. When a blacklist is hit, the system rejects the request and returns a fixed error code.'."\n" - .'Supports setting blacklists for IP, ID number, phone number, bank card number, etc. When a blacklist is hit, the system rejects the request and returns a fixed error code.'."\n", - 'translator' => 'machine', - ], - 'DeleteBlackListStrategy' => [ - 'summary' => 'Delete Black and White List Policy', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0D******\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n \\\\\\"engineNo\\\\\\": \\\\\\"F0******\\\\\\",\\\\n \\\\\\"useProperty\\\\\\": 0,\\\\n \\\\\\"registrationDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n \\\\\\"engineType\\\\\\": \\\\\\"B******\\\\\\",\\\\n \\\\\\"vin\\\\\\": \\\\\\"A********\\\\\\",\\\\n \\\\\\"state\\\\\\": \\\\\\"0\\\\\\",\\\\n \\\\\\"modelNo\\\\\\": \\\\\\"B********\\\\\\",\\\\n \\\\\\"type\\\\\\": \\\\\\"小型轿车\\\\\\",\\\\n \\\\\\"brand\\\\\\": \\\\\\"宝马\\\\\\",\\\\n \\\\\\"usePropertyDesc\\\\\\": \\\\\\"非营运\\\\\\",\\\\n \\\\\\"stateDesc\\\\\\": \\\\\\"正常\\\\\\"\\\\n }\\"\\n }\\n}","type":"json"}]', + 'title' => 'Vehicle five-attribute identification', + 'description' => 'Queries basic vehicle information by license plate number and vehicle type.', + 'requestParamsDescription' => 'ParamType and VehicleNum are required parameters.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Vehicle5ItemQuery'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Vehicle5ItemQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'VehicleInsureQuery' => [ + 'summary' => 'Queries the insurance date of a vehicle.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '214004', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - 'FEATUREcloudauth883TGF', - 'FEATUREcloudauthPZCZ2I', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '232986', + 'abilityTreeNodes' => ['FEATUREcloudauthA9Y5H0'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ParamType', 'in' => 'query', 'schema' => [ - 'description' => 'Region ID', + 'description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- **normal**: not encrypted.'."\n" + .'- **md5**: MD5-encrypted.', + 'enumValueTitles' => ['normal' => 'Not encrypted.', 'md5' => 'MD5-encrypted.'], 'type' => 'string', 'required' => false, - 'example' => 'cn-shanghai', + 'example' => 'normal', + 'title' => '', ], ], [ - 'name' => 'Id', + 'name' => 'VehicleType', 'in' => 'query', 'schema' => [ - 'description' => 'Rule ID.', - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The vehicle type on the driving license.', + 'enumValueTitles' => [52 => 'New energy passenger vehicle.', '02' => 'Standard passenger vehicle.'], + 'type' => 'string', 'required' => false, - 'example' => '38', + 'example' => '02', + 'title' => '', ], ], [ - 'name' => 'ProductName', + 'name' => 'VehicleNum', 'in' => 'query', - 'schema' => [ - 'description' => 'Product Name:'."\n" - .'- **id2meta**: ID card two-factor verification'."\n" - .'- **mobile3Meta**: Mobile phone number factor verification'."\n" - .'- **bankcardMeta**: Bank card factor verification'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'id2meta', - ], + 'schema' => ['description' => 'The license plate number.'."\n" + .'> '."\n" + .'> - If ParamType is set to normal, enter the plaintext value.'."\n" + .'> - If ParamType is set to md5, enter the plaintext of the license plate number excluding the last two characters, concatenated with the MD5-encrypted value of the last two characters (32-bit lowercase MD5).', 'type' => 'string', 'required' => false, 'example' => '陕A9****', 'title' => ''], + ], + [ + 'name' => 'Vin', + 'in' => 'query', + 'schema' => ['description' => 'The vehicle identification number (VIN).'."\n" + ."\n\n" + .'> '."\n" + .'> - If ParamType is set to normal, enter the plaintext value.'."\n" + .'> - If ParamType is set to md5, enter the plaintext of the VIN excluding the last 4 characters, concatenated with the MD5-encrypted value of the last 4 characters (32-bit lowercase MD5).', 'type' => 'string', 'required' => false, 'example' => 'LB**************', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Response Schema', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Code' => [ - 'description' => 'HTTP status code.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Data' => [ - 'description' => 'Returned data.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F52********'], + 'Message' => ['description' => 'The response message of the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + ."\n" + .'> '."\n" + .'> - 1: record found (billable).'."\n" + .'> - 3: no record found (not billable).', 'type' => 'string', 'example' => '1', 'title' => ''], + 'VehicleInfo' => ['description' => 'The insurance date information.', 'type' => 'string', 'example' => '{'."\n" + .' "firstInsuranceDate": "****-**-**",'."\n" + .' "lastInsuranceDate": "****-**",'."\n" + .' "latestInsuranceDate": "****-**",'."\n" + .' "latestInsuranceDateStart": "****-**"'."\n" + .' }', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true,\\n \\"Data\\": 1\\n}","type":"json"}]', - 'title' => 'Delete Blacklist Rule', - 'description' => 'Request Method: Only supports sending requests via HTTPS POST method.', - 'translator' => 'machine', - ], - 'DescribeInfoCheckExportRecord' => [ - 'summary' => 'Query export task records', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F52********\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n \\\\\\"firstInsuranceDate\\\\\\": \\\\\\"****-**-**\\\\\\",\\\\n \\\\\\"lastInsuranceDate\\\\\\": \\\\\\"****-**\\\\\\",\\\\n \\\\\\"latestInsuranceDate\\\\\\": \\\\\\"****-**\\\\\\",\\\\n \\\\\\"latestInsuranceDateStart\\\\\\": \\\\\\"****-**\\\\\\"\\\\n }\\"\\n }\\n}","type":"json"}]', + 'title' => 'Query vehicle insurance date', + 'description' => 'Queries the insurance date of a vehicle by license plate number, vehicle type, and vehicle identification number (VIN).', + 'requestParamsDescription' => 'ParamType and Vin are required fields.', + 'responseParamsDescription' => 'None.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleInsureQuery'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleInsureQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'VehicleMetaVerify' => [ + 'summary' => 'Verifies vehicle element consistency.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -16597,307 +12005,308 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '205575', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthGDLZVA', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '232494', + 'abilityTreeNodes' => ['FEATUREcloudauthA9Y5H0'], ], 'parameters' => [ [ - 'name' => 'ProductType', + 'name' => 'ParamType', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', + 'enumValueTitles' => ['normal' => 'Not encrypted.', 'md5' => 'MD5-encrypted.'], 'type' => 'string', 'required' => false, - 'example' => 'ID_CARD_2_META', + 'example' => 'normal', + 'title' => '', ], ], [ - 'name' => 'StartDate', + 'name' => 'VehicleType', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The vehicle type.', + 'enumValueTitles' => [52 => 'New energy passenger vehicle.', '02' => 'Standard passenger vehicle.'], 'type' => 'string', 'required' => false, - 'example' => '2025-10-11 21:24:48', + 'example' => '02', + 'title' => '', ], ], [ - 'name' => 'EndDate', + 'name' => 'VerifyMetaType', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The verification type.'."\n" + ."\n" + .'> '."\n" + .'> - VEHICLE_2_META: two-element verification. Verifies the name and license plate number.'."\n" + .'> - VEHICLE_3_META: three-element verification. Verifies the name, license plate number, and ID card number.', + 'enumValueTitles' => ['VEHICLE_3_META' => 'Three-element verification.', 'VEHICLE_2_META' => 'Two-element verification.'], 'type' => 'string', 'required' => false, - 'example' => '2025-10-11 21:24:48', + 'example' => 'VEHICLE_2_META', + 'title' => '', ], ], [ - 'name' => 'CurrentPage', + 'name' => 'IdentifyNum', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'This parameter is required when VerifyMetaType is set to VEHICLE_3_META.'."\n" + .'> '."\n" + .'> - When paramType is set to normal, enter the plaintext.'."\n" + .'> - When paramType is set to md5, enter the first 6 digits of the ID card number in plaintext + the MD5-encrypted date of birth (32-bit lowercase MD5) + the last 4 digits of the ID card number.', 'type' => 'string', 'required' => false, 'example' => '4****************1', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'> Note'."\n" + .'> - When paramType is set to normal, enter the plaintext.'."\n" + .'> - When paramType is set to md5, enter the MD5-encrypted first character of the name (32-bit lowercase MD5) + the remaining characters of the name in plaintext.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], + ], + [ + 'name' => 'VehicleNum', + 'in' => 'query', + 'schema' => ['description' => 'The license plate number.'."\n" + ."\n" + .'> '."\n" + .'> - When paramType is set to normal, enter the plaintext.'."\n" + .'> - When paramType is set to md5, enter the characters of the license plate number except the last two in plaintext + the MD5-encrypted last two characters (32-bit lowercase MD5).', 'type' => 'string', 'required' => false, 'example' => '陕A9****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'CurrentPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Items' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DownloadTaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '202510189017278', - ], - 'Status' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Url' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxxxx.xlsx', - ], - 'DownloadDate' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1758250979000', - ], - 'ErrorCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '-', - ], - 'ProductType' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'FileType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CSV', - ], - 'FileName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF4*****'], + 'Code' => ['description' => 'The return code. **200** indicates that the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- 1: Consistent (billable).'."\n" + .'- 2: Inconsistent (billable).'."\n" + .'- 3: No record found (not billable).', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalPage\\": 3,\\n \\"CurrentPage\\": 1,\\n \\"Items\\": [\\n {\\n \\"DownloadTaskId\\": \\"202510189017278\\",\\n \\"Status\\": 1,\\n \\"Url\\": \\"https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxxxx.xlsx\\",\\n \\"DownloadDate\\": \\"1758250979000\\",\\n \\"ErrorCode\\": \\"-\\",\\n \\"ProductType\\": \\"身份证二要素\\",\\n \\"FileType\\": \\"CSV\\",\\n \\"FileName\\": \\"手机号二要素统计202509013975081.csv\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'Information Verification Export Task', - 'translator' => 'machine', - ], - 'DescribeOssStatusV2' => [ - 'summary' => 'Get OSS Activation Status', - 'path' => '', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF4*****\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', + 'title' => 'Verify vehicle elements', + 'description' => 'Verifies the consistency of the name, ID card number, license plate number, and vehicle type.', + 'requestParamsDescription' => 'ParamType, VerifyMetaType, VehicleNum, and UserName are required parameters.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleMetaVerify'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleMetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'VehicleMetaVerifyV2' => [ + 'summary' => 'Verifies vehicle element information (enhanced edition).', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCPTLY3', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'chargeType' => 'paid', + 'abilityTreeCode' => '232381', + 'abilityTreeNodes' => ['FEATUREcloudauthA9Y5H0'], ], 'parameters' => [ [ - 'name' => 'ServiceCode', + 'name' => 'ParamType', 'in' => 'query', 'schema' => [ - 'description' => 'ServiceCode for Real Person Cloud products:'."\n" - .'- **antcloudauth**: Financial-grade real person authentication'."\n" - .'- **cloudauthst (discontinued)**: Enhanced real person authentication', + 'description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted.'."\n" + .'- md5: MD5-encrypted.', + 'enumValueTitles' => ['normal' => 'Not encrypted.', 'md5' => 'MD5-encrypted.'], 'type' => 'string', 'required' => false, - 'example' => 'antcloudauth', + 'example' => 'normal', + 'title' => '', ], ], [ - 'name' => 'SourceIp', + 'name' => 'VehicleType', 'in' => 'query', 'schema' => [ - 'description' => 'Visitor\'s source IP address.', + 'description' => 'The vehicle type.', + 'enumValueTitles' => [52 => 'New energy passenger vehicle.', '02' => 'Standard passenger vehicle.'], 'type' => 'string', 'required' => false, - 'example' => '120.25.41.25', + 'example' => '02', + 'title' => '', ], ], + [ + 'name' => 'VerifyMetaType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The verification type.'."\n" + ."\n" + .'> '."\n" + .'> - VEHICLE_2_META: two-element verification. Verifies the name and license plate number.'."\n" + .'> - VEHICLE_3_META: three-element verification. Verifies the name, license plate number, and ID card number.', + 'enumValueTitles' => ['VEHICLE_3_META' => 'Three-element verification.', 'VEHICLE_2_META' => 'Two-element verification.'], + 'type' => 'string', + 'required' => false, + 'example' => 'VEHICLE_3_META', + 'title' => '', + ], + ], + [ + 'name' => 'IdentifyNum', + 'in' => 'query', + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'This parameter is required when VerifyMetaType is set to VEHICLE_3_META.'."\n" + ."\n" + .'> '."\n" + .'> - If ParamType is set to normal, enter the plaintext value.'."\n" + .'> - If ParamType is set to md5, enter the first 6 digits of the ID card number in plaintext + the MD5-encrypted date of birth (32-bit lowercase MD5) + the last 4 digits of the ID card number.', 'type' => 'string', 'required' => false, 'example' => '4****************1', 'title' => ''], + ], + [ + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => 'The name.'."\n" + .'> '."\n" + .'> - If ParamType is set to normal, enter the plaintext value.'."\n" + .'> - If ParamType is set to md5, enter the MD5-encrypted first character of the name (32-bit lowercase MD5) + the remaining characters of the name in plaintext.', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], + ], + [ + 'name' => 'VehicleNum', + 'in' => 'query', + 'schema' => ['description' => 'The license plate number.'."\n" + ."\n" + .'> '."\n" + .'> - If ParamType is set to normal, enter the plaintext value.'."\n" + .'> - If ParamType is set to md5, enter the license plate number excluding the last two characters in plaintext + the MD5-encrypted last two characters (32-bit lowercase MD5).', 'type' => 'string', 'required' => false, 'example' => '陕A9****', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '5A6229C0-E156-48E4-B6EC-0F528B******'], + 'Code' => ['description' => 'The return code. **200** indicates that the request was successful.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result information.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'UserStatus' => [ - 'description' => 'User activation status, **SUCCESS** indicates activated.', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'BucketName' => [ - 'description' => 'Bucket name.', - 'type' => 'string', - 'example' => 'cn-hangzhou-aliyun-cloudauth-20250516xxxxxx', - ], - 'Region' => [ - 'description' => 'Region.', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- **1**: Consistent.'."\n" + .'- **2**: Inconsistent.'."\n" + .'- **3**: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'VehicleInfo' => ['description' => 'The vehicle details.', 'type' => 'string', 'example' => '{'."\n" + .' "approvedCount": "7",'."\n" + .' "approvedLoad": "0",'."\n" + .' "axleCount": "2",'."\n" + .' "backWheelDistance": "1585",'."\n" + .' "brand": "雷克萨斯",'."\n" + .' "displacement": "4608",'."\n" + .' "engineNum": "1*********",'."\n" + .' "engineType": "1**",'."\n" + .' "frontWheelDistance": "1585",'."\n" + .' "fuelType": "汽油",'."\n" + .' "inspectionDate": "****-**-** **:**:**",'."\n" + .' "modelNum": "UR*****-******",'."\n" + .' "power": "228",'."\n" + .' "registrationDate": "****-**-** **:**:**",'."\n" + .' "retirementDate": "****-**-** **:**:**",'."\n" + .' "totalMass": "2940",'."\n" + .' "unladenMass": "2350",'."\n" + .' "useProperty": "非营运",'."\n" + .' "vehicleState": "正常",'."\n" + .' "vin": "JT***************",'."\n" + .' "wheelBase": "2790"'."\n" + .'}', 'title' => ''], ], - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => '200', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP status code.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Whether the response was successful.', - 'type' => 'boolean', - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"ResultObject\\": {\\n \\"UserStatus\\": \\"SUCCESS\\",\\n \\"BucketName\\": \\"cn-hangzhou-aliyun-cloudauth-20250516xxxxxx\\",\\n \\"Region\\": \\"cn-hangzhou\\"\\n },\\n \\"Code\\": \\"200\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"success\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'Query User OSS Status V2', - 'description' => '- Request Method: Supports sending requests via HTTPS POST and GET methods.'."\n" - .'- Service Address: cloudauth.aliyuncs.com.'."\n", - 'translator' => 'machine', - ], - 'DescribeAuthVerify' => [ - 'summary' => '获取结果', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5A6229C0-E156-48E4-B6EC-0F528B******\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n\\\\t\\\\\\"approvedCount\\\\\\": \\\\\\"7\\\\\\",\\\\n\\\\t\\\\\\"approvedLoad\\\\\\": \\\\\\"0\\\\\\",\\\\n\\\\t\\\\\\"axleCount\\\\\\": \\\\\\"2\\\\\\",\\\\n\\\\t\\\\\\"backWheelDistance\\\\\\": \\\\\\"1585\\\\\\",\\\\n\\\\t\\\\\\"brand\\\\\\": \\\\\\"雷克萨斯\\\\\\",\\\\n\\\\t\\\\\\"displacement\\\\\\": \\\\\\"4608\\\\\\",\\\\n\\\\t\\\\\\"engineNum\\\\\\": \\\\\\"1*********\\\\\\",\\\\n\\\\t\\\\\\"engineType\\\\\\": \\\\\\"1**\\\\\\",\\\\n\\\\t\\\\\\"frontWheelDistance\\\\\\": \\\\\\"1585\\\\\\",\\\\n\\\\t\\\\\\"fuelType\\\\\\": \\\\\\"汽油\\\\\\",\\\\n\\\\t\\\\\\"inspectionDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"modelNum\\\\\\": \\\\\\"UR*****-******\\\\\\",\\\\n\\\\t\\\\\\"power\\\\\\": \\\\\\"228\\\\\\",\\\\n\\\\t\\\\\\"registrationDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"retirementDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"totalMass\\\\\\": \\\\\\"2940\\\\\\",\\\\n\\\\t\\\\\\"unladenMass\\\\\\": \\\\\\"2350\\\\\\",\\\\n\\\\t\\\\\\"useProperty\\\\\\": \\\\\\"非营运\\\\\\",\\\\n\\\\t\\\\\\"vehicleState\\\\\\": \\\\\\"正常\\\\\\",\\\\n\\\\t\\\\\\"vin\\\\\\": \\\\\\"JT***************\\\\\\",\\\\n\\\\t\\\\\\"wheelBase\\\\\\": \\\\\\"2790\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', + 'title' => 'Vehicle element verification (enhanced edition)', + 'description' => 'Verifies the consistency of the name, ID card number, license plate number, and vehicle type, and supports returning vehicle details.', + 'requestParamsDescription' => 'ParamType, VerifyMetaType, UserName, and VehicleNum are required parameters.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleMetaVerifyV2'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleMetaVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'VehicleQuery' => [ + 'summary' => 'Identifies vehicle information.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -16908,103 +12317,134 @@ 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCW0JNH', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '232984', + 'abilityTreeNodes' => ['FEATUREcloudauthA9Y5H0'], ], 'parameters' => [ [ - 'name' => 'SceneId', - 'in' => 'formData', + 'name' => 'ParamType', + 'in' => 'query', 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => ' '."\n" - .'100000****', + 'description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- **normal**: not encrypted.'."\n" + .'- **md5**: MD5-encrypted.', + 'enumValueTitles' => ['normal' => 'Not encrypted.', 'md5' => 'MD5-encrypted.'], + 'type' => 'string', + 'required' => false, + 'example' => 'normal', + 'title' => '', ], ], [ - 'name' => 'CertifyId', - 'in' => 'formData', + 'name' => 'VehicleType', + 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The vehicle type.', + 'enumValueTitles' => [52 => 'New energy passenger vehicle.', '02' => 'Standard passenger vehicle.'], 'type' => 'string', - 'required' => true, - 'example' => 'shsf57a4e0d9981c3bd66dc754f3d3cd', + 'required' => false, + 'example' => '02', + 'title' => '', ], ], + [ + 'name' => 'VehicleNum', + 'in' => 'query', + 'schema' => ['description' => 'The license plate number.'."\n" + ."\n" + .'> '."\n" + .'> - If ParamType is set to normal, enter the plaintext license plate number.'."\n" + .'> - If ParamType is set to md5, enter the plaintext of the license plate number excluding the last two characters, concatenated with the MD5-encrypted value of the last two characters (32-bit lowercase MD5).', 'type' => 'string', 'required' => false, 'example' => '陕A9****'."\n", 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Result' => [ - 'description' => '', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'D6163397-15C5-419C-9ACC-B7C83*******'], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The return code. A value of 200 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The request result.', 'type' => 'object', 'properties' => [ - 'SubCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'MaterialInfo' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'SpoofInfo' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'spoofRiskResult:Y'."\n" - .'spoofType:SCREEN_REMARK', - ], - 'SpoofBackInfo' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'spoofRiskResult:Y'."\n" - .'spoofType:SCREEN_REMARK', - ], + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + ."\n" + .'> '."\n" + .'> - 1: match found (billable).'."\n" + .'> - 3: no record found (not billable).', 'type' => 'string', 'example' => '1', 'title' => ''], + 'VehicleInfo' => ['description' => 'The vehicle information.', 'type' => 'string', 'example' => '{'."\n" + .' "approvedCount": 7,'."\n" + .' "approvedLoad": 0,'."\n" + .' "axleCount": 2,'."\n" + .' "backWheelDistance": 1585,'."\n" + .' "brand": "雷克萨斯",'."\n" + .' "compulsoryScrapTo": "****-**-** **:**:**",'."\n" + .' "displacement": 4608,'."\n" + .' "engineNo": "1UR0******",'."\n" + .' "engineType": "1**",'."\n" + .' "frontWheelDistance": 1585,'."\n" + .' "fuelType": "汽油",'."\n" + .' "high": 1860,'."\n" + .' "inspectionResultEffectiveTo": "****-**-** **:**:**",'."\n" + .' "modelNo": "UR*****-******",'."\n" + .' "power": 228,'."\n" + .' "registrationDate": "****-**-** **:**:**",'."\n" + .' "releaseDate": "",'."\n" + .' "state": "0",'."\n" + .' "stateDesc": "正常",'."\n" + .' "totalMass": 2940,'."\n" + .' "unladenMass": 2350,'."\n" + .' "useProperty": 0,'."\n" + .' "usePropertyDesc": "非营运",'."\n" + .' "long": 4890,'."\n" + .' "vin": "A***********",'."\n" + .' "wheelBase": 2790,'."\n" + .' "wide": 1910'."\n" + .'}'."\n", 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Result\\": {\\n \\"SubCode\\": \\"200\\",\\n \\"MaterialInfo\\": \\"\\\\\\"ocrIdCardInfo\\\\\\": {\\\\n \\\\\\"certName\\\\\\": \\\\\\"张先生\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"男\\\\\\",\\\\n \\\\\\"nationality\\\\\\": \\\\\\"汉\\\\\\",\\\\n \\\\\\"birth\\\\\\": \\\\\\"20010213\\\\\\",\\\\n \\\\\\"address\\\\\\": \\\\\\"XXX省XX市XXX区XX街道X号\\\\\\",\\\\n \\\\\\"certNo\\\\\\": \\\\\\"4****************X\\\\\\",\\\\n \\\\\\"authority\\\\\\": \\\\\\"XXX公安局XXX分局\\\\\\",\\\\n \\\\\\"startDate\\\\\\": \\\\\\"20250523\\\\\\",\\\\n \\\\\\"endDate\\\\\\": \\\\\\"20450523\\\\\\"\\\\n },\\\\n\\\\\\"ocrIdEditInfo\\\\\\": {\\\\n \\\\\\"certName\\\\\\": \\\\\\"张先生\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"男\\\\\\",\\\\n \\\\\\"nationality\\\\\\": \\\\\\"汉\\\\\\",\\\\n \\\\\\"birth\\\\\\": \\\\\\"20010213\\\\\\",\\\\n \\\\\\"address\\\\\\": \\\\\\"XXX省XX市XXX区XX街道X号\\\\\\",\\\\n \\\\\\"certNo\\\\\\": \\\\\\"4****************X\\\\\\",\\\\n \\\\\\"authority\\\\\\": \\\\\\"XXX公安局XXX分局\\\\\\",\\\\n \\\\\\"startDate\\\\\\": \\\\\\"20250523\\\\\\",\\\\n \\\\\\"endDate\\\\\\": \\\\\\"20450523\\\\\\"\\\\n },\\\\n \\\\\\"ocrPictureFront\\\\\\": {\\\\n \\\\\\"ossBucketName\\\\\\": \\\\\\"cn-shanghai-aliyun-cloudauth-12********\\\\\\",\\\\n \\\\\\"ossIdFaceObjectName\\\\\\": \\\\\\"verify/1234567890/f7ed1ef80ad1234fdsd95c********cd_ocridface_b749.jpeg\\\\\\",\\\\n \\\\\\"ossIdFaceUrl\\\\\\": \\\\\\"http://cn-shanghai-aliyun-cloudauth-1234567890.oss-cn-shanghai.aliyuncs.com/verify/1234567890/f7ed1ef80ad1234fdsd95c66d83340cd_ocridface_b749.jpeg?security-token=CAISjdfgeJ1q6F...\\\\\\",\\\\n \\\\\\"ossIdNationalEmblemObjectName\\\\\\": \\\\\\"verify/1234567890/f7ed1ef80ad1234fdsd95c********cd_ocridnationalemblem_a3hf.jpeg\\\\\\",\\\\n \\\\\\"ossIdNationalEmblemUrl\\\\\\": \\\\\\"http://cn-shanghai-aliyun-cloudauth-1234567890.oss-cn-shanghai.aliyuncs.com/verify/1234567890/f7ed1ef80ad1234fdsd95c66d83340cd_ocridnationalemblem_a3hf.jpeg?security-token=CAISjgJ1q6...\\\\\\"\\\\n }\\",\\n \\"SpoofInfo\\": \\"spoofRiskResult:Y\\\\nspoofType:SCREEN_REMARK\\",\\n \\"SpoofBackInfo\\": \\"spoofRiskResult:Y\\\\nspoofType:SCREEN_REMARK\\"\\n }\\n}","type":"json"}]', - ], - 'InitAuthVerify' => [ - 'summary' => '服务端初始化', - 'path' => '', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D6163397-15C5-419C-9ACC-B7C83*******\\",\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"VehicleInfo\\": \\"{\\\\n\\\\t\\\\\\"approvedCount\\\\\\": 7,\\\\n\\\\t\\\\\\"approvedLoad\\\\\\": 0,\\\\n\\\\t\\\\\\"axleCount\\\\\\": 2,\\\\n\\\\t\\\\\\"backWheelDistance\\\\\\": 1585,\\\\n\\\\t\\\\\\"brand\\\\\\": \\\\\\"雷克萨斯\\\\\\",\\\\n\\\\t\\\\\\"compulsoryScrapTo\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"displacement\\\\\\": 4608,\\\\n\\\\t\\\\\\"engineNo\\\\\\": \\\\\\"1UR0******\\\\\\",\\\\n\\\\t\\\\\\"engineType\\\\\\": \\\\\\"1**\\\\\\",\\\\n\\\\t\\\\\\"frontWheelDistance\\\\\\": 1585,\\\\n\\\\t\\\\\\"fuelType\\\\\\": \\\\\\"汽油\\\\\\",\\\\n\\\\t\\\\\\"high\\\\\\": 1860,\\\\n\\\\t\\\\\\"inspectionResultEffectiveTo\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"modelNo\\\\\\": \\\\\\"UR*****-******\\\\\\",\\\\n\\\\t\\\\\\"power\\\\\\": 228,\\\\n\\\\t\\\\\\"registrationDate\\\\\\": \\\\\\"****-**-** **:**:**\\\\\\",\\\\n\\\\t\\\\\\"releaseDate\\\\\\": \\\\\\"\\\\\\",\\\\n\\\\t\\\\\\"state\\\\\\": \\\\\\"0\\\\\\",\\\\n\\\\t\\\\\\"stateDesc\\\\\\": \\\\\\"正常\\\\\\",\\\\n\\\\t\\\\\\"totalMass\\\\\\": 2940,\\\\n\\\\t\\\\\\"unladenMass\\\\\\": 2350,\\\\n\\\\t\\\\\\"useProperty\\\\\\": 0,\\\\n\\\\t\\\\\\"usePropertyDesc\\\\\\": \\\\\\"非营运\\\\\\",\\\\n\\\\t\\\\\\"long\\\\\\": 4890,\\\\n\\\\t\\\\\\"vin\\\\\\": \\\\\\"A***********\\\\\\",\\\\n\\\\t\\\\\\"wheelBase\\\\\\": 2790,\\\\n\\\\t\\\\\\"wide\\\\\\": 1910\\\\n}\\\\n\\"\\n }\\n}","type":"json"}]', + 'title' => 'Identify vehicle information', + 'description' => 'Queries detailed vehicle information by license plate number and vehicle type.', + 'requestParamsDescription' => 'ParamType and VehicleNum are required fields.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleQuery'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'VerifyMaterial' => [ + 'summary' => 'Submits a name, ID card number, facial photo, and optional front and back photos of the ID card for ID Verification, and synchronously returns the result.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17015,262 +12455,1913 @@ 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCW0JNH', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '59176', + 'abilityTreeNodes' => ['FEATUREcloudauthHOSIED'], ], 'parameters' => [ [ - 'name' => 'SceneId', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1000002996', - ], - ], - [ - 'name' => 'OuterOrderNo', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', - ], - ], - [ - 'name' => 'ProductCode', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'ID_OCR', - ], + 'name' => 'IdCardBackImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP or HTTPS URL of the national emblem side of the ID card.', 'type' => 'string', 'required' => false, 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg', 'title' => ''], ], [ - 'name' => 'MetaInfo', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '{'."\n" - .' "zimVer": "3.0.0",'."\n" - .' "appVersion": "1",'."\n" - .' "bioMetaInfo": "4.1.0:1150****,0",'."\n" - .' "appName": "com.aliyun.antcloudauth",'."\n" - .' "deviceType": "ios",'."\n" - .' "osVersion": "iOS 10.3.2",'."\n" - .' "apdidToken": "",'."\n" - .' "deviceModel": "iPhone9,1"'."\n" - .'}', - ], + 'name' => 'FaceImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP or HTTPS URL of the front-facing facial photo.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg', 'title' => ''], ], [ - 'name' => 'CardType', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'IDENTITY_CARD', - ], + 'name' => 'BizType', + 'in' => 'query', + 'schema' => ['description' => 'The business scenario identifier for the ID Verification service. Create one in the console first. For more information, see [Business settings](~~127885~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'RPMinTest', 'title' => ''], ], [ - 'name' => 'IdSpoof', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'name' => 'BizId', + 'in' => 'query', + 'schema' => ['description' => 'The unique ID that identifies a verification task. The value can be up to 64 characters in length. For a single verification task, the system supports unlimited submissions until the verification is passed and the task is completed.'."\n" + ."\n" + .'> Use a different BizId for each new verification task.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '39ecf51e-2f81-4dc5-90ee-ff86125b****', 'title' => ''], ], [ - 'name' => 'CallbackUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com?callbackToken=100000****&certifyId=shaxxxx&subCode=200', - ], + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '张三', 'title' => ''], ], [ - 'name' => 'CallbackToken', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'NMjvQanQgplBSaEI0sL86WnQplB', - ], + 'name' => 'IdCardNumber', + 'in' => 'query', + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '02343218901123****', 'title' => ''], ], [ - 'name' => 'CardPageNumber', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 'name' => 'IdCardFrontImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP or HTTPS URL of the portrait side of the ID card.', 'type' => 'string', 'required' => false, 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg', 'title' => ''], ], [ - 'name' => 'DocScanMode', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'shoot', - ], + 'name' => 'UserId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the end user, such as the account ID of the end user.', 'type' => 'string', 'required' => false, 'example' => '54sdj', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'B506328A-D84B-4750-82C7-6A207C585CF1', - ], - 'Result' => [ - 'description' => '', + 'AuthorityComparisionScore' => ['description' => 'The comparison score between the facial photo submitted during verification and the authoritative data. Value range: **0** to **100**.'."\n" + ."\n" + .'Confidence thresholds for reference:'."\n" + .'- At a false acceptance rate of 0.001%, the corresponding threshold is 95.'."\n" + .'- At a false acceptance rate of 0.01%, the corresponding threshold is 90.'."\n" + .'- At a false acceptance rate of 0.1%, the corresponding threshold is 80.'."\n" + .'- At a false acceptance rate of 1%, the corresponding threshold is 60.'."\n" + ."\n" + .'> This field only represents the comparison result between the face and the authoritative data and serves as a reference score. We do not recommend using this score alone as the pass/fail criterion. For the comprehensive verification result, refer to the **VerifyStatus** field. The **VerifyStatus** result combines the face-to-authoritative-data comparison with multiple other strategies to improve the security level.', 'type' => 'number', 'format' => 'float', 'example' => '97', 'title' => ''], + 'VerifyStatus' => ['description' => 'The verification status. Valid values:'."\n" + ."\n" + .'- **1**: Verification passed.'."\n" + .'- **2** to **n**: Verification failed due to various reasons. For detailed descriptions, see **Verification status description** below.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'VerifyToken' => ['description' => 'The token for this verification, used to correlate the various operations within a verification request. The token is valid for 30 minutes.', 'type' => 'string', 'example' => 'c302c0797679457685410ee51a5ba375', 'title' => ''], + 'IdCardFaceComparisonScore' => ['description' => 'The comparison score between the facial photo submitted during verification and the face on the portrait side of the ID card. Value range: **0** to **100**.'."\n" + ."\n" + .'Confidence thresholds for reference:'."\n" + .'- At a false acceptance rate of 0.001%, the corresponding threshold is 95.'."\n" + .'- At a false acceptance rate of 0.01%, the corresponding threshold is 90.'."\n" + .'- At a false acceptance rate of 0.1%, the corresponding threshold is 80.'."\n" + .'- At a false acceptance rate of 1%, the corresponding threshold is 60.', 'type' => 'number', 'format' => 'float', 'example' => '97', 'title' => ''], + 'Material' => [ + 'description' => 'The verification materials.', 'type' => 'object', 'properties' => [ - 'CertifyId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'shif9d1a185b8dde7cd07bf0943a448b', + 'IdCardNumber' => ['description' => 'The ID card number, corresponding to the request parameter **IdCardNumber**.', 'type' => 'string', 'example' => '02343218901123****', 'title' => ''], + 'FaceGlobalUrl' => ['description' => 'The global camera image captured by the ID Verification SDK.'."\n" + ."\n" + .'> This parameter takes effect only after configuration. If you need to use this parameter, [submit a ticket](https://selfservice.console.aliyun.com/ticket/category/cloudauth/today) to contact us.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg ', 'title' => ''], + 'FaceImageUrl' => ['description' => 'The HTTP or HTTPS URL of the front-facing facial photo, corresponding to the request parameter **FaceImageUrl**. The URL is valid for 5 minutes. Save the image to your own storage to avoid access issues.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg', 'title' => ''], + 'FaceMask' => ['description' => 'Indicates whether the face is wearing a mask. Valid values:'."\n" + .'- **true**: A mask is detected.'."\n" + .'- **false**: No mask is detected.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'IdCardName' => ['description' => 'The name, corresponding to the request parameter **Name**.', 'type' => 'string', 'example' => '张三', 'title' => ''], + 'FaceQuality' => ['description' => 'The quality of the front-facing facial photo. Valid values:'."\n" + .'- **UNQUALIFIED**: poor quality'."\n" + .'- **LOW**: low quality'."\n" + .'- **NORMAL**: moderate quality'."\n" + .'- **HIGH**: high quality.', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'IdCardInfo' => [ + 'description' => 'The OCR result of the ID card information.'."\n" + ."\n" + .'> If the front and back photos of the ID card are not provided during verification, the OCR result of the ID card information is not returned. Even if both photos are provided, not all information on the ID card is guaranteed to be returned. OCR may fail to recognize certain information due to issues such as poor photo quality. We recommend that your business logic does not strictly depend on the ID card OCR information.', + 'type' => 'object', + 'properties' => [ + 'EndDate' => ['description' => 'The expiration date of the ID card. Format: yyyymmdd.', 'type' => 'string', 'example' => '20201101', 'title' => ''], + 'Authority' => ['description' => 'The issuing authority.', 'type' => 'string', 'example' => '杭州市公安局', 'title' => ''], + 'Address' => ['description' => 'The address.', 'type' => 'string', 'example' => '浙江省杭州市余杭区文一西路969号', 'title' => ''], + 'Number' => ['description' => 'The ID card number.', 'type' => 'string', 'example' => '02343218901123****', 'title' => ''], + 'StartDate' => ['description' => 'The start date of the ID card validity period. Format: yyyymmdd.', 'type' => 'string', 'example' => '20201101', 'title' => ''], + 'BackImageUrl' => ['description' => 'The HTTP or HTTPS URL of the national emblem side of the ID card. The URL is valid for 5 minutes. Save the image to your own storage to avoid access issues.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg', 'title' => ''], + 'Nationality' => ['description' => 'The ethnicity.', 'type' => 'string', 'example' => '汉', 'title' => ''], + 'Birth' => ['description' => 'The date of birth.', 'type' => 'string', 'example' => '19900101', 'title' => ''], + 'Name' => ['description' => 'The name.', 'type' => 'string', 'example' => '张三', 'title' => ''], + 'FrontImageUrl' => ['description' => 'The HTTP or HTTPS URL of the portrait side of the ID card. The URL is valid for 5 minutes. Save the image to your own storage to avoid access issues.', 'type' => 'string', 'example' => 'http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.MaterialsNotValid', 'errorMessage' => 'The param materials is not valid.', 'description' => ''], + ], + [ + ['errorCode' => 'Error.InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AuthorityComparisionScore\\": 97,\\n \\"VerifyStatus\\": 1,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"VerifyToken\\": \\"c302c0797679457685410ee51a5ba375\\",\\n \\"IdCardFaceComparisonScore\\": 97,\\n \\"Material\\": {\\n \\"IdCardNumber\\": \\"02343218901123****\\",\\n \\"FaceGlobalUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/face-global-example.jpg \\",\\n \\"FaceImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg\\",\\n \\"FaceMask\\": \\"false\\",\\n \\"IdCardName\\": \\"张三\\",\\n \\"FaceQuality\\": \\"NORMAL\\",\\n \\"IdCardInfo\\": {\\n \\"EndDate\\": \\"20201101\\",\\n \\"Authority\\": \\"杭州市公安局\\",\\n \\"Address\\": \\"浙江省杭州市余杭区文一西路969号\\",\\n \\"Number\\": \\"02343218901123****\\",\\n \\"StartDate\\": \\"20201101\\",\\n \\"BackImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example3.jpg\\",\\n \\"Nationality\\": \\"汉\\",\\n \\"Birth\\": \\"19900101\\",\\n \\"Name\\": \\"张三\\",\\n \\"FrontImageUrl\\": \\"http://image-demo.img-cn-hangzhou.aliyuncs.com/example2.jpg\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Server-side only API for ID verification', + 'description' => 'Before you begin: Before calling this API, ensure that you have completed the required preparations. For more information, see [Server-side integration preparations](~~127471~~).'."\n" + ."\n" + .'Request method: HTTPS POST and GET.'."\n" + ."\n" + .'Operation description: The caller\'s server submits verification materials to the ID Verification service for comparison and validation. The result is returned synchronously.'."\n" + ."\n" + .'Applicable scope: This operation is applicable only to server-side-only verification solutions.'."\n" + ."\n" + .'Image URL description:'."\n" + ."\n" + .'- HTTP or HTTPS URL: Publicly accessible HTTP or HTTPS URLs are supported. For example, `http://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg`.'."\n" + .'- OSS URL: If the caller\'s images are local files, Alibaba Cloud provides an upload SDK that allows you to upload images to the OSS bucket designated by the ID Verification service and obtain the corresponding OSS URL to use as the image URL parameter. If your business requires the upload SDK, [submit a ticket](https://selfservice.console.aliyun.com/ticket/category/cloudauth/today) to contact us.'."\n" + ."\n" + .'Image restrictions:'."\n" + ."\n" + .'- Relative paths or absolute paths of local images are not supported.'."\n" + .'- Keep each image within 2 MB to avoid algorithm fetch timeouts.'."\n" + .'- The face area in the image must be at least 64 × 64 pixels.'."\n" + .'- The request body has an 8 MB size limit. Ensure that the total size of all images and other information in the request does not exceed this limit.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => '**Verification status description**.'."\n" + ."\n" + .'|VerifyStatus|Description |'."\n" + .'|--------------|--------------------------------------------------------------------------------------------------------------------------------------|'."\n" + .'| 1 | Verification passed. |'."\n" + .'| 2 | Verification failed. Reason: Real-name verification failed. |'."\n" + .'| 3 | Verification failed. Possible reasons: The ID card photo is blurry, lighting issues prevent character recognition, the information on the ID card photo does not match the name to be verified, or the submitted photo is not an ID card photo. |'."\n" + .'| 4 | Verification failed. Possible reasons: The ID card photo is blurry, lighting issues prevent character recognition, the information on the ID card photo does not match the ID card number to be verified, or the submitted photo is not an ID card photo. |'."\n" + .'| 5 | Verification failed. Possible reason: The ID card in the photo has expired or is about to expire. |'."\n" + .'| 6 | Verification failed. Possible reason: The face does not match the photo on the ID card. |'."\n" + .'| 7 | Verification failed. Possible reason: The face does not match the photo in the public security database. |'."\n" + .'| 8 | Verification failed. Possible reasons: The submitted ID card photo is not an original ID card photo, or no valid ID card photo was submitted. |'."\n" + .'| 9 | Verification failed. Possible reason: The operation was not performed by the account holder. |'."\n" + .'| 11| Verification failed. Possible reasons: The photo in the public security database is missing, the photo format is invalid, or no face was detected in the photo. |'."\n" + .'| 12 | Verification failed. Possible reasons: The public security database system is abnormal, and photo comparison cannot be performed. |.', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyMaterial'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VerifyMaterial', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B506328A-D84B-4750-82C7-6A207C585CF1\\",\\n \\"Result\\": {\\n \\"CertifyId\\": \\"shif9d1a185b8dde7cd07bf0943a448b\\"\\n }\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.cn-beijing.aliyuncs.com', 'endpoint' => 'cloudauth.cn-beijing.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.cn-qingdao.aliyuncs.com', 'endpoint' => 'cloudauth.cn-qingdao.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => '10001', 'message' => 'The current operation is not authorized, please contact the main account to authorize the operation on the RAM console.', 'http_code' => 403, 'description' => ''], + ['code' => '400', 'message' => 'BizType already exist.', 'http_code' => 400, 'description' => ''], + ['code' => '404', 'message' => 'ID_NOT_EXISTS', 'http_code' => 404, 'description' => ''], + ['code' => '409', 'message' => 'The scene name already exists', 'http_code' => 400, 'description' => ''], + ['code' => '500', 'message' => 'system error', 'http_code' => 500, 'description' => ''], + ['code' => '700', 'message' => 'Please complete OSS activation and authorization before enabling photo storage.', 'http_code' => 400, 'description' => ''], + ['code' => '701', 'message' => 'Please continue to complete the OSS authorization operation before enabling photo storage.', 'http_code' => 400, 'description' => ''], + ['code' => 'Abnormal.Repeated.Call', 'message' => 'Exceptionally repeated calls.', 'http_code' => 200, 'description' => 'Exceptionally repeated calls'], + ['code' => 'CertifyId.Invalid', 'message' => 'invalid certifyId.', 'http_code' => 200, 'description' => 'invalid certifyId'], + ['code' => 'ConsoleSystemError_1001', 'message' => 'There was an error with your request, please try again later.', 'http_code' => 500, 'description' => ''], + ['code' => 'ConsoleSystemError_1009', 'message' => 'console system error', 'http_code' => 500, 'description' => ''], + ['code' => 'Data.Duplication', 'message' => 'Data duplication.', 'http_code' => 200, 'description' => 'Data duplication'], + ['code' => 'DataExpired', 'message' => 'The data has expired and the records have been deleted.', 'http_code' => 410, 'description' => ''], + ['code' => 'DATA_EXPIRED', 'message' => 'The data has expired.', 'http_code' => 200, 'description' => 'Data expiration'], + ['code' => 'DownloadTimedOut', 'message' => 'Downloading resource timed out.', 'http_code' => 422, 'description' => ''], + ['code' => 'InDebt', 'message' => 'You have an outstanding payment. Please add funds first and try again.', 'http_code' => 200, 'description' => 'There is a arrears in the real person authentication, please recharge before operating.'], + ['code' => 'InnerNoSupported', 'message' => 'Login-free operation is not supported.', 'http_code' => 403, 'description' => ''], + ['code' => 'Invalid.Input.Image', 'message' => 'Incoming picture not available.', 'http_code' => 200, 'description' => 'Incoming picture not available'], + ['code' => 'InvalidAction.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidApi.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidParam.ImageValuePatternError', 'message' => 'The image address format is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.MaterialsEmpty', 'message' => 'The materials list is empty.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter is invalid.', 'http_code' => 200, 'description' => ''], + ['code' => 'InvalidParameter.Format', 'message' => 'Specified parameter format is not valid.', 'http_code' => 400, 'description' => 'Invalid parameter'], + ['code' => 'InvalidSecurityToken.Expired', 'message' => 'Specified SecurityToken is expired.', 'http_code' => 400, 'description' => ''], + ['code' => 'INVALID_PARAMETER', 'message' => 'The request parameters are invalid.', 'http_code' => 200, 'description' => ''], + ['code' => 'MissingIds', 'message' => 'Ids is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'Bad request. The parameter is missing.', 'http_code' => 200, 'description' => 'Bad request missing parameter'], + ['code' => 'MissingProcessType', 'message' => 'MissingProcessType', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingSolution', 'message' => 'Solution is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingStartDate', 'message' => 'StartDate is mandatory for this action', 'http_code' => 400, 'description' => ''], + ['code' => 'NoFaceDetected', 'message' => 'No face is detected in either the image or the video.', 'http_code' => 435, 'description' => ''], + ['code' => 'NoPermission', 'message' => 'This RAM user has no permissions to access API.', 'http_code' => 403, 'description' => ''], + ['code' => 'NoSubscribeService', 'message' => 'OSS is not activated or you have not granted OSS the read write permission.', 'http_code' => 410, 'description' => ''], + ['code' => 'Not.Open.Service', 'message' => 'Service not opened.', 'http_code' => 200, 'description' => 'Service not opened'], + ['code' => 'ParameterIsNull', 'message' => 'The parameter must not be empty.', 'http_code' => 400, 'description' => ''], + ['code' => 'PARAMETER_FORMAT_ERROR', 'message' => 'The parameter format is wrong.', 'http_code' => 200, 'description' => 'Format check error'], + ['code' => 'Ram.No.Permission', 'message' => 'RAM has no permissions.', 'http_code' => 200, 'description' => 'RAM has no permissions'], + ['code' => 'ResourcesTooLarge', 'message' => 'The size of the incoming resources are too large.', 'http_code' => 421, 'description' => ''], + ['code' => 'ServerError', 'message' => 'server error.', 'http_code' => 500, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 503, 'description' => ''], + ['code' => 'STATUS_ERROR', 'message' => 'Status Error.', 'http_code' => 200, 'description' => 'Status Error'], + ['code' => 'SystemError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'Throttling.User', 'message' => 'Request was denied due to user flow control.', 'http_code' => 400, 'description' => ''], + ], + 'changeSet' => [ [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateAntCloudAuthScene'], + ['description' => 'Response parameters changed', 'api' => 'DescribeListAntCloudAuthScenes'], + ['description' => 'Request parameters changed', 'api' => 'UpdateAntCloudAuthScene'], + ], + 'createdAt' => '2025-12-12T06:45:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2025-11-07T06:25:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateAntCloudAuthScene'], + ['description' => 'Response parameters changed', 'api' => 'DescribeListAntCloudAuthScenes'], + ], + 'createdAt' => '2025-10-17T08:49:11.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2025-01-16T08:31:33.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'Id2MetaVerify'], + ['description' => 'Request parameters changed', 'api' => 'Mobile3MetaDetailVerify'], + ['description' => 'Request parameters changed', 'api' => 'Mobile3MetaSimpleVerify'], + ['description' => 'Request parameters changed', 'api' => 'MobileDetect'], + ['description' => 'Request parameters changed', 'api' => 'MobileOnlineStatus'], + ['description' => 'Request parameters changed', 'api' => 'MobileOnlineTime'], + ], + 'createdAt' => '2024-11-20T08:39:58.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeFaceGuardRisk'], + ], + 'createdAt' => '2024-11-19T08:52:53.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'CredentialVerify'], + ], + 'createdAt' => '2024-10-09T07:44:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CredentialVerify'], + ], + 'createdAt' => '2024-09-18T10:55:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'BankMetaVerify'], + ], + 'createdAt' => '2024-09-04T07:33:03.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2024-08-12T03:45:28.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2024-07-22T14:25:15.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2024-07-02T08:41:20.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'cloudauth.cn-beijing.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2024-06-13T08:31:21.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CompareFaceVerify'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CredentialVerify'], + ], + 'createdAt' => '2024-05-30T09:21:12.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeVerifySDK'], + ], + 'createdAt' => '2024-04-24T01:45:52.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'ModifyDeviceInfo'], + ], + 'createdAt' => '2024-04-23T07:36:17.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'cloudauth.cn-qingdao.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeDeviceInfo'], + ['description' => 'Error codes changed', 'api' => 'DescribeOssUploadToken'], + ['description' => 'Error codes changed', 'api' => 'DescribeSmartStatisticsPageList'], + ], + 'createdAt' => '2024-04-22T02:38:28.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateAuthKey'], + ['description' => 'Error codes changed', 'api' => 'CreateVerifySetting'], + ], + 'createdAt' => '2024-04-16T02:19:18.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'AIGCFaceVerify'], + ], + 'createdAt' => '2024-03-13T02:12:49.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeFaceVerify'], + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2024-01-18T14:10:13.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2023-11-07T14:47:22.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2023-07-31T07:45:57.000Z', + 'description' => '', ], [ - 'regionId' => 'me-east-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2023-07-28T03:22:01.000Z', + 'description' => '', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeFaceVerify'], + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2023-07-20T08:27:04.000Z', + 'description' => '', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeFaceVerify'], + ], + 'createdAt' => '2023-07-13T10:31:50.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2023-04-27T01:37:21.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2023-03-31T06:44:05.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2022-11-02T03:14:11.000Z', + 'description' => 'update', ], [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ], + 'createdAt' => '2022-02-23T09:22:27.000Z', + 'description' => '新增AuthId入参', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'CompareFaceVerify'], + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'ContrastFaceVerify'], + ['description' => 'Request parameters changed', 'api' => 'InitFaceVerify'], + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'LivenessFaceVerify'], + ], + 'createdAt' => '2021-09-08T10:49:45.000Z', + 'description' => '可选择对传入的人脸图片进行裁剪', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMetaSearchPageList'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasProvinceStatistics'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyFailStatistics'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialProductVerifyV2'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyToken'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeListFaceVerifyInfos'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitCardVerify'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveWhiteListSetting'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleQuery'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaDetailStandardVerify'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Vehicle5ItemQuery'], + ['threshold' => '3000', 'countWindow' => 86400, 'regionId' => '*', 'api' => 'DownloadVerifyRecords'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCustomizeFlowStrategyList'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAuthKey'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMetaStatisticsList'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaVerifyWithOCR'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaSimpleStandardVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeWhitelistSetting'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCardVerify'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAntAndCloudAuthUserStatus'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LivenessFaceVerify'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyControlStrategy'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteFaceVerifyResult'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDeviceInfo'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaPeriodVerify'], + ['threshold' => '600', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFaceGuardRisk'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompareFaceVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCloudauthstScene'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteBlackListStrategy'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifySDK'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDeviceInfo'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeOssUploadToken'], + ['threshold' => '25', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetectFaceAttributes'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasSexStatistics'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInfoCheckExportRecord'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePageSetting'], + ['threshold' => '3000', 'countWindow' => 86400, 'regionId' => '*', 'api' => 'QueryVerifyFlowPackage'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteWhitelistSetting'], + ['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AIGCFaceVerify'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeOssStatusV2'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyResult'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id3MetaVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAuthVerify'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteControlStrategy'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MobileDetect'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSceneConfig'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCustomizeFlowStrategy'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSceneConfig'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleMetaVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProductCode'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePageFaceVerifyData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAntCloudAuthScene'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyMaterial'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MobileOnlineStatus'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAntCloudAuthScene'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifySearchPageList'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeListAntCloudAuthScenes'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeOssStatus'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile2MetaVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitAuthVerify'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MobileOnlineTime'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyStatistics'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasOsStatistics'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PageQueryWhiteListSetting'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyDeviceRiskStatistics'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialVerifyV2'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyPersonasDeviceModelStatistics'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleMetaVerifyV2'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryControlStrategy'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ContrastFaceVerify'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaStandardVerify'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyBlackListStrategy'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBlackListStrategy'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAllCustomizeFlowStrategy'], + ['threshold' => '1400', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFaceVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeepfakeDetect'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaVerify'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InsertWhiteListSetting'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSceneConfig'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySceneConfigs'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryVerifyInvokeSatistic'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeSmartStatisticsPageList'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryVerifyDownloadTask'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VehicleInsureQuery'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id3MetaVerifyWithOCR'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMetaStatisticsPageList'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompareFaces'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCloudauthstScene'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaSimpleVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialVerify'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCustomizeFlowStrategy'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaDetailVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeListFaceVerifyData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCloudauthstSceneList'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BankMetaVerify'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateWhitelistSetting'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAntCloudAuthScene'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVerifySetting'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InitFaceVerify'], + ], + ], + 'ram' => [ + 'productCode' => 'Cloudauth', + 'productName' => 'ID Verification', + 'ramCodes' => ['yundun-cloudauth', 'antcloudauth'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DescribeCloudauthstSceneList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeCloudauthstSceneList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeListAntCloudAuthScenes', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeListAntCloudAuthScenes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteBlackListStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteBlackListStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeFaceVerify', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeProductCode', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeProductCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyPersonasProvinceStatistics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasProvinceStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeMetaStatisticsList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeMetaStatisticsList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyDeviceRiskStatistics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyDeviceRiskStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateAntCloudAuthScene', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:UpdateAntCloudAuthScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryVerifyFlowPackage', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryVerifyFlowPackage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryVerifyDownloadTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryVerifyDownloadTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DownloadVerifyRecords', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DownloadVerifyRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Vehicle5ItemQuery', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Vehicle5ItemQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RemoveWhiteListSetting', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteWhiteListSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AIGCFaceVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeAIGCFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribePageSetting', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribePageSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Id3MetaVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id3MetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryBlackListStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryBlackListStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateCloudauthstScene', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateCloudauthstScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyControlStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyControlStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteCustomizeFlowStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteCustomizeFlowStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyPersonasOsStatistics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasOsStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VehicleQuery', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Id3MetaVerifyWithOCR', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id3MetaVerifyWithOCR', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DetectFaceAttributes', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DetectFaceAttributes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteCloudauthstScene', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteCloudauthstScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VehicleMetaVerifyV2', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleMetaVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyPersonasDeviceModelStatistics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasDeviceModelStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyPersonasSexStatistics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyPersonasSexStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'MobileOnlineStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileOnlineStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'MobileDetect', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileDetect', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeepfakeDetect', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeepfakeDetect', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VerifyMaterial', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VerifyMaterial', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Id2MetaVerifyWithOCR', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaVerifyWithOCR', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteSceneConfig', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteSceneConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'SceneConfig', 'arn' => 'acs:yundun-cloudauth::{#accountId}:sceneconfig/{#SceneConfigId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeOssUploadToken', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeOssUploadToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeListFaceVerifyInfos', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeListFaceVerifyInfos', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSceneConfig', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateSceneConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeCardVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeCardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyCustomizeFlowStrategyList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyCustomizeFlowStrategyList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Mobile2MetaVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile2MetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CompareFaceVerify', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CompareFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeAntAndCloudAuthUserStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeAntAndCloudAuthUserStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CredentialVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CredentialVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BankMetaVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:BankMetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ContrastFaceVerify', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ContrastFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAntCloudAuthScene', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateAntCloudAuthScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Id2MetaVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteWhitelistSetting', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteWhitelistSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyResult', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Mobile3MetaSimpleVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaSimpleVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Mobile3MetaDetailVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaDetailVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryControlStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryControlStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'PageQueryWhiteListSetting', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:PageQueryWhiteListSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteControlStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteControlStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InitFaceVerify', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:InitFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryCustomizeFlowStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryCustomizeFlowStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InitCardVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:InitCardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Mobile3MetaDetailStandardVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaDetailStandardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateVerifySetting', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateVerifySetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InsertWhiteListSetting', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateWhiteListSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'MobileRecycledMetaVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileRecycledMetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeListFaceVerifyData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeListFaceVerifyData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeDeviceInfo', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeDeviceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyToken', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeOssStatusV2', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeOssStatusV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteAllCustomizeFlowStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteAllCustomizeFlowStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifySDK', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifySDK', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyDeviceInfo', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyDeviceInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyBlackListStrategy', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyBlackListStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyFailStatistics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyFailStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CredentialVerifyV2', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CredentialVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeSmartStatisticsPageList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeSmartStatisticsPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribePageFaceVerifyData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribePageFaceVerifyData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteAntCloudAuthScene', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteAntCloudAuthScene', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QuerySceneConfigs', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QuerySceneConfigs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeMetaStatisticsPageList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeMetaStatisticsPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifySearchPageList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifySearchPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Id2MetaStandardVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaStandardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAuthKey', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateAuthKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyStatistics', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeVerifyStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateSceneConfig', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:UpdateSceneConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'SceneConfig', 'arn' => 'acs:yundun-cloudauth::{#accountId}:sceneconfig/{#SceneConfigId}'], + ], + ], + ], + [ + 'apiName' => 'LivenessFaceVerify', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:LivenessFaceVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Id2MetaPeriodVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Id2MetaPeriodVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'Mobile3MetaSimpleStandardVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:Mobile3MetaSimpleStandardVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeWhitelistSetting', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeWhitelistSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeOssStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeOssStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryVerifyInvokeSatistic', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryVerifyInvokeSatistic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CredentialProductVerifyV2', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CredentialProductVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VehicleMetaVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleMetaVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'MobileOnlineTime', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:MobileOnlineTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeMetaSearchPageList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DescribeMetaSearchPageList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CompareFaces', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CompareFaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateWhitelistSetting', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:CreateWhitelistSetting', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VehicleInsureQuery', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:VehicleInsureQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeAuthVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DescribeAuthVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteFaceVerifyResult', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'antcloudauth:DeleteFaceVerifyResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InitAuthVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:InitAuthVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeFaceGuardRisk', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DescribeFaceGuardRisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeInfoCheckExportRecord', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'antcloudauth:DescribeInfoCheckExportRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'SceneConfig', 'arn' => 'acs:yundun-cloudauth::{#accountId}:sceneconfig/{#SceneConfigId}'], + ['validationType' => 'always', 'resourceType' => 'SceneConfig', 'arn' => 'acs:yundun-cloudauth::{#accountId}:sceneconfig/*'], ], ], ]; diff --git a/data/en_us/cloudauth/2022-11-25/api-docs.php b/data/en_us/cloudauth/2022-11-25/api-docs.php index f38d66a..9dcd7b4 100644 --- a/data/en_us/cloudauth/2022-11-25/api-docs.php +++ b/data/en_us/cloudauth/2022-11-25/api-docs.php @@ -1,45 +1,21 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Cloudauth', - 'version' => '2022-11-25', - ], + 'info' => ['style' => 'RPC', 'product' => 'Cloudauth', 'version' => '2022-11-25'], 'directories' => [ [ - 'id' => 178446, - 'title' => 'Other', - 'type' => 'directory', - 'children' => [ - 'EntVerify', - 'EntElementVerify', - 'EntRiskQuery', - 'EntElementVerifyV2', - ], - ], - [ - 'id' => 0, - 'title' => '其它', + 'children' => ['EntVerify', 'EntElementVerify', 'EntRiskQuery', 'EntElementVerifyV2', 'EntElementVerifyPRO'], 'type' => 'directory', - 'children' => [ - 'EntElementVerifyPRO', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'EntVerify' => [ - 'summary' => 'Enterprise Authentication', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'EntElementVerify' => [ + 'summary' => 'Verifies the authenticity of an enterprise identity based on business registration data from authoritative data sources, and returns the verify your identity - Enterprise account result.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -51,228 +27,145 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthXA9M4C', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthKKY1LP'], ], 'parameters' => [ [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene code.', - 'type' => 'string', - 'required' => false, - 'example' => 'withdraw', - ], + 'schema' => ['description' => 'The scene code. The value can contain letters, digits, and underscores, with a maximum length of 32 characters.', 'type' => 'string', 'required' => false, 'example' => 'withdraw', 'title' => ''], ], [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant, used for subsequent problem localization and troubleshooting. It supports a combination of letters and numbers, with a maximum length of 32 characters. Please ensure its uniqueness.', - 'type' => 'string', - 'required' => false, - 'example' => '32198****193000', - ], + 'schema' => ['description' => 'The merchant-defined unique business ID, used for subsequent troubleshooting. The value can contain letters and digits, with a maximum length of 32 characters. Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => '32198****193000', 'title' => ''], ], [ 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant-side user ID. It supports a combination of letters and numbers, with a maximum length of 32 characters.', - 'type' => 'string', - 'required' => false, - 'example' => '432***421', - ], + 'schema' => ['description' => 'The merchant-side user ID. The value can contain letters and digits, with a maximum length of 32 characters.', 'type' => 'string', 'required' => false, 'example' => '432***421', 'title' => ''], ], [ 'name' => 'UserAuthorization', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether the user authorization is obtained.'."\n" - ."\n" - .'- 1: Authorized'."\n" - ."\n" - .'- 0: Not authorized', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether user authorization is obtained. Valid values:'."\n" + .'- 1: Authorization is obtained.'."\n" + .'- 0: Authorization is not obtained.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'InfoVerifyType', 'in' => 'query', 'schema' => [ - 'description' => 'Enterprise element verification type, currently not supported.', - 'type' => 'string', - 'required' => false, - 'example' => '无', - ], - ], - [ - 'name' => 'RiskVerifyType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Enterprise risk verification type, at least one of InfoVerifyType or this must be selected. Currently supported:'."\n" - ."\n" - .'- BUSINESS_ANTIFRAUD', + 'description' => 'The enterprise element verification type. Valid values:'."\n" + .'- ENT_2META: two-element verification'."\n" + .'- ENT_3META: three-element verification'."\n" + .'- ENT_4META: four-element verification.', + 'enumValueTitles' => ['ENT_4META' => 'four-element verification.', 'ENT_2META' => 'two-element verification.', 'ENT_3META' => 'three-element verification.'], 'type' => 'string', 'required' => false, - 'example' => 'BUSINESS_ANTIFRAUD', - ], - ], - [ - 'name' => 'RiskModelVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'Enterprise risk verification model version, required when RiskVerifyType is not empty. Currently supported:'."\n" - ."\n" - .'- BASIC: Basic version', - 'type' => 'string', - 'required' => false, - 'example' => 'BASIC', + 'example' => 'ENT_2META', + 'title' => '', ], ], [ 'name' => 'LicenseNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Business license number.', - 'type' => 'string', - 'required' => false, - 'example' => '32132***328932', - ], + 'schema' => ['description' => 'The business license number.', 'type' => 'string', 'required' => false, 'example' => '32132***328932', 'title' => ''], ], [ 'name' => 'EntName', 'in' => 'query', - 'schema' => [ - 'description' => 'Enterprise name.', - 'type' => 'string', - 'required' => false, - 'example' => '***有限公司', - ], + 'schema' => ['description' => 'The enterprise name.', 'type' => 'string', 'required' => false, 'example' => '***有限公司', 'title' => ''], ], [ 'name' => 'LegalPersonName', 'in' => 'query', - 'schema' => [ - 'description' => 'Legal person\'s name.', - 'type' => 'string', - 'required' => false, - 'example' => '张**', - ], + 'schema' => ['description' => 'The name of the legal representative. This parameter is required for three-element and four-element verification scenarios.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], ], [ 'name' => 'LegalPersonCertNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Legal person\'s ID number.', - 'type' => 'string', - 'required' => false, - 'example' => '370105*****3892', - ], - ], - [ - 'name' => 'LegalPersonMobile', - 'in' => 'query', - 'schema' => [ - 'description' => 'Legal person\'s mobile phone number.', - 'type' => 'string', - 'required' => false, - 'example' => '1300***53', - ], - ], - [ - 'name' => 'AccountNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'Receiving account, to assist in improving the risk assessment effect.', - 'type' => 'string', - 'required' => false, - 'example' => '321324***38293', - ], + 'schema' => ['description' => 'The ID card number of the legal representative. This parameter is required for the four-element verification scenario.', 'type' => 'string', 'required' => false, 'example' => '370105*****3892', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '473469C7-A***B-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Error message', - 'type' => 'string', - 'example' => '成功', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7***B-A3DC0DE3C83E'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result', + 'description' => 'The result.', 'type' => 'object', 'properties' => [ - 'RiskVerifyResult' => [ - 'description' => 'Enterprise risk verification result', - 'type' => 'object', - 'properties' => [ - 'ModelResults' => [ - 'description' => 'List of enterprise risk verification model results', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ModelName' => [ - 'description' => 'Model name', - 'type' => 'string', - 'example' => 'model_1', - ], - 'Result' => [ - 'description' => 'Model result', - 'type' => 'string', - 'example' => '5', - ], - ], - ], - ], - 'Found' => [ - 'description' => 'Whether found', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- 1: Consistent.'."\n" + .'- 2: Inconsistent.'."\n" + .'- 3: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Status' => ['description' => 'The business operation status of the enterprise. Valid values:'."\n" + .'- 1: In operation (open).'."\n" + .'- 2: Relocated.'."\n" + .'- 3: Deregistered.'."\n" + .'- 4: License revoked.'."\n" + .'- 5: Revoked.'."\n" + .'- 6: Suspended.'."\n" + .'- 0: Other.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'ReasonCode' => ['description' => 'The description of ReasonCode:'."\n" + ."\n" + .'- 100: Consistent.'."\n" + ."\n" + .'- 201: The legal representative and enterprise verification is inconsistent.'."\n" + ."\n" + .'- 202: The enterprise two-element verification is inconsistent.'."\n" + ."\n" + .'- 301: Enterprise not found. Verification cannot be performed.'."\n" + ."\n" + .'- 302: The legal representative does not exist in the database.'."\n" + .'><warning>This field has been deprecated since June 15, 2023. Existing customers who have already integrated are not affected.></warning>.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'ReasonDetail' => ['description' => 'The inconsistency details. Multiple inconsistent items are separated by commas. Valid values:'."\n" + .'- LegalPersonNameFlag: The legal representative name is inconsistent.'."\n" + .'- LegalPersonCertNoFlag: The legal representative certificate number is inconsistent.'."\n" + .'- EntNameFlag: The enterprise name is inconsistent.'."\n" + .'- LicenseNoFlag: The business license number is inconsistent.', 'type' => 'string', 'example' => 'LegalPersonNameFlag,LegalPersonCertNoFlag', 'title' => ''], + 'OpenTime' => ['description' => 'The business operation period, including the start time and end time.'."\n" + .'- Format: yyyy-MM-dd/yyyy-MM-dd.'."\n" + .'- Example: 2018-09-25/9999-09-09.', 'type' => 'string', 'example' => '2018-09-25/9999-09-09', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-A***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"成功\\",\\n \\"Result\\": {\\n \\"RiskVerifyResult\\": {\\n \\"ModelResults\\": [\\n {\\n \\"ModelName\\": \\"model_1\\",\\n \\"Result\\": \\"5\\"\\n }\\n ],\\n \\"Found\\": true\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Enterprise Risk Verification', - 'translator' => 'machine', - ], - 'EntElementVerify' => [ - 'summary' => 'Enterprise Element Verification', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"ReasonCode\\": \\"100\\",\\n \\"ReasonDetail\\": \\"LegalPersonNameFlag,LegalPersonCertNoFlag\\",\\n \\"OpenTime\\": \\"2018-09-25/9999-09-09\\"\\n }\\n}","type":"json"}]', + 'title' => 'Enterprise element verification', + 'description' => 'Only enterprises and individual businesses are supported.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntElementVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'EntElementVerifyPRO' => [ + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -284,110 +177,57 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthKKY1LP', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthKKY1LP'], ], 'parameters' => [ [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Scene code. Supports a combination of letters, numbers, and underscores, with a maximum length of 32 characters.', - 'type' => 'string', - 'required' => false, - 'example' => 'withdraw', - ], + 'schema' => ['description' => 'Scene code. Supports a combination of letters, numbers, and underscores, with a maximum length of 32 characters.', 'type' => 'string', 'required' => false, 'example' => '1000000006', 'title' => ''], ], [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant for subsequent troubleshooting. It supports a combination of letters and numbers, with a maximum length of 32 characters. Please ensure uniqueness.', - 'type' => 'string', - 'required' => false, - 'example' => '32198****193000', - ], + 'schema' => ['description' => 'A unique business identifier defined by the merchant, used for subsequent problem localization and troubleshooting. Supports a combination of letters and numbers, with a maximum length of 32 characters. Ensure uniqueness.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', 'title' => ''], ], [ 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant-side user ID. Supports a combination of letters and numbers, with a maximum length of 32 characters.', - 'type' => 'string', - 'required' => false, - 'example' => '432***421', - ], + 'schema' => ['description' => 'Merchant-side user ID. Supports a combination of letters and numbers, with a maximum length of 32 characters.', 'type' => 'string', 'required' => false, 'example' => 'mch7x9a2b4c8d3e5f6g1h2i3j4k5****'."\n", 'title' => ''], ], [ 'name' => 'UserAuthorization', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether user authorization is obtained.'."\n" - .'- 1: Authorized'."\n" - .'- 0: Not authorized', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Whether user authorization has been obtained.'."\n" + ."\n" + .'- **1**: Authorized'."\n" + .'- **0**: Not authorized', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'InfoVerifyType', 'in' => 'query', - 'schema' => [ - 'description' => 'Type of enterprise element verification.'."\n" - .'- ENT_2META: Two elements'."\n" - .'- ENT_3META: Three elements'."\n" - .'- ENT_4META: Four elements', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'ENT_4META' => '四要素', - 'ENT_2META' => '二要素', - 'ENT_3META' => '三要素', - ], - 'example' => 'ENT_2META', - ], + 'schema' => ['description' => 'Type of enterprise element verification, supporting only the following type:'."\n" + .'- **ENT_4META**: Four elements', 'type' => 'string', 'required' => false, 'example' => 'ENT_4META', 'title' => ''], ], [ 'name' => 'LicenseNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Business license number.', - 'type' => 'string', - 'required' => false, - 'example' => '32132***328932', - ], + 'schema' => ['description' => 'Unified Social Credit Code.', 'type' => 'string', 'required' => false, 'example' => '91330106673959****', 'title' => ''], ], [ 'name' => 'EntName', 'in' => 'query', - 'schema' => [ - 'description' => 'Enterprise name.', - 'type' => 'string', - 'required' => false, - 'example' => '***有限公司', - ], + 'schema' => ['description' => 'Enterprise name.', 'type' => 'string', 'required' => false, 'example' => '***有限公司', 'title' => ''], ], [ 'name' => 'LegalPersonName', 'in' => 'query', - 'schema' => [ - 'description' => 'Legal representative\'s name. Required for three-element and four-element scenarios.', - 'type' => 'string', - 'required' => false, - 'example' => '张**', - ], + 'schema' => ['description' => 'Legal person\'s name. Required for the four-element scenario.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], ], [ 'name' => 'LegalPersonCertNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Legal representative\'s ID number. Required for the four-element scenario.', - 'type' => 'string', - 'required' => false, - 'example' => '370105*****3892', - ], + 'schema' => ['description' => 'Legal person\'s ID number. Required for the four-element scenario.', 'type' => 'string', 'required' => false, 'example' => '370105*****3892', 'title' => ''], ], ], 'responses' => [ @@ -397,101 +237,57 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => '473469C7***B-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Error message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'ID of the request', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'Code' => ['description' => 'Return code', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ 'description' => 'Result', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code.'."\n" - .'- 1: Verification consistent'."\n" - .'- 2: Verification inconsistent'."\n" - .'- 3: Not found', - 'type' => 'string', - 'example' => '1', - ], - 'Status' => [ - 'description' => 'Enterprise operating status.'."\n" - .'- 1: In operation (open)'."\n" - .'- 2: Relocated'."\n" - .'- 3: Deregistered'."\n" - .'- 4: Revoked'."\n" - .'- 5: Canceled'."\n" - .'- 6: Suspended'."\n" - .'- 0: Other', - 'type' => 'string', - 'example' => '1', - ], - 'ReasonCode' => [ - 'description' => 'ReasonCode explanation:'."\n" - ."\n" - .'- 100: Verification consistent'."\n" - ."\n" - .'- 201: Inconsistent between person and enterprise'."\n" - ."\n" - .'- 202: Inconsistent in two elements of the enterprise'."\n" - ."\n" - .'- 301: No enterprise found, unable to verify'."\n" - ."\n" - .'- 302: Legal representative does not exist in the database'."\n" - .'><warning>This field will be discontinued on June 15, 2023. Existing customers are not affected.></warning>', - 'type' => 'string', - 'example' => '100', - ], - 'ReasonDetail' => [ - 'description' => 'Details of inconsistencies, multiple inconsistencies will be separated by commas.'."\n" - .'- LegalPersonNameFlag: Inconsistent legal representative name'."\n" - .'- LegalPersonCertNoFlag: Inconsistent legal representative ID number'."\n" - .'- EntNameFlag: Inconsistent enterprise name'."\n" - .'- LicenseNoFlag: Inconsistent business license number', - 'type' => 'string', - 'example' => 'LegalPersonNameFlag,LegalPersonCertNoFlag', - ], - 'OpenTime' => [ - 'description' => 'Operating period: start and end time of operations.'."\n" - .'- Format: yyyy-MM-dd/yyyy-MM-dd.'."\n" - .'- Example: 2018-09-25/9999-09-09.', - 'type' => 'string', - 'example' => '2018-09-25/9999-09-09', - ], + 'BizCode' => ['description' => 'Verification result code.'."\n" + .'- 1: Consistent'."\n" + .'- 2: Inconsistent'."\n" + .'- 3: Not found', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Status' => ['description' => 'Business operation status.'."\n" + .'- 1: In operation (open)'."\n" + .'- 2: Relocated'."\n" + .'- 3: Deregistered'."\n" + .'- 4: Revoked'."\n" + .'- 5: Cancelled'."\n" + .'- 6: Suspended'."\n" + .'- 0: Other', 'type' => 'string', 'example' => '1', 'title' => ''], + 'ReasonDetail' => ['description' => 'Details of inconsistencies, multiple inconsistencies will be separated by commas.'."\n" + .'- LegalPersonNameFlag: Legal person\'s name is inconsistent'."\n" + .'- LegalPersonCertNoFlag: Legal person\'s ID number is inconsistent'."\n" + .'- EntNameFlag: Enterprise name is inconsistent'."\n" + .'- LicenseNoFlag: Business license number is inconsistent'."\n" + .'- LicenseNoNotFound: Business identification number cannot be verified'."\n" + .'- EntNameNotFound: Enterprise name cannot be verified'."\n" + .'- LegalPersonNameNotFound: Legal person\'s name cannot be verified'."\n" + .'- LegalPersonCertNoNotFound: Legal person\'s ID number cannot be verified', 'type' => 'string', 'example' => 'LegalPersonNameFlag,LegalPersonCertNoFlag', 'title' => ''], + 'OpenTime' => ['description' => 'Business term: start and end time of operations.'."\n" + .'- Format: yyyy-MM-dd/yyyy-MM-dd.'."\n" + .'- Example: 2018-09-25/9999-09-09.', 'type' => 'string', 'example' => '2018-09-25/9999-09-09', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"ReasonCode\\": \\"100\\",\\n \\"ReasonDetail\\": \\"LegalPersonNameFlag,LegalPersonCertNoFlag\\",\\n \\"OpenTime\\": \\"2018-09-25/9999-09-09\\"\\n }\\n}","type":"json"}]', - 'title' => 'Enterprise Element Verification', - 'description' => 'Supports only enterprises and individual businesses.', - 'translator' => 'machine', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Enterprise Element Verification PRO', + 'summary' => 'Enterprise Element Verification PRO', + 'changeSet' => [], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"ReasonDetail\\": \\"LegalPersonNameFlag,LegalPersonCertNoFlag\\",\\n \\"OpenTime\\": \\"2018-09-25/9999-09-09\\"\\n }\\n}","type":"json"}]', ], - 'EntRiskQuery' => [ - 'summary' => 'Abnormal Business Operation Query', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'EntElementVerifyV2' => [ + 'summary' => 'Verifies enterprise identity elements (V2).', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -503,204 +299,131 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthKKY1LP', - ], + 'abilityTreeCode' => '264853', + 'abilityTreeNodes' => ['FEATUREcloudauthKKY1LP'], ], 'parameters' => [ [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Custom scene code, used to distinguish business scenarios, a 10-digit number.', - 'type' => 'string', - 'required' => false, - 'example' => '1000000086', - ], + 'schema' => ['description' => 'The custom scene code. You can set this parameter to a custom value to distinguish business scenarios. The value can contain letters, digits, and underscores (_), with a maximum length of 32 characters.', 'type' => 'string', 'required' => true, 'example' => '1000000006', 'title' => ''], ], [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant side, used for subsequent problem localization and troubleshooting. Supports a combination of 32 alphanumeric characters, please ensure uniqueness.', - 'type' => 'string', - 'required' => false, - 'example' => '32198****193000', - ], + 'schema' => ['description' => 'The merchant-defined unique business ID for subsequent troubleshooting. The value can contain letters and digits, with a maximum length of 32 characters. Make sure the value is unique.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', 'title' => ''], ], [ 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'A custom user ID in your business, used for subsequent problem localization and troubleshooting.', - 'type' => 'string', - 'required' => false, - 'example' => '无', - ], + 'schema' => ['description' => 'The merchant-side user ID. The value can contain letters and digits, with a maximum length of 32 characters.', 'type' => 'string', 'required' => true, 'example' => 'mch7x9a2b4c8d3e5f6g1h2i3j4k5****', 'title' => ''], ], [ 'name' => 'UserAuthorization', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether user authorization is obtained.'."\n" - .'1: Authorized'."\n" - .'0: Not authorized', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether user authorization is obtained. Valid values:'."\n" + .'- 1: Authorization is obtained.'."\n" + .'- 0: Authorization is not obtained.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ParamType', + 'name' => 'InfoVerifyType', 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type.'."\n" - .'00: Company name;'."\n" - .'01: Business registration number;'."\n" - .'02: Unified Social Credit Code;'."\n" - .'03: Organization code;', - 'type' => 'string', - 'required' => false, - 'example' => '00', - ], + 'schema' => ['description' => 'The enterprise element verification type. Valid values:'."\n" + .'- ENT_2META: two-element verification, which includes the enterprise name and the unified social credit code.'."\n" + .'- ENT_3META: three-element verification, which includes the enterprise name, the unified social credit code, and the legal representative name or organization head.'."\n" + .'- ENT_4META: four-element verification, which includes the enterprise name, the unified social credit code, the legal representative name or organization head, and the legal representative ID number.', 'type' => 'string', 'required' => true, 'example' => 'ENT_2META', 'title' => ''], ], [ - 'name' => 'ParamValue', + 'name' => 'LicenseNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Enter one of the following based on the ParamType: company name, business registration number, unified social credit code, or organization code.', - 'type' => 'string', - 'required' => false, - 'example' => '91330106673959****', - ], + 'schema' => ['description' => 'The unified social credit code.', 'type' => 'string', 'required' => true, 'example' => '91330106673959****', 'title' => ''], + ], + [ + 'name' => 'EntName', + 'in' => 'query', + 'schema' => ['description' => 'The enterprise name.', 'type' => 'string', 'required' => true, 'example' => '****有限公司', 'title' => ''], + ], + [ + 'name' => 'LegalPersonName', + 'in' => 'query', + 'schema' => ['description' => 'The legal representative name. This parameter is required for three-element and four-element verification.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], + ], + [ + 'name' => 'LegalPersonCertNo', + 'in' => 'query', + 'schema' => ['description' => 'The ID number of the legal representative. This parameter is required for four-element verification.', 'type' => 'string', 'required' => false, 'example' => '1******************9', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'API response', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID', - 'type' => 'string', - 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', - ], - 'Code' => [ - 'description' => 'Error code. For details about error codes, see **[Error Codes](~~215420~~)**.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Response message for the request information.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7***B-A3DC0DE3C83E'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result', + 'description' => 'The result.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Query result'."\n" - .'0: Normal business operation'."\n" - .'1: Abnormal business operation'."\n" - .'2: Not found', - 'type' => 'string', - 'example' => '1', - ], - 'Status' => [ - 'description' => 'Business operation status.'."\n" - .'- 1: In operation (open)'."\n" - .'- 2: Relocated'."\n" - .'- 3: Deregistered'."\n" - .'- 4: Revoked'."\n" - .'- 5: Canceled'."\n" - .'- 6: Suspended'."\n" - .'- 0: Other', - 'type' => 'string', - 'example' => '1', - ], - 'RiskList' => [ - 'description' => 'List of abnormal information', - 'type' => 'array', - 'items' => [ - 'description' => 'Detailed abnormal information', - 'type' => 'object', - 'properties' => [ - 'CreditCode' => [ - 'description' => 'Unified Social Credit Code', - 'type' => 'string', - 'example' => '92500112MA5UHU****', - ], - 'EntName' => [ - 'description' => 'Company name.', - 'type' => 'string', - 'example' => '杭州****', - ], - 'RegNo' => [ - 'description' => 'Business registration number', - 'type' => 'string', - 'example' => '50011260996****', - ], - 'ListedReason' => [ - 'description' => 'Reason for being listed as abnormal', - 'type' => 'string', - 'example' => '未按照《个体工商户年度报告暂行办法》***', - ], - 'ListedDate' => [ - 'description' => 'Date listed as abnormal'."\n" - .'Example: 2023-02-03', - 'type' => 'string', - 'example' => '2023-02-03', - ], - 'RemovedReason' => [ - 'description' => 'Reason for being removed from the abnormal list', - 'type' => 'string', - 'example' => '根据《个体工商户年度报告暂行办法》第十三条的规定******', - ], - 'RemovedDate' => [ - 'description' => 'Date removed from the abnormal list'."\n" - .'Example: 2023-02-03', - 'type' => 'string', - 'example' => '2023-02-06', - ], - 'OperationOrg' => [ - 'description' => 'Authority that handled the inclusion', - 'type' => 'string', - 'example' => '***市场监督***', - ], - 'RemovedOrg' => [ - 'description' => 'Authority that handled the removal', - 'type' => 'string', - 'example' => '***市场监督***', - ], - ], - ], - ], + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- 1: Consistent.'."\n" + .'- 2: Inconsistent.'."\n" + .'- 3: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Status' => ['description' => 'The enterprise business status. Valid values:'."\n" + .'- 1: In operation (open).'."\n" + .'- 2: Relocated.'."\n" + .'- 3: Deregistered.'."\n" + .'- 4: Revoked.'."\n" + .'- 5: Rescinded.'."\n" + .'- 6: Suspended.'."\n" + .'- 0: Other.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'ReasonDetail' => ['description' => 'The inconsistency details. If multiple items are inconsistent, they are separated by commas (,). Valid values:'."\n" + .'- LegalPersonNameFlag: The legal representative name is inconsistent.'."\n" + .'- LegalPersonCertNoFlag: The legal representative ID number is inconsistent.'."\n" + .'- EntNameFlag: The enterprise name is inconsistent.'."\n" + .'- LicenseNoFlag: The business license number is inconsistent.', 'type' => 'string', 'example' => 'LegalPersonNameFlag,LegalPersonCertNoFlag', 'title' => ''], + 'OpenTime' => ['description' => 'The business operation period, which includes the start time and end time.'."\n" + .'- Format: yyyy-MM-dd/yyyy-MM-dd.'."\n" + .'- Example: 2018-09-25/9999-09-09.', 'type' => 'string', 'example' => '2018-09-25/9999-09-09', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"ReasonDetail\\": \\"LegalPersonNameFlag,LegalPersonCertNoFlag\\",\\n \\"OpenTime\\": \\"2018-09-25/9999-09-09\\"\\n }\\n}","type":"json"}]', + 'title' => 'Verify enterprise identity elements V2', + 'description' => 'The enterprise element verification operation provides a consistency verification service for enterprise element information to identify the authenticity of enterprise information.'."\n" + ."\n" + .'Two-element and three-element verification supports various types of organizations, such as enterprises, individual businesses, farmer professional cooperatives, government agencies, public institutions, social organizations, law firms, and property owners\' associations.'."\n" + ."\n" + .'Four-element verification supports enterprises, individual businesses, farmer professional cooperatives, and law firms.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntElementVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"RiskList\\": [\\n {\\n \\"CreditCode\\": \\"92500112MA5UHU****\\",\\n \\"EntName\\": \\"杭州****\\",\\n \\"RegNo\\": \\"50011260996****\\",\\n \\"ListedReason\\": \\"未按照《个体工商户年度报告暂行办法》***\\",\\n \\"ListedDate\\": \\"2023-02-03\\",\\n \\"RemovedReason\\": \\"根据《个体工商户年度报告暂行办法》第十三条的规定******\\",\\n \\"RemovedDate\\": \\"2023-02-06\\",\\n \\"OperationOrg\\": \\"***市场监督***\\",\\n \\"RemovedOrg\\": \\"***市场监督***\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'Query for Abnormal Business Operations', - 'translator' => 'machine', ], - 'EntElementVerifyV2' => [ - 'summary' => 'Enterprise Element Verification V2', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'EntRiskQuery' => [ + 'summary' => 'Queries the business abnormality information of an enterprise.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -712,199 +435,125 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '264853', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthKKY1LP', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthKKY1LP'], ], 'parameters' => [ [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Custom scene code, defined by the user to distinguish between different business scenarios. Supports a combination of letters, numbers, and underscores, with a maximum length of 32 characters.', - 'type' => 'string', - 'required' => true, - 'example' => '1000000006', - ], + 'schema' => ['description' => 'The custom scene code that identifies a business scenario. The value is a 10-digit number.', 'type' => 'string', 'required' => false, 'example' => '1000000086', 'title' => ''], ], [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant side, used for subsequent problem localization and troubleshooting. Supports a combination of letters and numbers, with a maximum length of 32 characters. Please ensure uniqueness.', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', - ], + 'schema' => ['description' => 'The merchant-side custom business unique identifier, which is used for subsequent troubleshooting. The value is a combination of letters and digits up to 32 characters in length. Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => '32198****193000', 'title' => ''], ], [ 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant-side user ID. Supports a combination of letters and numbers, with a maximum length of 32 characters.', - 'type' => 'string', - 'required' => true, - 'example' => 'mch7x9a2b4c8d3e5f6g1h2i3j4k5****', - ], + 'schema' => ['description' => 'The custom user ID in your business, which is used for subsequent troubleshooting.', 'type' => 'string', 'required' => false, 'example' => '无', 'title' => ''], ], [ 'name' => 'UserAuthorization', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether user authorization has been obtained.'."\n" - .'- 1: Authorization obtained'."\n" - .'- 0: No authorization obtained', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether user authorization is obtained. Valid values:'."\n" + .'- 1: Authorization is obtained.'."\n" + .'- 0: Authorization is not obtained.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'InfoVerifyType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Type of enterprise element verification.'."\n" - .'- ENT_2META: Two-element verification (enterprise name + unified social credit code)'."\n" - .'- ENT_3META: Three-element verification (enterprise name + unified social credit code + legal person\'s name or organization head)'."\n" - .'- ENT_4META: Four-element verification (enterprise name + unified social credit code + legal person\'s name or organization head + legal person\'s ID number)', - 'type' => 'string', - 'required' => true, - 'example' => 'ENT_2META', - ], - ], - [ - 'name' => 'LicenseNo', + 'name' => 'ParamType', 'in' => 'query', - 'schema' => [ - 'description' => 'Unified Social Credit Code.', - 'type' => 'string', - 'required' => true, - 'example' => '91330106673959****', - ], + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + .'- 00: enterprise name'."\n" + .'- 01: business registration number'."\n" + .'- 02: unified social credit code'."\n" + .'- 03: organization code.', 'type' => 'string', 'required' => false, 'example' => '00', 'title' => ''], ], [ - 'name' => 'EntName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Enterprise Name.', - 'type' => 'string', - 'required' => true, - 'example' => '****有限公司', - ], - ], - [ - 'name' => 'LegalPersonName', - 'in' => 'query', - 'schema' => [ - 'description' => 'Legal Person\'s Name. Required for three-element and four-element scenarios.', - 'type' => 'string', - 'required' => false, - 'example' => '张**', - ], - ], - [ - 'name' => 'LegalPersonCertNo', + 'name' => 'ParamValue', 'in' => 'query', - 'schema' => [ - 'description' => 'Legal Person\'s ID Number. Required for four-element scenarios.', - 'type' => 'string', - 'required' => false, - 'example' => '1******************9', - ], + 'schema' => ['description' => 'The value that corresponds to the ParamType parameter. Enter one of the following values based on the parameter type: enterprise name, business registration number, unified social credit code, or organization code.', 'type' => 'string', 'required' => false, 'example' => '91330106673959****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '473469C7***B-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Error message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260'], + 'Code' => ['description' => 'The error code. For more information, see **[Error codes](~~215420~~)**.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message of the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result', + 'description' => 'The result.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code.'."\n" - .'- 1: Verification consistent'."\n" - .'- 2: Verification inconsistent'."\n" - .'- 3: Not found', - 'type' => 'string', - 'example' => '1', - ], - 'Status' => [ - 'description' => 'Business operation status.'."\n" - .'- 1: In operation (open)'."\n" - .'- 2: Relocated'."\n" - .'- 3: Deregistered'."\n" - .'- 4: Revoked'."\n" - .'- 5: Canceled'."\n" - .'- 6: Suspended'."\n" - .'- 0: Other', - 'type' => 'string', - 'example' => '1', - ], - 'ReasonDetail' => [ - 'description' => 'Details of inconsistencies, multiple inconsistencies will be separated by commas.'."\n" - .'- LegalPersonNameFlag: Legal person\'s name does not match'."\n" - .'- LegalPersonCertNoFlag: Legal person\'s ID number does not match'."\n" - .'- EntNameFlag: Enterprise name does not match'."\n" - .'- LicenseNoFlag: Business license number does not match', - 'type' => 'string', - 'example' => 'LegalPersonNameFlag,LegalPersonCertNoFlag', - ], - 'OpenTime' => [ - 'description' => 'Business term: start and end time of operations.'."\n" - .'- Format: yyyy-MM-dd/yyyy-MM-dd.'."\n" - .'- Example: 2018-09-25/9999-09-09.', - 'type' => 'string', - 'example' => '2018-09-25/9999-09-09', + 'BizCode' => ['description' => 'The query result. Valid values:'."\n" + .'- 0: The enterprise is operating normally.'."\n" + .'- 1: The enterprise has a business abnormality.'."\n" + .'- 2: No record found.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Status' => ['description' => 'The business operation status of the enterprise. Valid values:'."\n" + .'- 1: In operation (active).'."\n" + .'- 2: Relocated.'."\n" + .'- 3: Deregistered.'."\n" + .'- 4: License revoked.'."\n" + .'- 5: Revoked.'."\n" + .'- 6: Suspended.'."\n" + .'- 0: Other.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RiskList' => [ + 'description' => 'The list of abnormality information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The abnormality details.', + 'type' => 'object', + 'properties' => [ + 'CreditCode' => ['description' => 'The unified social credit code.', 'type' => 'string', 'example' => '92500112MA5UHU****', 'title' => ''], + 'EntName' => ['description' => 'The enterprise name.', 'type' => 'string', 'example' => '杭州****', 'title' => ''], + 'RegNo' => ['description' => 'The business registration number.', 'type' => 'string', 'example' => '50011260996****', 'title' => ''], + 'ListedReason' => ['description' => 'The reason for being added to the abnormality list.', 'type' => 'string', 'example' => '未按照《个体工商户年度报告暂行办法》***', 'title' => ''], + 'ListedDate' => ['description' => 'The date when the enterprise was added to the abnormality list. Example: 2023-02-03.', 'type' => 'string', 'example' => '2023-02-03', 'title' => ''], + 'RemovedReason' => ['description' => 'The reason for being removed from the abnormality list.', 'type' => 'string', 'example' => '根据《个体工商户年度报告暂行办法》第十三条的规定******', 'title' => ''], + 'RemovedDate' => ['description' => 'The date when the enterprise was removed from the abnormality list. Example: 2023-02-03.', 'type' => 'string', 'example' => '2023-02-06', 'title' => ''], + 'OperationOrg' => ['description' => 'The authority that added the enterprise to the abnormality list.', 'type' => 'string', 'example' => '***市场监督***', 'title' => ''], + 'RemovedOrg' => ['description' => 'The authority that removed the enterprise from the abnormality list.', 'type' => 'string', 'example' => '***市场监督***', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"RiskList\\": [\\n {\\n \\"CreditCode\\": \\"92500112MA5UHU****\\",\\n \\"EntName\\": \\"杭州****\\",\\n \\"RegNo\\": \\"50011260996****\\",\\n \\"ListedReason\\": \\"未按照《个体工商户年度报告暂行办法》***\\",\\n \\"ListedDate\\": \\"2023-02-03\\",\\n \\"RemovedReason\\": \\"根据《个体工商户年度报告暂行办法》第十三条的规定******\\",\\n \\"RemovedDate\\": \\"2023-02-06\\",\\n \\"OperationOrg\\": \\"***市场监督***\\",\\n \\"RemovedOrg\\": \\"***市场监督***\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query enterprise business abnormality', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntRiskQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"ReasonDetail\\": \\"LegalPersonNameFlag,LegalPersonCertNoFlag\\",\\n \\"OpenTime\\": \\"2018-09-25/9999-09-09\\"\\n }\\n}","type":"json"}]', - 'title' => 'Enterprise Element Verification V2', - 'description' => 'The Enterprise Element Verification API provides a service for verifying the consistency of enterprise element information, used to identify the authenticity of enterprise information.'."\n" - ."\n" - .'It supports various institutions including enterprises, individual businesses, farmers\' professional cooperatives, government agencies, public institutions, social organizations, legal profession institutions, and owners\' meetings for 2-3 elements;'."\n" - ."\n" - .'For 4 elements, it supports enterprises, individual businesses, farmers\' professional cooperatives, and legal professions.', - 'translator' => 'machine', ], - 'EntElementVerifyPRO' => [ - 'summary' => 'Enterprise Element Verification PRO', - 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'EntVerify' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -916,259 +565,297 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthKKY1LP', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthXA9M4C'], ], 'parameters' => [ [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '1000000006', - ], + 'schema' => ['description' => 'The scene code.', 'type' => 'string', 'required' => false, 'example' => 'withdraw', 'title' => ''], ], [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', - ], + 'schema' => ['description' => 'The merchant-defined unique business ID used for subsequent troubleshooting. The value is a combination of letters and numbers with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => '32198****193000', 'title' => ''], ], [ 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'mch7x9a2b4c8d3e5f6g1h2i3j4k5****'."\n", - ], + 'schema' => ['description' => 'The merchant-side user ID. The value is a combination of letters and numbers with a maximum length of 32 characters.', 'type' => 'string', 'required' => false, 'example' => '432***421', 'title' => ''], ], [ 'name' => 'UserAuthorization', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether user authorization is obtained. Valid values:'."\n" + ."\n" + .'- 1: Authorization is obtained.'."\n" + ."\n" + .'- 0: Authorization is not obtained.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'InfoVerifyType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ENT_4META', - ], + 'schema' => ['description' => 'The enterprise element verification type. This parameter is not supported.', 'type' => 'string', 'required' => false, 'example' => '无', 'title' => ''], + ], + [ + 'name' => 'RiskVerifyType', + 'in' => 'query', + 'schema' => ['description' => 'The enterprise risk verification type. You must specify at least one of this parameter and InfoVerifyType. Valid values:'."\n" + ."\n" + .'- BUSINESS_ANTIFRAUD.', 'type' => 'string', 'required' => false, 'example' => 'BUSINESS_ANTIFRAUD', 'title' => ''], + ], + [ + 'name' => 'RiskModelVersion', + 'in' => 'query', + 'schema' => ['description' => 'The enterprise risk verification model version. This parameter is required when RiskVerifyType is specified. Valid values:'."\n" + ."\n" + .'- BASIC: Basic Edition.', 'type' => 'string', 'required' => false, 'example' => 'BASIC', 'title' => ''], ], [ 'name' => 'LicenseNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '91330106673959****', - ], + 'schema' => ['description' => 'The business license number.', 'type' => 'string', 'required' => false, 'example' => '32132***328932', 'title' => ''], ], [ 'name' => 'EntName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'schema' => ['description' => 'The enterprise name.', 'type' => 'string', 'required' => false, 'example' => '***有限公司', 'title' => ''], ], [ 'name' => 'LegalPersonName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'schema' => ['description' => 'The legal representative name.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], ], [ 'name' => 'LegalPersonCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '370105*****3892', - ], + 'schema' => ['description' => 'The ID card number of the legal representative.', 'type' => 'string', 'required' => false, 'example' => '370105*****3892', 'title' => ''], + ], + [ + 'name' => 'LegalPersonMobile', + 'in' => 'query', + 'schema' => ['description' => 'The mobile phone number of the legal representative.', 'type' => 'string', 'required' => false, 'example' => '1300***53', 'title' => ''], + ], + [ + 'name' => 'AccountNo', + 'in' => 'query', + 'schema' => ['description' => 'The payment receiving account, which helps improve the risk assessment accuracy.', 'type' => 'string', 'required' => false, 'example' => '321324***38293', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '473469C7-A***B-A3DC0DE3C83E'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => '成功', 'title' => ''], 'Result' => [ - 'description' => '', + 'description' => 'The result.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'ReasonDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'LegalPersonNameFlag,LegalPersonCertNoFlag', - ], - 'OpenTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2018-09-25/9999-09-09', + 'RiskVerifyResult' => [ + 'description' => 'The enterprise risk verification result.', + 'type' => 'object', + 'properties' => [ + 'ModelResults' => [ + 'description' => 'The list of enterprise risk verification model results.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ModelName' => ['description' => 'The model name.', 'type' => 'string', 'example' => 'model_1', 'title' => ''], + 'Result' => ['description' => 'The model result.', 'type' => 'string', 'example' => '5', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Found' => ['description' => 'Indicates whether a match is found.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => [], + 'title' => 'Enterprise risk verification', + 'summary' => 'Verifies the authenticity of enterprise registration information and business operations.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"ReasonDetail\\": \\"LegalPersonNameFlag,LegalPersonCertNoFlag\\",\\n \\"OpenTime\\": \\"2018-09-25/9999-09-09\\"\\n }\\n}","type":"json"}]', - 'title' => 'Enterprise Element Verification PRO', - 'translator' => 'machine', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-A***B-A3DC0DE3C83E\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"成功\\",\\n \\"Result\\": {\\n \\"RiskVerifyResult\\": {\\n \\"ModelResults\\": [\\n {\\n \\"ModelName\\": \\"model_1\\",\\n \\"Result\\": \\"5\\"\\n }\\n ],\\n \\"Found\\": true\\n }\\n }\\n}","type":"json"}]', ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'cloudauth.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'cloudauth.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'cloudauth.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'cloudauth.aliyuncs.com', + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.cn-beijing.aliyuncs.com', 'endpoint' => 'cloudauth.cn-beijing.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.cn-qingdao.aliyuncs.com', 'endpoint' => 'cloudauth.cn-qingdao.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => 'cloudauth-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cloudauth.aliyuncs.com', 'endpoint' => 'cloudauth.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => '10001', 'message' => 'The current operation is not authorized, please contact the main account to authorize the operation on the RAM console.', 'http_code' => 403, 'description' => ''], + ['code' => '400', 'message' => 'BizType already exist.', 'http_code' => 400, 'description' => ''], + ['code' => '404', 'message' => 'ID_NOT_EXISTS', 'http_code' => 404, 'description' => ''], + ['code' => '409', 'message' => 'The scene name already exists', 'http_code' => 400, 'description' => ''], + ['code' => '500', 'message' => 'system error', 'http_code' => 500, 'description' => ''], + ['code' => '700', 'message' => 'Please complete OSS activation and authorization before enabling photo storage.', 'http_code' => 400, 'description' => ''], + ['code' => '701', 'message' => 'Please continue to complete the OSS authorization operation before enabling photo storage.', 'http_code' => 400, 'description' => ''], + ['code' => 'Abnormal.Repeated.Call', 'message' => 'Exceptionally repeated calls.', 'http_code' => 200, 'description' => 'Exceptionally repeated calls'], + ['code' => 'CertifyId.Invalid', 'message' => 'invalid certifyId.', 'http_code' => 200, 'description' => 'invalid certifyId'], + ['code' => 'ConsoleSystemError_1001', 'message' => 'There was an error with your request, please try again later.', 'http_code' => 500, 'description' => ''], + ['code' => 'ConsoleSystemError_1009', 'message' => 'console system error', 'http_code' => 500, 'description' => ''], + ['code' => 'Data.Duplication', 'message' => 'Data duplication.', 'http_code' => 200, 'description' => 'Data duplication'], + ['code' => 'DataExpired', 'message' => 'The data has expired and the records have been deleted.', 'http_code' => 410, 'description' => ''], + ['code' => 'DATA_EXPIRED', 'message' => 'The data has expired.', 'http_code' => 200, 'description' => 'Data expiration'], + ['code' => 'DownloadTimedOut', 'message' => 'Downloading resource timed out.', 'http_code' => 422, 'description' => ''], + ['code' => 'InDebt', 'message' => 'You have an outstanding payment. Please add funds first and try again.', 'http_code' => 200, 'description' => 'There is a arrears in the real person authentication, please recharge before operating.'], + ['code' => 'InnerNoSupported', 'message' => 'Login-free operation is not supported.', 'http_code' => 403, 'description' => ''], + ['code' => 'Invalid.Input.Image', 'message' => 'Incoming picture not available.', 'http_code' => 200, 'description' => 'Incoming picture not available'], + ['code' => 'InvalidAction.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidApi.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidParam.ImageValuePatternError', 'message' => 'The image address format is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.MaterialsEmpty', 'message' => 'The materials list is empty.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter is invalid.', 'http_code' => 200, 'description' => ''], + ['code' => 'InvalidParameter.Format', 'message' => 'Specified parameter format is not valid.', 'http_code' => 400, 'description' => 'Invalid parameter'], + ['code' => 'InvalidSecurityToken.Expired', 'message' => 'Specified SecurityToken is expired.', 'http_code' => 400, 'description' => ''], + ['code' => 'INVALID_PARAMETER', 'message' => 'The request parameters are invalid.', 'http_code' => 200, 'description' => ''], + ['code' => 'MissingIds', 'message' => 'Ids is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'Bad request. The parameter is missing.', 'http_code' => 200, 'description' => 'Bad request missing parameter'], + ['code' => 'MissingProcessType', 'message' => 'MissingProcessType', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingSolution', 'message' => 'Solution is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingStartDate', 'message' => 'StartDate is mandatory for this action', 'http_code' => 400, 'description' => ''], + ['code' => 'NoFaceDetected', 'message' => 'No face is detected in either the image or the video.', 'http_code' => 435, 'description' => ''], + ['code' => 'NoPermission', 'message' => 'This RAM user has no permissions to access API.', 'http_code' => 403, 'description' => ''], + ['code' => 'NoSubscribeService', 'message' => 'OSS is not activated or you have not granted OSS the read write permission.', 'http_code' => 410, 'description' => ''], + ['code' => 'Not.Open.Service', 'message' => 'Service not opened.', 'http_code' => 200, 'description' => 'Service not opened'], + ['code' => 'ParameterIsNull', 'message' => 'The parameter must not be empty.', 'http_code' => 400, 'description' => ''], + ['code' => 'PARAMETER_FORMAT_ERROR', 'message' => 'The parameter format is wrong.', 'http_code' => 200, 'description' => 'Format check error'], + ['code' => 'Ram.No.Permission', 'message' => 'RAM has no permissions.', 'http_code' => 200, 'description' => 'RAM has no permissions'], + ['code' => 'ResourcesTooLarge', 'message' => 'The size of the incoming resources are too large.', 'http_code' => 421, 'description' => ''], + ['code' => 'ServerError', 'message' => 'server error.', 'http_code' => 500, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 503, 'description' => ''], + ['code' => 'STATUS_ERROR', 'message' => 'Status Error.', 'http_code' => 200, 'description' => 'Status Error'], + ['code' => 'SystemError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'Throttling.User', 'message' => 'Request was denied due to user flow control.', 'http_code' => 400, 'description' => ''], + ], + 'changeSet' => [], + 'ram' => [ + 'productCode' => 'Cloudauth', + 'productName' => 'ID Verification', + 'ramCodes' => ['yundun-cloudauth', 'antcloudauth'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'EntRiskQuery', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntRiskQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EntElementVerifyV2', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntElementVerifyV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EntElementVerifyPRO', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntElementVerifyPRO', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EntElementVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntElementVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EntVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:EntVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'resourceTypes' => [], ], ]; |
