'1.0', 'info' => ['style' => 'RPC', 'product' => 'Cloudauth', 'version' => '2019-03-07'], 'directories' => [ [ 'children' => ['LivenessFaceVerify', 'CompareFaceVerify', 'ContrastFaceVerify', 'DescribeFaceVerify', 'InitFaceVerify', 'DescribeFaceGuardRisk', 'AIGCFaceVerify', 'DeleteFaceVerifyResult'], 'type' => 'directory', 'title' => 'Enhanced Real Person Certification', ], [ 'children' => [ [ 'children' => ['DeepfakeDetect'], 'type' => 'directory', 'title' => 'Face Detection', ], [ 'children' => ['CredentialProductVerifyV2', 'CredentialVerifyV2', 'CredentialVerify'], 'type' => 'directory', 'title' => 'Credential Detection', ], [ 'children' => ['BankMetaVerify'], 'type' => 'directory', 'title' => 'Bank Card Verification', ], [ 'children' => ['MobileRecycledMetaVerify', 'MobileDetect', 'Mobile3MetaSimpleVerify', 'Mobile3MetaDetailVerify', 'Mobile2MetaVerify', 'MobileOnlineTime', 'MobileOnlineStatus', 'Mobile3MetaSimpleStandardVerify', 'Mobile3MetaDetailStandardVerify'], 'type' => 'directory', 'title' => 'Phone Number Verification', ], [ 'children' => ['Id2MetaStandardVerify', 'Id2MetaVerify', 'Id2MetaVerifyWithOCR', 'Id3MetaVerify', 'Id2MetaPeriodVerify', 'InitCardVerify', 'DescribeCardVerify', 'Id3MetaVerifyWithOCR'], 'type' => 'directory', 'title' => 'Identity Verification', ], [ 'children' => ['VehicleMetaVerifyV2', 'VehicleMetaVerify', 'Vehicle5ItemQuery', 'VehicleQuery', 'VehicleInsureQuery'], 'type' => 'directory', 'title' => 'vehicle information identification', ], ], 'type' => 'directory', 'title' => 'information verification', ], [ 'children' => ['VerifyMaterial', 'DescribeVerifyToken', 'DescribeVerifyResult', 'CompareFaces', 'DetectFaceAttributes'], 'type' => 'directory', 'title' => 'Real person certification (stopped selling, documents stopped updating)', ], [ 'children' => [ 'DescribePageFaceVerifyData', 'CreateCloudauthstScene', 'DeleteCloudauthstScene', 'DescribeSmartStatisticsPageList', 'CreateAntCloudAuthScene', 'UpdateAntCloudAuthScene', 'DeleteAntCloudAuthScene', 'RemoveWhiteListSetting', 'InsertWhiteListSetting', 'PageQueryWhiteListSetting', [ 'children' => [ [ 'children' => ['DescribeVerifySDK'], 'type' => 'directory', 'title' => 'SDK', ], ], 'type' => 'directory', 'title' => 'AIGC generated image detection', ], 'DeleteWhitelistSetting', 'CreateWhitelistSetting', 'DescribeWhitelistSetting', 'DescribeAntAndCloudAuthUserStatus', 'DescribeCloudauthstSceneList', 'DescribeListAntCloudAuthScenes', 'DescribeListFaceVerifyData', 'DescribeListFaceVerifyInfos', 'DescribeOssStatus', 'DescribePageSetting', 'DescribeProductCode', 'DescribeVerifyDeviceRiskStatistics', 'DescribeVerifyFailStatistics', 'DescribeVerifyPersonasDeviceModelStatistics', 'DescribeVerifyPersonasOsStatistics', 'DescribeVerifyPersonasProvinceStatistics', 'DescribeVerifyPersonasSexStatistics', 'DescribeVerifySearchPageList', 'DescribeVerifyStatistics', 'DescribeMetaSearchPageList', 'DescribeMetaStatisticsList', 'DescribeMetaStatisticsPageList', 'QuerySceneConfigs', 'CreateSceneConfig', 'UpdateSceneConfig', 'DeleteSceneConfig', 'QueryVerifyDownloadTask', 'DownloadVerifyRecords', 'QueryVerifyFlowPackage', 'QueryVerifyInvokeSatistic', 'QueryCustomizeFlowStrategy', 'DeleteCustomizeFlowStrategy', 'DeleteAllCustomizeFlowStrategy', 'ModifyCustomizeFlowStrategyList', 'ModifyControlStrategy', 'QueryControlStrategy', 'DeleteControlStrategy', 'ModifyBlackListStrategy', 'QueryBlackListStrategy', 'DeleteBlackListStrategy', 'DescribeInfoCheckExportRecord', 'DescribeOssStatusV2', 'DescribeAuthVerify', 'InitAuthVerify', ], 'type' => 'directory', 'title' => 'Other', ], [ 'children' => ['CreateAuthKey', 'CreateVerifySetting', 'DescribeDeviceInfo', 'DescribeOssUploadToken', 'ModifyDeviceInfo'], 'title' => 'Others', 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'AIGCFaceVerify' => [ 'summary' => 'Detects whether an image is generated by AIGC and returns the detection result.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'abilityTreeCode' => '206861', 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'SceneId', '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' => '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' => 'query', 'schema' => ['description' => 'The product plan.', 'type' => 'string', 'required' => false, 'example' => 'LR_FR_AIGC', 'title' => ''], ], [ 'name' => 'FaceContrastPicture', 'in' => 'formData', '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' => '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' => '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' => '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' => [ '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' => [ [ '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' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '208613', 'abilityTreeNodes' => ['FEATUREcloudauth883TGF'], ], 'parameters' => [ [ 'name' => 'ParamType', 'in' => 'query', 'schema' => [ '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' => 'normal', 'title' => '', ], ], [ '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' => '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' => 'UserName', 'in' => 'query', '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' => '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' => [ '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' => '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' => ''], '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' => '', ], ], ], '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'], ], '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' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'high', 'chargeType' => 'paid', 'abilityTreeCode' => '59095', 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'SceneId', 'in' => 'formData', 'schema' => ['description' => 'The verification scenario ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000000006', 'title' => ''], ], [ 'name' => 'OuterOrderNo', 'in' => 'formData', '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', 'title' => ''], ], [ 'name' => 'SourceFaceContrastPicture', 'in' => 'formData', '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' => '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 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' => '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' => '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' => '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' => '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' => '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' => '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' => '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' => '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' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ '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' => 'The face comparison result.', 'type' => 'object', 'properties' => [ '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' => '[{"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, submit two face photos that meet all of the following conditions:'."\n" ."\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" .' "Code": "200",'."\n" .' "Message": "success",'."\n" .' "RequestId": "23699272-B263-4B6C-BC04-0EBA1AB6F6D5",'."\n" .' "ResultObject": {'."\n" .' "Passed": "T",'."\n" .' "VerifyScore": 99.60875'."\n" .' }'."\n" .'}'."\n" .'```.', 'extraInfo' => ' ## Return codes.'."\n" ."\n" .'|Return code|Return 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 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.