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-intl | |
| 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-intl')
| -rw-r--r-- | data/en_us/cloudauth-intl/2022-08-09/api-docs.php | 10448 |
1 files changed, 5363 insertions, 5085 deletions
diff --git a/data/en_us/cloudauth-intl/2022-08-09/api-docs.php b/data/en_us/cloudauth-intl/2022-08-09/api-docs.php index 6571167..a629af0 100644 --- a/data/en_us/cloudauth-intl/2022-08-09/api-docs.php +++ b/data/en_us/cloudauth-intl/2022-08-09/api-docs.php @@ -1,842 +1,846 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Cloudauth-intl', - 'version' => '2022-08-09', - ], + 'info' => ['style' => 'RPC', 'product' => 'Cloudauth-intl', 'version' => '2022-08-09'], 'directories' => [ [ - 'id' => 349786, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'Initialize', - 'CheckResult', - ], - ], - [ - 'id' => 182315, - 'title' => 'Real Person Certification', - 'type' => 'directory', - 'children' => [ - 'EkycVerify', - ], - ], - [ - 'id' => 349787, - 'title' => null, + 'children' => ['Id2MetaVerifyIntl', 'Id2MetaPeriodVerifyIntl', 'BankMetaVerifyIntl', 'Mobile2MetaVerifyIntl', 'Mobile3MetaVerifyIntl'], 'type' => 'directory', - 'children' => [ - 'FaceLiveness', - 'FaceDuplicationCheckIntl', - 'DeepfakeDetectIntlStream', - 'DeepfakeDetectIntl', - 'FaceGuardRisk', - 'FaceCompare', - 'FaceCrossCompareIntl', - ], + 'title' => 'Information verification', ], [ - 'id' => 207369, - 'title' => 'Identification', + 'children' => ['CredentialRecognitionIntl', 'CredentialSubmitIntl', 'CredentialGetResultIntl', 'CredentialVerifyIntl'], 'type' => 'directory', - 'children' => [ - 'DocOcrMax', - 'DocOcr', - ], + 'title' => 'Credential detection', ], [ - 'id' => 207370, - 'title' => 'information verification', + 'children' => ['AddressVerifyV2Intl', 'AddressCompareIntl'], 'type' => 'directory', - 'children' => [ - 'Id2MetaVerifyIntl', - 'Id2MetaPeriodVerifyIntl', - 'BankMetaVerifyIntl', - 'Mobile2MetaVerifyIntl', - 'Mobile3MetaVerifyIntl', - ], + 'title' => 'Address verification', ], [ - 'id' => 207371, - 'title' => 'credential detection', + 'children' => ['KeepaliveIntl', 'DeleteVerifyResult', 'CheckVerifyLog'], 'type' => 'directory', - 'children' => [ - 'CredentialRecognitionIntl', - 'CredentialSubmitIntl', - 'CredentialGetResultIntl', - 'CredentialVerifyIntl', - ], + 'title' => 'Auxiliary operations', ], [ - 'id' => 236783, - 'title' => 'Address Verification', + 'children' => ['AddFaceRecord', 'DownloadVerifyRecordIntl', 'QueryFaceGroup', 'ModifyFaceGroup', 'DeleteFaceGroup', 'QueryFaceRecord', 'ModifyFaceRecord', 'DeleteFaceRecord', 'TempOssUrlIntl', 'TempAccessTokenIntl'], 'type' => 'directory', - 'children' => [ - 'AddressVerifyV2Intl', - 'AddressCompareIntl', - ], + 'title' => 'Console', ], [ - 'id' => 187491, - 'title' => 'Auxiliary Interface', + 'children' => ['CardOcr', 'FraudResultCallBack', 'AddressVerifyIntl'], 'type' => 'directory', - 'children' => [ - 'KeepaliveIntl', - 'DeleteVerifyResult', - 'CheckVerifyLog', - ], + 'title' => 'Deprecated', ], [ - 'id' => 280922, - 'title' => 'Other', - 'type' => 'directory', 'children' => [ - 'AddFaceRecord', - 'DownloadVerifyRecordIntl', - 'QueryFaceGroup', - 'ModifyFaceGroup', - 'DeleteFaceGroup', - 'QueryFaceRecord', - 'ModifyFaceRecord', - 'DeleteFaceRecord', - 'TempOssUrlIntl', - 'TempAccessTokenIntl', + 'DocOcrV2', 'CheckResult', 'DeepfakeDetectIntl', 'DeepfakeDetectIntlStream', 'DeleteFaceRecordV2', 'DocOcr', 'DocOcrMax', 'DocOcrMaxV2', 'EkycVerify', 'EkycVerifyV2', 'FaceCompare', 'FaceCompareV2', 'FaceCrossCompareIntl', 'FaceDuplicationCheckIntl', 'FaceGuardRisk', 'FaceLiveness', 'FaceLivenessV2', 'FaceVerifyIntl', 'IdnAuthorityVerifyIntl', 'Initialize', + 'InitializeV2', ], - ], - [ - 'id' => 349794, - 'title' => null, 'type' => 'directory', - 'children' => [ - 'CardOcr', - 'FraudResultCallBack', - 'AddressVerifyIntl', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'Initialize' => [ - 'summary' => 'Authentication Initialization', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AddFaceRecord' => [ + 'summary' => 'Adds a face image to a specified face library.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '149600', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCW0JNH', - 'FEATUREcloudauth6RJHVQ', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ + 'name' => 'FaceGroupCode', + 'in' => 'formData', + 'schema' => ['description' => 'The face library code.', 'type' => 'string', 'required' => true, 'example' => 'sgl****7uc', 'title' => ''], + ], + [ 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The product solution to be integrated. The values are as follows:'."\n" - ."\n" - .'- KYC_GLOBAL (eKYC product solution)'."\n" - .'- FV_GLOBAL (Live Face Verification)'."\n" - .'- FL_GLOBAL (Liveness Detection)'."\n" - .'- IDR_GLOBAL (Single Document Verification)'."\n" - .'- OCR_GLOBAL (Single Document OCR)', - 'type' => 'string', - 'required' => false, - 'example' => 'KYC_GLOBAL', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => true, 'example' => 'FACE_ENROLL', 'title' => ''], ], [ - 'name' => 'MerchantBizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant, used for subsequent 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' => 'e0c34a***353888', - ], + 'name' => 'MerchantUserId', + 'in' => 'formData', + 'schema' => ['description' => 'The custom unique user ID. The value cannot exceed 32 characters.'."\n" + .'- If this parameter is specified, the system registers the user with the specified MerchantUserId.'."\n" + .'- If this parameter is not specified, the image name is used by default.', 'type' => 'string', 'required' => false, 'example' => '130A2C10B9EE4D8488E35384FF03hst', 'title' => ''], ], [ - 'name' => 'MetaInfo', - 'in' => 'query', - 'schema' => [ - 'description' => 'Metainfo environment parameter, which needs to be obtained through the client SDK.', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"bioMetaInfo\\":\\"4.1.0:2916352,0\\",\\"deviceType\\":\\"web\\",\\"ua\\":\\"Mozilla/5.0 (Macintosh', - ], + 'name' => 'FacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face image to register.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'DocType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Document type, uniquely identified by an 8-digit combination.'."\n" - .'Note: This parameter is required only when ProductCode is KYC_GLOBAL, OCR_GLOBAL, or IDR_GLOBAL.', - 'type' => 'string', - 'required' => false, - 'example' => '01560000'."\n" - ."\n", - ], + 'name' => 'FacePictureUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the face image to register.', 'type' => 'string', 'required' => false, 'example' => 'https://www.xxxxx.com/test.jpg', 'title' => ''], ], [ - 'name' => 'MerchantUserId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Your custom user ID or other identifiers that can recognize specific users, such as phone numbers or email addresses. It is strongly recommended to pre-desensitize the value of this field, for example, by hashing it.', - 'type' => 'string', - 'required' => false, - 'example' => '1221****6543', - ], + 'name' => 'FacePictureFile', + 'in' => 'formData', + 'schema' => ['description' => 'The file stream of the face image to register.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], ], [ - 'name' => 'SceneCode', - 'in' => 'query', + 'name' => 'FaceQualityCheck', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to check the quality of the face image. Valid values:'."\n" + .'- Y: enabled.'."\n" + .'- N: disabled (default).', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Scene code. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => '123****123', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '7A0D192A-CC0C-5DE5-A3B6-A14CF45508F2'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Passed' => ['description' => 'Indicates whether the verification is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'ExtFaceInfo' => ['description' => 'The face result information.', 'type' => 'string', 'example' => '{'."\n" + .'"faceQuality": "HIGH"'."\n" + .'}'."\n" + ."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Add a face record', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'Pages', - 'in' => 'query', - 'schema' => [ - 'description' => 'Page configuration for collection, multiple pages are connected using commas. The value range is as follows:'."\n" - .'- **01**: Front side of the document'."\n" - ."\n" - .'- **01,02**: Front and back sides of the document'."\n" - ."\n" - .'> When this value is 01,02, currently only Chinese and Vietnamese IDs are supported.', - 'type' => 'string', - 'required' => false, - 'example' => '01', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:AddFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7A0D192A-CC0C-5DE5-A3B6-A14CF45508F2\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"ExtFaceInfo\\": \\"{\\\\n\\\\\\"faceQuality\\\\\\": \\\\\\"HIGH\\\\\\"\\\\n}\\\\n\\\\n\\"\\n }\\n}","type":"json"}]', + ], + 'AddressCompareIntl' => [ + 'summary' => 'Compares the similarity of two addresses.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'FacePictureBase64', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded face image. If you choose to pass the face image via FacePictureBase64, please check the image size and do not upload images larger than 1 MB.'."\n" - .'When productCode is FV_GLOBAL, choose one of the parameters between FacePictureBase64 and FacePictureUrl to pass in.', - 'type' => 'string', - 'required' => false, - 'example' => 'Base64', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U'], + ], + 'parameters' => [ [ - 'name' => 'FacePictureUrl', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Face image URL. A publicly accessible HTTP or HTTPS link. When productCode is FV_GLOBAL, choose one of the parameters between FacePictureUrl and FacePictureBase to pass in.', - 'type' => 'string', - 'required' => false, - 'example' => '***', - ], + 'schema' => ['description' => 'ADD_VERIFY.', 'type' => 'string', 'required' => true, 'example' => '固定值:ADD_VERIFY', 'title' => ''], ], [ - 'name' => 'Crop', + 'name' => 'Text1', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to crop. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'schema' => ['description' => 'Address 1.', 'type' => 'string', 'required' => true, 'example' => '杭州市阿里巴巴西溪园区', 'title' => ''], ], [ - 'name' => 'Ocr', + 'name' => 'Text2', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable OCR. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => 'Address 2.', 'type' => 'string', 'required' => true, 'example' => '杭州市文一西路969号1号楼', 'title' => ''], ], [ - 'name' => 'IdFaceQuality', + 'name' => 'DefaultCountry', 'in' => 'query', + 'schema' => ['description' => 'The country name. Valid values:'."\n" + .'- China.', 'type' => 'string', 'required' => true, 'example' => '固定值:中国', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Face image quality. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '86C40EC3-5940-5F47-995C-BFE90B70E540'."\n"], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Data' => ['description' => 'The sameLevel parameter has the following valid values:'."\n" + .'- all: completely identical'."\n" + .'- prov: province level '."\n" + .'- city: city level'."\n" + .'- district: district level'."\n" + .'- town: street level'."\n" + .'- road: road level'."\n" + .'- roadno: road number level'."\n" + .'- poi: community/neighborhood level'."\n" + .'- roomno: room number level.', 'type' => 'string', 'example' => '{'."\n" + .' sameLevel: "city", '."\n" + .' distance: 5997.34m, -- 地址相差距离'."\n" + .' same_info: { -- 相同信息'."\n" + .' prov: "浙江省",'."\n" + .' city: "杭州市",'."\n" + .' district: "西湖区"'."\n" + .' } '."\n" + .'}', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Compare address similarity', + 'description' => 'Compares two addresses for consistency by using address standardization.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'IdSpoof', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable certificate anti-counterfeiting detection. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:AddressCompareIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\\\n\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Data\\": \\"{\\\\n sameLevel: \\\\\\"city\\\\\\", \\\\n distance: 5997.34m, -- 地址相差距离\\\\n same_info: { -- 相同信息\\\\n prov: \\\\\\"浙江省\\\\\\",\\\\n city: \\\\\\"杭州市\\\\\\",\\\\n district: \\\\\\"西湖区\\\\\\"\\\\n } \\\\n}\\"\\n }\\n}","type":"json"}]', + ], + 'AddressVerifyIntl' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'ReturnUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'Client-side callback address.', - 'type' => 'string', - 'required' => false, - 'example' => 'http*****', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + ], + 'parameters' => [ [ - 'name' => 'Authorize', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable authoritative identity verification, currently applicable only to the second-generation ID card in mainland China. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => 'Fixed value: ADD_VERIFY_PRO.', 'type' => 'string', 'required' => true, 'example' => 'ADD_VERIFY_PRO', 'title' => ''], ], [ - 'name' => 'DocScanMode', + 'name' => 'VerifyType', 'in' => 'query', - 'schema' => [ - 'description' => 'Document capture mode.'."\n" - ."\n" - .'- manual: Manual capture.'."\n" - .'- auto: Automatic capture (default)', - 'type' => 'string', - 'required' => false, - 'example' => 'manual', - ], + 'schema' => ['description' => 'The address verification method. Valid values:'."\n" + .'- HOME: home address verification'."\n" + .'- WORK: work address verification.', 'type' => 'string', 'required' => true, 'example' => 'HOME', 'title' => ''], ], [ - 'name' => 'ProductFlow', + 'name' => 'Mobile', 'in' => 'query', - 'schema' => [ - 'description' => 'Supports card and face sequential arrangement:'."\n" - ."\n" - .'- DOC_FACE (default)'."\n" - .'- FACE_DOC'."\n" - ."\n" - .'Note: This parameter is required only when ProductCode is KYC_GLOBAL.', - 'type' => 'string', - 'required' => false, - 'example' => 'DOC_FACE', - ], + 'schema' => ['description' => 'Chinese mainland phone numbers are supported.', 'type' => 'string', 'required' => true, 'example' => '1872334****', 'title' => ''], ], [ - 'name' => 'CallbackUrl', + 'name' => 'DefaultCountry', 'in' => 'query', - 'schema' => [ - 'description' => 'Callback notification address for authentication results. The default callback request method is GET, and the callback address must start with https. After completing the authentication, the platform will call back this address and automatically add the transactionId, passed, and subcode fields.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.aliyun.com?callbackToken=1000004826&transactionId=shaxxxx&passed=Y&subCode=200', - ], + 'schema' => ['description' => 'The country name. Currently, only China is supported.', 'type' => 'string', 'required' => true, 'example' => '中国', 'title' => ''], ], [ - 'name' => 'CallbackToken', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'description' => 'Security Token, used for preventing duplication and tampering. If this parameter is passed, the CallbackToken field will be displayed in the callback address.', - 'type' => 'string', - 'required' => false, - 'example' => '7ca5c68d869344ea8eeb30cdfd544544-6358700', - ], + 'schema' => ['description' => 'The type of the address to verify. Valid values:'."\n" + .'- "0": text address'."\n" + .'- "1": coordinates (longitude and latitude).', 'type' => 'string', 'required' => true, 'example' => '“0”', 'title' => ''], ], [ - 'name' => 'LanguageConfig', + 'name' => 'Longitude', 'in' => 'query', - 'schema' => [ - 'description' => 'Language configuration. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => 'en', - ], + 'schema' => ['description' => 'The longitude.', 'type' => 'string', 'required' => false, 'example' => '“121.4737”', 'title' => ''], ], [ - 'name' => 'SecurityLevel', + 'name' => 'Latitude', 'in' => 'query', - 'schema' => [ - 'description' => 'Represents different security levels in the authentication process. The available values are as follows:'."\n" - ."\n" - .'01: Normal mode (default).'."\n" - .'02: Secure mode, a relatively strict mode, suitable for high-risk scenarios. (IDV product input parameter)', - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'schema' => ['description' => 'The latitude.', 'type' => 'string', 'required' => false, 'example' => '“31.2304”', 'title' => ''], ], [ - 'name' => 'StyleConfig', + 'name' => 'Text', 'in' => 'query', - 'schema' => [ - 'description' => 'Custom UI configuration. Based on the configuration template, convert your custom UI configuration into a JSON string and pass it through this interface. For more information, see [IDV UI Customization](https://www.alibabacloud.com/help/zh/ekyc/latest/idv-kyc-custom-skin?spm=a2c63.p38356.0.i60).', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "guidepage:": {****}, '."\n" - .' "ocrPage": {****},'."\n" - .' "ocrResultPage": [****],'."\n" - .' "facePage": {****},'."\n" - .'}', - ], + 'schema' => ['description' => 'The detailed address in text format.', 'type' => 'string', 'required' => false, 'example' => '阿里巴巴西溪园区', 'title' => ''], ], [ - 'name' => 'ExperienceCode', + 'name' => 'DefaultProvince', 'in' => 'query', - 'schema' => [ - 'description' => 'Experience code', - 'type' => 'string', - 'required' => false, - 'example' => '9be7b7d0180041219e5ab03ac6dab5fb', - ], + 'schema' => ['description' => 'The default province.', 'type' => 'string', 'required' => false, 'example' => '浙江省', 'title' => ''], ], [ - 'name' => 'DocVideo', + 'name' => 'DefaultCity', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to require a video for evidence.'."\n" - ."\n" - .'- N: Not required (default).'."\n" - ."\n" - .'- Y: During the authentication process, a 1~2 second video of the user\'s face will be captured and returned via the query interface.'."\n" - ."\n" - .'> Due to the large size of the video file, the system may discard it when the network is unstable, prioritizing the transmission of necessary images for authentication.', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'schema' => ['description' => 'The default city.', 'type' => 'string', 'required' => false, 'example' => '杭州市', 'title' => ''], ], [ - 'name' => 'Model', + 'name' => 'DefaultDistrict', 'in' => 'query', + 'schema' => ['description' => 'The default district.', 'type' => 'string', 'required' => false, 'example' => '余杭区', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of liveness detection to be performed:'."\n" - ."\n" - .'- **LIVENESS** (default): Blinking action liveness detection.'."\n" - ."\n" - .'- **PHOTINUS_LIVENESS**: Blinking action liveness + photinus liveness dual detection.'."\n" - ."\n" - .'> '."\n" - .'> - For supported SDK versions, see [SDK Publishing Record](https://www.alibabacloud.com/help/zh/ekyc/latest/sdk-publishing-record?spm=a2c63.p38356.0.i99).'."\n" - .'> - PC does not support photinus liveness dual detection.', - 'type' => 'string', - 'required' => false, - 'example' => 'PHOTINUS_LIVENESS', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '86C40EC3-5940-5F47-995C-BFE90B70E540'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'TransactionId' => ['description' => 'The unique identifier of the verification request.', 'type' => 'string', 'example' => 'hksb7ba1b28130d24e015d69********', 'title' => ''], + 'Passed' => ['description' => 'The verification result. Valid values:'."\n" + .'- Y: The verified address is within 10 km of the residential address.'."\n" + .'- N: The verified address is more than 10 km from the residential address.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The description of the verification result.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'AddressInfo' => ['description' => 'The address verification details.', 'type' => 'string', 'example' => '0-3000', 'title' => ''], + 'IspName' => ['description' => 'The telecommunications service provider name. Valid values:'."\n" + .'- CMCC: China Mobile'."\n" + .'- CTCC: China Telecom'."\n" + .'- CUCC: China Unicom.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'staticInfo' => [ + 'substitutions' => ['Cloudauth-intl::2022-08-09::AddressVerifyV2Intl'], + 'returnType' => 'synchronous', + ], + 'title' => 'Address verification', + 'summary' => 'Verifies whether a specified address belongs to a user\'s residential address based on telecommunications service provider capabilities, using a phone number and an address (or coordinates).', + 'description' => 'Verifies whether a specified address belongs to a user\'s residential address based on telecommunications service provider capabilities, using a phone number and an address (or coordinates).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddressVerifyIntl'], + ], + ], + 'ramActions' => [ [ - 'name' => 'IdThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'Custom OCR quality detection threshold mode:'."\n" - .'- **0**: Standard mode'."\n" - .'- **1**: Strict mode'."\n" - .'- **2**: Lenient mode'."\n" - .'- **3** (default): Disable quality detection', - 'type' => 'string', - 'required' => false, - 'example' => '0', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:AddressVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"TransactionId\\": \\"hksb7ba1b28130d24e015d69********\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"AddressInfo\\": \\"0-3000\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + ], + 'AddressVerifyV2Intl' => [ + 'summary' => 'Verifies an address.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'ShowAlbumIcon', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'In the document OCR recognition step, whether to display the album upload entry:'."\n" - ."\n" - .'- **1**: Display (default)'."\n" - ."\n" - .'- **0**: Do not display', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The product code. Set this parameter to ADD_VERIFY_PRO.', 'type' => 'string', 'required' => true, 'example' => 'ADD_VERIFY_PRO', 'title' => ''], ], [ - 'name' => 'ShowOcrResult', + 'name' => 'VerifyType', 'in' => 'query', - 'schema' => [ - 'description' => 'In the document OCR recognition step, whether to display the recognition result page:'."\n" - ."\n" - .'- **1**: Display (default)'."\n" - ."\n" - .'- **0**: Do not display', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The address verification method. Valid values:'."\n" + ."\n" + .'- HOME: home address verification.'."\n" + .'- WORK: work address verification.', 'type' => 'string', 'required' => false, 'example' => 'HOME', 'title' => ''], ], [ - 'name' => 'ShowGuidePage', + 'name' => 'Mobile', 'in' => 'query', - 'schema' => [ - 'description' => 'Switch to control whether to display the guide page:'."\n" - ."\n" - .'- **1**: Display (default)'."\n" - ."\n" - .'- **0**: Do not display', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The China mobile phone number.', 'type' => 'string', 'required' => false, 'example' => '1872334****', 'title' => ''], ], [ - 'name' => 'ProcedurePriority', + 'name' => 'RegCountry', 'in' => 'query', - 'schema' => [ - 'description' => 'When compatibility issues occur with H5-based mobile authentication, whether to allow a fallback handling method.'."\n" - ."\n" - .'- **url** (default): Support fallback. The page displays the authentication URL, which users can copy and open in another browser to continue the authentication process.'."\n" - ."\n" - .'- **keep**: Do not support fallback. Directly return the error reason and end the authentication process.'."\n" - ."\n\n" - .'> '."\n" - .'> - This switch is not supported on PC.'."\n" - .'> - If the business scenario involves completing authentication through an embedded web page in an app, it is recommended to set this parameter to `keep` to disallow URL fallback.', - 'type' => 'string', - 'required' => false, - 'example' => 'url', - ], + 'schema' => ['description' => 'The list of prohibited countries.', 'type' => 'string', 'required' => true, 'example' => '目前仅支持:USA', 'title' => ''], ], [ - 'name' => 'AppQualityCheck', + 'name' => 'Text', 'in' => 'query', - 'schema' => [ - 'description' => '<warning>This feature is currently not supported by **Web SDK**. Please refer to the App SDK integration if needed.</warning>'."\n" - ."\n" - .'Whether to enable strict face quality detection:'."\n" - .'- Y: Enable (default)'."\n" - .'- N: Disable', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'schema' => ['description' => 'The detailed address text.', 'type' => 'string', 'required' => false, 'example' => '江苏省常州市*******小区', 'title' => ''], ], [ - 'name' => 'DocPageConfig', + 'name' => 'DeviceToken', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The device token, which is used for risk identification.', 'type' => 'string', 'required' => true, 'example' => 'Tk9SSUQuMS*****************ZDNmNWY5NzQxOW1o', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Customer-defined input to specify whether to collect more pages', - 'type' => 'array', - 'items' => [ - 'description' => 'Collection page', - 'type' => 'string', - 'required' => false, - 'example' => 'OCR_ID_BACK', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '7F971622-38C0-5F56-B2EC-315367979B4F'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The verification result.', + 'type' => 'object', + 'properties' => [ + 'TransactionId' => ['description' => 'The authentication ID.', 'type' => 'string', 'example' => 'hksb7ba1b28130d24e015d69********', 'title' => ''], + 'BizCode' => ['description' => 'The verification result. Valid values:'."\n" + .'- 1: Passed.'."\n" + .'- 2: Failed (the device is in a prohibited region). '."\n" + .'- 3: Unable to determine.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Detail' => ['description' => 'The verification details, which include:'."\n" + ."\n" + .'- distanceRange: the location range. '."\n" + .'- ispName: the ISP name. '."\n" + .'- phoneStatus: the phone status. A value of 0 indicates abnormal. A value of 1 indicates Normal. Otherwise, the status is unknown.', 'type' => 'string', 'example' => '{'."\n" + .' "distanceRange": "0-3000",'."\n" + .' "ispName": "CTCC",'."\n" + .' "phoneStatus": "1"'."\n" + .'}', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], ], - 'required' => false, + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Address verification', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'MRTDInput', - 'in' => 'query', - 'schema' => [ - 'description' => 'Source of MRTD verification parameters. This parameter is required to decrypt information when reading the document chip via NFC.'."\n" - ."\n" - .'- **0**: User input'."\n" - ."\n" - .'- **1**: OCR read'."\n" - ."\n" - .'- **2**: Passed through the API', - 'type' => 'string', - 'required' => false, - 'example' => '0', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:AddressVerifyV2Intl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7F971622-38C0-5F56-B2EC-315367979B4F\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"hksb7ba1b28130d24e015d69********\\",\\n \\"BizCode\\": \\"1\\",\\n \\"Detail\\": \\"{\\\\n \\\\\\"distanceRange\\\\\\": \\\\\\"0-3000\\\\\\",\\\\n \\\\\\"ispName\\\\\\": \\\\\\"CTCC\\\\\\",\\\\n \\\\\\"phoneStatus\\\\\\": \\\\\\"1\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', + ], + 'BankMetaVerifyIntl' => [ + 'summary' => 'Provides bank card element verification (two-element, three-element, and four-element) API operations.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'DocumentNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'Document number'."\n" - ."\n" - .'**MRTDInput = 2** is required.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauth883TGF'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'DateOfBirth', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Date of birth on the document'."\n" - ."\n" - .'**MRTDInput = 2** is required.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'Fixed value: BANK_CARD_N_META.', 'type' => 'string', 'required' => true, 'example' => 'BANK_CARD_N_META'."\n", 'title' => ''], ], [ - 'name' => 'DateOfExpiry', + 'name' => 'ParamType', 'in' => 'query', - 'schema' => [ - 'description' => 'Expiration date on the document'."\n" - ."\n" - .'**MRTDInput = 2** is required.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + .'- normal: no encryption'."\n" + .'- md5: MD5 encryption'."\n" + ."\n" + .'Important:'."\n" + ."\n" + .'- All encrypted parameter values must be 32-character lowercase MD5 strings.'."\n" + .'- Different MD5 tools may produce different ciphertext. If the API call succeeds before encryption but fails after encryption, try a different MD5 tool.', 'type' => 'string', 'required' => true, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'UseNFC', + 'name' => 'VerifyMode', 'in' => 'query', - 'schema' => [ - 'description' => 'When **DocType**=01000000 (global passport), you can choose whether to enable NFC verification.'."\n" - .'- **Y** (enable)'."\n" - .'- **N** (disable)', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'schema' => ['description' => 'VERIFY_BANK_CARD: bank card authentication mode. Indicates whether the provided bank card number matches the user\'s real name, ID card number, and phone number.', 'type' => 'string', 'required' => true, 'example' => 'VERIFY_BANK_CARD', 'title' => ''], ], [ - 'name' => 'ChameleonFrameEnable', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable adaptive color-changing window border'."\n" - .'- **Y**: Enable'."\n" - .'- **N**: Disable', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'schema' => ['description' => 'The product type to call. 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' => true, 'example' => 'BANK_CARD_4_META', 'title' => ''], ], [ - 'name' => 'DocNo', + 'name' => 'BankCard', 'in' => 'query', - 'schema' => [ - 'description' => 'User\'s document number.', - 'type' => 'string', - 'required' => false, - 'example' => '411xxxxxxxxxxx0001', - ], + '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, provide the plaintext of all digits except the last 6 digits + the MD5 value (32-character lowercase) of the last 6 digits.', 'type' => 'string', 'required' => true, 'example' => '● 明文:12345678******'."\n" + .'● 密文:'."\n" + .'12345678f8ee21920e37807b43e7e912ab829b6e', 'title' => ''], ], [ - 'name' => 'DocName', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => 'User\'s real name.', - 'type' => 'string', - 'required' => false, - 'example' => '张三', - ], + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- If paramType is set to normal, enter the name in plaintext.'."\n" + .'- If paramType is set to md5, provide the MD5-encrypted first character of the name (32-character lowercase MD5) + the plaintext of the remaining characters.', 'type' => 'string', 'required' => true, 'example' => '张*'."\n", 'title' => ''], ], [ - 'name' => 'EditOcrResult', + 'name' => 'IdentityType', 'in' => 'query', - 'schema' => [ - 'description' => 'In the document OCR recognition step, whether the recognition result page is editable:'."\n" - ."\n" - .'- **0**: Not editable'."\n" - ."\n" - .'- **1** (default): Editable', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID document type. If left empty, the default value is ID card. For other document types, refer to the table below.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], ], [ - 'name' => 'VerifyModel', + 'name' => 'IdentifyNum', 'in' => 'query', - 'schema' => [ - 'title' => '验证的类型', - 'description' => 'Type of verification', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The ID document number.'."\n" + .'- If paramType is set to normal, enter the ID document number in plaintext.'."\n" + .'- If paramType is set to md5:'."\n" + .' - For ID cards: the first 6 digits (plaintext) + date of birth (ciphertext) + the last 4 digits (plaintext).'."\n" + .' - For other documents: the last 2 characters are MD5-encrypted.'."\n" + ."\n" + .'Important:'."\n" + .'This parameter is required when ProductType is set to one of the following values:'."\n" + .'- BANK_CARD_3_META'."\n" + .'- BANK_CARD_4_META.', 'type' => 'string', 'required' => false, 'example' => '● 明文:429001********8211'."\n" + .'● 密文:'."\n" + .'42900132fa7bcd874161bea8ec8fd98f390ec98211', 'title' => ''], ], [ - 'name' => 'FaceGroupCodes', + 'name' => 'Mobile', 'in' => 'query', + 'schema' => ['description' => 'The phone number.'."\n" + .'- If paramType is set to normal, enter the phone number in plaintext.'."\n" + .'- If paramType is set to md5, enter the phone number in ciphertext.'."\n" + ."\n" + .'Important:'."\n" + ."\n" + .'- This parameter is required when ProductType is set to BANK_CARD_4_META.', 'type' => 'string', 'required' => false, 'example' => '● 明文:186****2055'."\n" + .'● 密文:'."\n" + .'849169cd3b20621c1c78bd61a11a4fc2', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '需要比对的人脸库', - 'description' => 'Face library to be compared', - 'type' => 'string', - 'required' => false, - 'example' => '0e0c34a77f', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EB35****87EBA1'], + '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' => 'The result information.', + 'type' => 'object', + 'properties' => [ + 'BizCode' => ['description' => 'The verification result code. Valid values:'."\n" + .'- 1: Verification consistent (billable).'."\n" + .'- 2: Verification 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**: Authentication information inconsistent. The cardholder information is incorrect.'."\n" + .'- **202**: Authentication information inconsistent. The bank card has not enabled authenticated payment.'."\n" + .'- **203**: Authentication information inconsistent. The bank card has expired.'."\n" + .'- **204**: Authentication information inconsistent. The bank card is restricted.'."\n" + .'- **205**: Authentication information inconsistent. The card has been confiscated.'."\n" + .'- **206**: Authentication information inconsistent. The bank card is invalid.'."\n" + .'- **207**: Authentication information inconsistent. No issuing bank found for this card.'."\n" + .'- **208**: Authentication information inconsistent. The card is not initialized or is a dormant card.'."\n" + .'- **209**: Authentication information inconsistent. The card is a fraudulent or retained card.'."\n" + .'- **210**: Authentication information inconsistent. The card has been reported lost.'."\n" + .'- **211**: Authentication information inconsistent. The number of incorrect password attempts has exceeded the limit.'."\n" + .'- **212**: Authentication information inconsistent. The issuing bank does not support this transaction.'."\n" + .'- **213**: Authentication information inconsistent. The card status is abnormal or the card is invalid.'."\n" + .'- **214**: Authentication information inconsistent. No phone number is registered with the card.'."\n" + .'- **215**: Authentication information inconsistent. The password, expiration date, or CVN2 is incorrect.'."\n" + .'- **216**: Authentication information inconsistent. Other card exceptions.'."\n" + .'- **301**: Verification unavailable. The bank card does not support this service.'."\n" + .'- **302**: Verification unavailable. Verification failed or the bank rejected the verification. Contact the issuing bank.'."\n" + .'- **303**: Verification unavailable. The bank card does not currently support phone number verification.'."\n" + .'- **304**: Verification unavailable. The bank card number is incorrect.'."\n" + .'- **305**: Verification unavailable. Other reasons.'."\n" + .'- **306**: Verification unavailable. The number of verification attempts has exceeded the limit.', 'type' => 'string', 'example' => '101', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], - [ - 'name' => 'TargetFacePicture', - 'in' => 'query', - 'schema' => [ - 'title' => '人像照片Base64编码。', - 'description' => 'Base64 encoding of the portrait photo.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', + 'title' => 'Bank card element verification', + 'description' => 'Verifies bank card elements, 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) for consistency.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BankMetaVerifyIntl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:BankMetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'CardOcr' => [ + 'summary' => 'Provides server-side ID card and certificate OCR capabilities.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TargetFacePictureUrl', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '178782', + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH', 'FEATUREcloudauthHOSIED', 'FEATUREcloudauthWSJE4H'], + ], + 'parameters' => [ + [ + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'title' => '人像图片地址,公网可访问的HTTP、HTTPS链接。', - 'description' => 'Portrait image URL, accessible via public HTTP or HTTPS link.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.xxxxx.com/1.jpg', - ], + 'schema' => ['description' => 'The merchant-defined unique business ID used for subsequent troubleshooting. The value can be a combination of letters and digits with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'dso9322***dsjsd22', 'title' => ''], ], [ - 'name' => 'AutoRegistration', + 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'title' => '是否开启自动注册', - 'description' => 'Whether to enable automatic registration', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The merchant user ID or another identifier that can be used to identify a specific user, such as a phone number or email address. We strongly recommend that you pre-desensitize the value of the userId field, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ - 'name' => 'FaceRegisterGroupCode', + 'name' => 'IdOcrPictureBase64', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded image of the front side of the ID document. The value is a Base64 encoding of the image.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], + ], + [ + 'name' => 'IdOcrPictureUrl', 'in' => 'query', - 'schema' => [ - 'title' => '注册人脸库。', - 'description' => 'Face library for registration.', - 'type' => 'string', - 'required' => false, - 'example' => '0e0c34a77f', - ], + 'schema' => ['description' => 'The URL of the front-side image of the ID document.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", 'title' => ''], ], [ - 'name' => 'SaveFacePicture', + 'name' => 'DocType', 'in' => 'query', - 'schema' => [ - 'title' => '是否保存人脸图片', - 'description' => 'Whether to save the face image', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The document type.', 'type' => 'string', 'required' => false, 'example' => '00000006', 'title' => ''], ], [ - 'name' => 'FaceVerifyThreshold', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'title' => '人脸验证阈值', - 'description' => 'Face verification threshold', - 'type' => 'string', - 'required' => false, - 'example' => '0.5', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'ID_OCR_MIN', 'title' => ''], ], [ - 'name' => 'ReturnFaces', + 'name' => 'Ocr', 'in' => 'query', - 'schema' => [ - 'title' => '返回重复人脸数量', - 'description' => 'Number of duplicate faces returned', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to perform OCR on the ID document. Valid values:'."\n" + .'- T: Perform OCR on the ID document. This is the default value.'."\n" + .'- F: Do not perform OCR.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], ], [ - 'name' => 'Mobile', + 'name' => 'IdFaceQuality', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to perform face quality detection on the ID document. Valid values:'."\n" + .'- T: Perform face quality detection.'."\n" + .'- F: Do not perform face quality detection. This is the default value.', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], ], [ - 'name' => 'Email', + 'name' => 'Spoof', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to enable anti-spoofing detection. Valid values:'."\n" + .'- T: Enable anti-spoofing detection.'."\n" + .'- F: Disable anti-spoofing detection. This is the default value.', 'type' => 'string', 'required' => false, 'example' => 'F', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'Authentication ID', - 'type' => 'string', - 'example' => '08573be80f944d95ac812e019e3655a8', - ], - 'ClientCfg' => [ - 'description' => 'Client configuration', - 'type' => 'string', - 'example' => '***', - ], - 'TransactionUrl' => [ - 'description' => 'Web authentication URL', - 'type' => 'string', - 'example' => 'http****', - ], - 'Protocol' => [ - 'description' => 'Standard encryption protocol for authentication.'."\n" - ."\n" - .'> This field is required when integrating with H5 web pages using iframe embedding.', - 'type' => 'string', - 'example' => 'hksb7ba1b28130d24e015d*********', - ], + 'TransactionId' => ['description' => 'The unique ID of the authentication request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the authentication is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The additional result information.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'ExtCardInfo' => ['description' => 'The ID card and certificate recognition result.', 'type' => 'string', 'example' => '{'."\n" + .' "idFaceQualityScore": 98.90,'."\n" + .' "ocrIdInfo": {'."\n" + .' "expiryDate": "2024-04-20",'."\n" + .' "placeOfIssue": "广东",'."\n" + .' "englishName": "ZHENGJIAN,YANGBEN",'."\n" + .' "originOfIssue": "公安部出入境管理局",'."\n" + .' "sex": "女",'."\n" + .' "name": "证件样本",'."\n" + .' "idNumber": "C00000000",'."\n" + .' "issueDate": "2014-04-21",'."\n" + .' "birthDate": "1981-08-03"'."\n" + .' },'."\n" + .' "spoofInfo": {'."\n" + .' "spoofResult": "N",'."\n" + .' "spoofType": ['."\n" + .' "SCREEN_REMARK"'."\n" + .' ]'."\n" + .' }'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"ClientCfg\\": \\"***\\",\\n \\"TransactionUrl\\": \\"http****\\",\\n \\"Protocol\\": \\"hksb7ba1b28130d24e015d*********\\"\\n }\\n}","type":"json"}]', - 'title' => 'Initialization', - 'translator' => 'machine', - ], - 'CheckResult' => [ - 'summary' => 'Result Query', - 'methods' => [ - 'post', + 'staticInfo' => [ + 'substitutions' => ['Cloudauth-intl::2022-08-09::DocOcr'], + 'returnType' => 'synchronous', + ], + 'title' => 'ID card and certificate OCR server-side API', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CardOcr'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CardOcr', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"**\\",\\n \\"ExtCardInfo\\": \\"{\\\\n \\\\\\"idFaceQualityScore\\\\\\": 98.90,\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"expiryDate\\\\\\": \\\\\\"2024-04-20\\\\\\",\\\\n \\\\\\"placeOfIssue\\\\\\": \\\\\\"广东\\\\\\",\\\\n \\\\\\"englishName\\\\\\": \\\\\\"ZHENGJIAN,YANGBEN\\\\\\",\\\\n \\\\\\"originOfIssue\\\\\\": \\\\\\"公安部出入境管理局\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"女\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"证件样本\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"C00000000\\\\\\",\\\\n \\\\\\"issueDate\\\\\\": \\\\\\"2014-04-21\\\\\\",\\\\n \\\\\\"birthDate\\\\\\": \\\\\\"1981-08-03\\\\\\"\\\\n },\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"N\\\\\\",\\\\n \\\\\\"spoofType\\\\\\": [\\\\n \\\\\\"SCREEN_REMARK\\\\\\"\\\\n ]\\\\n }\\\\n}\\"\\n }\\n}","type":"json"}]', + ], + 'CheckResult' => [ + 'summary' => 'Queries the verification result.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -849,437 +853,486 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '149753', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCS0SDG', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthCS0SDG'], ], 'parameters' => [ [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant, used for subsequent 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' => 'djs20d***9-dsskc', - ], + 'schema' => ['description' => 'The merchant-defined unique business ID used for subsequent troubleshooting. The value can be a combination of letters and digits with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'djs20d***9-dsskc', 'title' => ''], ], [ 'name' => 'TransactionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Authentication ID.', - 'type' => 'string', - 'required' => false, - 'example' => '4ab0b***cbde97', - ], + 'schema' => ['description' => 'The verification ID.', 'type' => 'string', 'required' => false, 'example' => '4ab0b***cbde97', 'title' => ''], ], [ 'name' => 'IsReturnImage', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to return images.'."\n" - .'- Y: Return'."\n" - .'- N: Do not return', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'schema' => ['description' => 'Specifies whether to return images. Valid values:'."\n" + .'- Y: Return images.'."\n" + .'- N: Do not return images.', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], ], [ 'name' => 'ExtraImageControlList', 'in' => 'query', - 'schema' => [ - 'description' => 'Return additional information.', - 'type' => 'string', - 'required' => false, - 'example' => '***', - ], + 'schema' => ['description' => 'The additional information to return.', 'type' => 'string', 'required' => false, 'example' => '***', 'title' => ''], ], [ 'name' => 'ReturnFiveCategorySpoofResult', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to return anti-fraud detection results.', - 'type' => 'string', - 'required' => false, - 'example' => 'Y', - ], + 'schema' => ['description' => 'Specifies whether to return the anti-spoofing detection result.', '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' => 'ID of the request', - 'type' => 'string', - 'example' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'EkycResult' => [ - 'description' => 'Authentication result.', - 'type' => 'string', - 'example' => '**', - ], - 'ExtBasicInfo' => [ - 'description' => 'Extended basic information.', - 'type' => 'string', - 'example' => '**', - ], - 'ExtFaceInfo' => [ - 'description' => 'Face information.', - 'type' => 'string', - 'example' => '**', - ], - 'ExtIdInfo' => [ - 'description' => 'ID information.', - 'type' => 'string', - 'example' => '**', - ], - 'ExtRiskInfo' => [ - 'description' => 'Risk information.', - 'type' => 'string', - 'example' => '**', - ], - 'Passed' => [ - 'description' => 'Whether the authentication is passed.'."\n" - ."\n" - .'- Y: Passed'."\n" - .'- N: Not passed', - 'type' => 'string', - 'example' => 'Y', - ], - 'SubCode' => [ - 'description' => 'Sub-result code.', - 'type' => 'string', - 'example' => '***', - ], - 'ExtInfo' => [ - 'type' => 'string', - 'description' => 'Extended information', - 'example' => '{}', - ], - 'ExtSourceInfo' => [ - 'type' => 'string', - ], + 'EkycResult' => ['description' => 'The verification result.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'ExtBasicInfo' => ['description' => 'The extended basic information.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'ExtFaceInfo' => ['description' => 'The face information.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The ID information.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'ExtRiskInfo' => ['description' => 'The risk information.', 'type' => 'string', 'example' => '**', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '***', 'title' => ''], + 'ExtInfo' => ['description' => 'The extended information, in JSON string format.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'ExtSourceInfo' => ['description' => 'The data source verification details are described as follows (using the Indonesian data source as an example):'."\n" + .'- **govId, fullName, dob**: A comparison score equal to 1.0 indicates a complete match with the official data source. A score lower than 1.0 indicates a mismatch. '."\n" + .'- **selfiePhoto**: A comparison score greater than 0.8 indicates a match with the official data source. A score equal to or lower than 0.8 indicates a mismatch. '."\n" + .'- **liveness**: A score higher than 0.95 indicates a liveness detection risk. '."\n" + .'- **imgManipulationScore**: A score higher than 0.95 indicates an image tampering risk.', 'type' => 'string', 'example' => '{'."\n" + .' "govId": 1.0,'."\n" + .' "fullName": 1.0,'."\n" + .' "dob": 0.9,'."\n" + .' "selfiePhoto": 0.8777,'."\n" + .' "liveness": 0.1152,'."\n" + .' "imgManipulationScore": 0.2253'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"EkycResult\\": \\"**\\",\\n \\"ExtBasicInfo\\": \\"**\\",\\n \\"ExtFaceInfo\\": \\"**\\",\\n \\"ExtIdInfo\\": \\"**\\",\\n \\"ExtRiskInfo\\": \\"**\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"***\\",\\n \\"ExtInfo\\": \\"{}\\",\\n \\"ExtSourceInfo\\": \\"\\"\\n }\\n}","type":"json"}]', - 'title' => 'Query Authentication Result', - 'translator' => 'machine', - ], - 'EkycVerify' => [ - 'summary' => 'This topic describes how to integrate with ID Verification using only the server-side API.', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"EkycResult\\": \\"**\\",\\n \\"ExtBasicInfo\\": \\"**\\",\\n \\"ExtFaceInfo\\": \\"**\\",\\n \\"ExtIdInfo\\": \\"**\\",\\n \\"ExtRiskInfo\\": \\"**\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"***\\",\\n \\"ExtInfo\\": \\"{}\\",\\n \\"ExtSourceInfo\\": \\"{\\\\n \\\\\\"govId\\\\\\": 1.0,\\\\n \\\\\\"fullName\\\\\\": 1.0,\\\\n \\\\\\"dob\\\\\\": 0.9,\\\\n \\\\\\"selfiePhoto\\\\\\": 0.8777,\\\\n \\\\\\"liveness\\\\\\": 0.1152,\\\\n \\\\\\"imgManipulationScore\\\\\\": 0.2253\\\\n}\\"\\n }\\n}","type":"json"}]', + 'title' => 'Query verification result', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckResult'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'antcloudauth:CheckResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CheckVerifyLog' => [ + 'summary' => 'Authentication log query.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '190721', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '266432', + 'abilityTreeNodes' => ['FEATUREcloudauthCS0SDG'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The product solution to integrate. Set the value to **eKYC_MIN**.', - 'type' => 'string', - 'required' => false, - 'example' => 'eKYC_MIN', - ], - ], - [ 'name' => 'MerchantBizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier that you customize. It is used to locate and troubleshoot issues. The identifier can be up to 32 characters in length and can contain letters and digits. Make sure that the identifier is unique.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The merchant-side custom business unique identifier, used for subsequent troubleshooting. The value supports a combination of letters and numbers with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a***353888', 'title' => ''], ], [ - 'name' => 'MerchantUserId', - 'in' => 'query', + 'name' => 'TransactionId', + 'in' => 'formData', + 'schema' => ['description' => 'The unique identifier of the entire authentication process. Obtain this value by calling the Initialize operation.', 'type' => 'string', 'required' => false, 'example' => 'hksb7ba1b*********015d694361bee4', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'A custom user ID or another identifier that can identify a specific user, such as a mobile number or an email address. Desensitize the value of this field in advance, for example, by hashing the value.', - 'type' => 'string', - 'required' => false, - 'example' => '123456', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The backend error code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Passed' => ['description' => 'Indicates whether the authentication is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'VerifyStatus' => ['description' => 'The authentication status. Valid values:'."\n" + ."\n" + .'- 0: finished. The authentication is complete.'."\n" + .'- 1: unfinished. The authentication is interrupted.'."\n" + .'- 2: notstart. The authentication has not started.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'InterruptPage' => ['description' => 'The last page where the authentication was interrupted. Valid values:'."\n" + ."\n" + .'- Page not started'."\n" + .'- OCR guide page'."\n" + .'- OCR camera authorization'."\n" + .'- OCR document capture page'."\n" + .'- OCR recognition loading'."\n" + .'- OCR recognition result editing page'."\n" + .'- OCR recognition result editing loading'."\n" + .'- Liveness detection guide page'."\n" + .'- Liveness detection camera authorization page'."\n" + .'- Liveness detection page'."\n" + .'- Liveness detection downgrade page'."\n" + .'- Liveness detection retry'."\n" + .'- Liveness detection loading.', 'type' => 'string', 'example' => 'OCR拍摄证件页面', 'title' => ''], + 'VerifyErrorCode' => ['description' => 'The error code for authentication interruption. Valid values:'."\n" + ."\n" + .'- 1000: The user completed the face verification process, and the authentication result is passed.'."\n" + .'- 1001: The user completed the face verification process, and the authentication result is not passed.'."\n" + .'- 1002: System error.'."\n" + .'- 1003: SDK initialization failed. Check whether the client time is correct.'."\n" + .'- 1004: Camera permission error.'."\n" + .'- 1005: Network error.'."\n" + .'- 1006: The user exited.'."\n" + .'- 1007: Invalid TransactionId.'."\n" + .'- 1009: Client timestamp error.'."\n" + .'- 1011: Incorrect document type submitted.'."\n" + .'- 1012: Key information of the recognized document is missing or format validation failed.'."\n" + .'- 1013: Poor image quality.'."\n" + .'- 1014: The number of errors exceeded the upper limit.'."\n" + .'- 1015: The Android system version is too low.'."\n" + .'- 1016: Camera permission not obtained.'."\n" + .'- 9999: The authentication process is suspected to be interrupted.', 'type' => 'string', 'example' => '1001', 'title' => ''], + 'LogInfo' => [ + 'description' => 'The SDK runtime log details.', + 'type' => 'array', + 'items' => ['description' => 'The runtime log.', 'type' => 'string', 'example' => '['."\n" + .' "2025-03-21 10:31:25 Loading阶段结束",'."\n" + .' "2025-03-21 10:31:25 用户进入OCR页面",'."\n" + .' "2025-03-21 10:31:39 OCR认证阶段点击相册选择按钮",'."\n" + .' "2025-03-21 10:31:39 OCR认证阶段点击OCR提交按钮",'."\n" + .' "2025-03-21 10:31:42 OCR认证阶段中断弹窗弹出",'."\n" + .' "2025-03-21 10:31:43 OCR认证阶段中断重试",'."\n" + .' "2025-03-21 10:31:43 OCR认证阶段中断弹窗关闭",'."\n" + .' "2025-03-21 10:31:59 OCR认证阶段点击相册选择按钮",'."\n" + .' "2025-03-21 10:31:59 OCR认证阶段点击OCR提交按钮",'."\n" + .' "2025-03-21 10:32:02 OCR认证阶段结束",'."\n" + .' "2025-03-21 10:32:02 用户进入OCR编辑页面",'."\n" + .' "2025-03-21 10:32:03 OCR编辑阶段点击OCR结果确认无误按钮",'."\n" + .' "2025-03-21 10:32:04 OCR编辑阶段结束",'."\n" + .' "2025-03-21 10:32:04 用户进入活体页面",'."\n" + .' "2025-03-21 10:32:12 活体检测阶段结束"'."\n" + .' ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ExtInfo' => ['description' => 'The extended information.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'LogStatisticsInfo' => ['description' => 'The SDK runtime log statistics details.', 'type' => 'string', 'example' => '{'."\n" + .' "faceOverTimes": 0,'."\n" + .' "hasFaceOverTimes": false,'."\n" + .' "hasFacePermissionRefuse": false,'."\n" + .' "hasOcrEdit": true,'."\n" + .' "hasOcrEditOverTimes": false,'."\n" + .' "hasOcrOverTimes": true,'."\n" + .' "hasOcrPermissionRefuse": false,'."\n" + .' "ocrEditOverTimes": 0,'."\n" + .' "ocrEditTimes": 1,'."\n" + .' "ocrOverTimes": 1,'."\n" + .' "pageStayTimeInfo": {'."\n" + .' "LOADING": "1615",'."\n" + .' "OCR_SCAN": "37446",'."\n" + .' "OCR_RESULT": "1338",'."\n" + .' "FACE": "8707"'."\n" + .' }'."\n" + .' }', 'title' => ''], + 'LogInfoEn' => [ + 'description' => 'The SDK runtime trace log details in English. The format of this field is the same as **LogInfo**.', + 'type' => 'array', + 'items' => ['description' => 'The runtime log.', 'type' => 'string', 'example' => '['."\n" + .' "2025-03-21 10:31:25 LOADING_ENTER",'."\n" + .' "2025-03-21 10:31:25 LOADING_EXIT",'."\n" + .' "2025-03-21 10:31:39 GUIDE_PAGE_SHOW",'."\n" + .' "2025-03-21 10:31:39 GUIDE_PAGE_LEAVE",'."\n" + .' "2025-03-21 10:31:42 FACE_ENTER",'."\n" + .' "2025-03-21 10:31:43 FACE_EXIT"'."\n" + .']', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InterruptPageEn' => ['description' => 'The last page where the authentication was interrupted, in English. Valid values:'."\n" + ."\n" + .'- LOADING'."\n" + ."\n" + .'- GUIDE'."\n" + ."\n" + .'- FACE'."\n" + ."\n" + .'- OCR_SCAN'."\n" + ."\n" + .'- OCR_RESULT'."\n" + ."\n" + .'- NFC_INPUT'."\n" + ."\n" + .'- NFC_READ.', 'type' => 'string', 'example' => 'LOADING', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], - [ - 'name' => 'DocType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The certificate type, which is uniquely identified by an 8-digit number. For more information, see [Certificate types](https://www.alibabacloud.com/help/en/ekyc/latest/im1u641gyesiqmbg?spm=a2c63.p38356.0.i18#Hu5TG).', - 'type' => 'string', - 'required' => false, - 'example' => '00000001', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"VerifyStatus\\": \\"1\\",\\n \\"InterruptPage\\": \\"OCR拍摄证件页面\\",\\n \\"VerifyErrorCode\\": \\"1001\\",\\n \\"LogInfo\\": [\\n \\"[\\\\n \\\\\\"2025-03-21 10:31:25 Loading阶段结束\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:25 用户进入OCR页面\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 OCR认证阶段点击相册选择按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 OCR认证阶段点击OCR提交按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:42 OCR认证阶段中断弹窗弹出\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:43 OCR认证阶段中断重试\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:43 OCR认证阶段中断弹窗关闭\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:59 OCR认证阶段点击相册选择按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:59 OCR认证阶段点击OCR提交按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:02 OCR认证阶段结束\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:02 用户进入OCR编辑页面\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:03 OCR编辑阶段点击OCR结果确认无误按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:04 OCR编辑阶段结束\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:04 用户进入活体页面\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:12 活体检测阶段结束\\\\\\"\\\\n ]\\"\\n ],\\n \\"ExtInfo\\": \\"{}\\",\\n \\"LogStatisticsInfo\\": \\"{\\\\n \\\\\\"faceOverTimes\\\\\\": 0,\\\\n \\\\\\"hasFaceOverTimes\\\\\\": false,\\\\n \\\\\\"hasFacePermissionRefuse\\\\\\": false,\\\\n \\\\\\"hasOcrEdit\\\\\\": true,\\\\n \\\\\\"hasOcrEditOverTimes\\\\\\": false,\\\\n \\\\\\"hasOcrOverTimes\\\\\\": true,\\\\n \\\\\\"hasOcrPermissionRefuse\\\\\\": false,\\\\n \\\\\\"ocrEditOverTimes\\\\\\": 0,\\\\n \\\\\\"ocrEditTimes\\\\\\": 1,\\\\n \\\\\\"ocrOverTimes\\\\\\": 1,\\\\n \\\\\\"pageStayTimeInfo\\\\\\": {\\\\n \\\\\\"LOADING\\\\\\": \\\\\\"1615\\\\\\",\\\\n \\\\\\"OCR_SCAN\\\\\\": \\\\\\"37446\\\\\\",\\\\n \\\\\\"OCR_RESULT\\\\\\": \\\\\\"1338\\\\\\",\\\\n \\\\\\"FACE\\\\\\": \\\\\\"8707\\\\\\"\\\\n }\\\\n }\\",\\n \\"LogInfoEn\\": [\\n \\"[\\\\n \\\\\\"2025-03-21 10:31:25 LOADING_ENTER\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:25 LOADING_EXIT\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 GUIDE_PAGE_SHOW\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 GUIDE_PAGE_LEAVE\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:42 FACE_ENTER\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:43 FACE_EXIT\\\\\\"\\\\n]\\"\\n ],\\n \\"InterruptPageEn\\": \\"LOADING\\"\\n }\\n}","type":"json"}]', + 'title' => 'Authentication log query', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckVerifyLog'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CheckVerifyLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'CredentialGetResultIntl' => [ + 'summary' => 'Queries the credential recognition result.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'DocName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The user\'s real name.'."\n" - ."\n" - .'> If Authorize is set to T and the certificate type is Chinese mainland resident ID card, you must enter at least one of the following groups of information:'."\n" - .'> - DocName and DocNo.'."\n" - .'> - IdOcrPictureBase64 or IdOcrPictureUrl.', - 'type' => 'string', - 'required' => false, - 'example' => 'Zhang San', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREcloudauthS6WIN6'], + ], + 'parameters' => [ [ - 'name' => 'DocNo', + 'name' => 'TransactionId', 'in' => 'query', + 'schema' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'required' => true, 'example' => '4ab0b***abde97', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The user\'s certificate number.'."\n" - ."\n\n" - .'> If Authorize is set to **T** and the certificate type is Chinese mainland resident ID card, you must enter at least one of the following groups of information:'."\n" - .'> - DocName and DocNo.'."\n" - .'> - IdOcrPictureBase64 or IdOcrPictureUrl.', - 'type' => 'string', - 'required' => false, - 'example' => '410***************', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The task status. Valid values:'."\n" + .'- PROCESSING: Processing. Continue polling.'."\n" + .'- SUCCESS: Succeeded.'."\n" + .'- FAILED: Failed.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + 'SubCode' => ['description' => 'The description of the authentication result. For more information, refer to the ResultObject.SubCode error code description.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The key information identified, in JSON format.', 'type' => 'string', 'example' => '{'."\n" + .' "address": "",'."\n" + .' "name":""'."\n" + .'}', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query credential recognition result (asynchronous)', + 'description' => 'After you obtain the TransactionId, you can call this operation on the server side to retrieve the corresponding authentication result.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'IdOcrPictureUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the certificate image. The URL must be an HTTP or HTTPS link accessible over the Internet.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialGetResultIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Status\\": \\"SUCCESS\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"address\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', + ], + 'CredentialRecognitionIntl' => [ + 'summary' => 'An API operation that uploads a credential image, such as a utility bill or credit card statement, and uses Qwen-VL to intelligently fetch the billing address and name from the credential.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'IdOcrPictureBase64', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The Base64 encoding of the certificate image.'."\n" - ."\n" - .'> If you use this method to pass the certificate image, check the image size. Do not pass an oversized image.', - 'type' => 'string', - 'required' => false, - 'example' => 'dsjisaj***oekwodsm'."\n", - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], + ], + 'parameters' => [ [ - 'name' => 'FacePictureUrl', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the portrait image. The URL must be an HTTP or HTTPS link accessible over the Internet.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://digital-face-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg', - ], + 'schema' => ['description' => 'The product solution to use. Set this to CREDENTIAL_RECOGNITION.', 'type' => 'string', 'required' => true, 'example' => 'CREDENTIAL_RECOGNITION', 'title' => ''], ], [ - 'name' => 'FacePictureBase64', + 'name' => 'CredentialOcrPictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'The Base64 encoding of the portrait image.'."\n" - ."\n" - .'> If you use this method to pass the certificate image, check the image size. Do not pass an oversized image.', - 'type' => 'string', - 'required' => false, - 'example' => 'dsjisaj***oekwodsm', - ], + 'schema' => ['description' => 'The Base64-encoded image. If you choose to pass in the image by using IdOcrPictureBase64 (Base64-encoded photo), check the photo size and do not pass in an excessively large photo.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'Crop', + 'name' => 'CredentialOcrPictureUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://***', 'title' => ''], + ], + [ + 'name' => 'DocType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to crop the face image:'."\n" - ."\n" - .'- **T**: Allows cropping.'."\n" - ."\n" - .'- **F**: Disallows cropping. (Default)', - 'type' => 'string', - 'required' => false, - 'example' => 'F', - ], + 'schema' => ['description' => 'The credential type. Valid values:'."\n" + .'- 01: transaction credential (including electronic bill images for water, electricity, gas, credit cards, and other types).', 'type' => 'string', 'required' => true, 'example' => '01', 'title' => ''], ], [ - 'name' => 'Authorize', + 'name' => 'OcrArea', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable identity verification against the official database:'."\n" - ."\n" - .'- **T**: Enable.'."\n" - ."\n" - .'- **F**: Disable. (Default)'."\n" - ."\n" - .'> This feature is currently available only for second-generation resident ID cards of the Chinese mainland.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'The extraction type. Valid values:'."\n" + .'- 0101: electronic bill address and name module (extracts the address and name module through intelligent analysis).', 'type' => 'string', 'required' => true, 'example' => '0101', 'title' => ''], ], [ - 'name' => 'IdThreshold', + 'name' => 'FraudCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom OCR quality detection threshold mode:'."\n" - ."\n" - .'- **0**: Standard mode'."\n" - ."\n" - .'- **1**: Strict mode'."\n" - ."\n" - .'- **2**: Loose mode'."\n" - ."\n" - .'- **3** (default): Disables quality detection', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'Specifies whether to enable tampering detection. Valid values:'."\n" + .'- true: Enabled.'."\n" + .'- false: Disabled.', 'type' => 'string', 'required' => true, 'example' => 'true', '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' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1', - ], - 'Code' => [ - 'description' => 'The [response code](https://www.alibabacloud.com/help/en/ekyc/latest/im1u641gyesiqmbg?spm=a2c63.p38356.0.i18#GiGmf).', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'A detailed description of the response code.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result object', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'The transaction ID.', - 'type' => 'string', - 'example' => '4ab0b***cbde97', - ], - 'SubCode' => [ - 'description' => 'A description of the authentication result. For more information, see [Error codes for ResultObject.SubCode](https://www.alibabacloud.com/help/en/ekyc/latest/im1u641gyesiqmbg?spm=a2c63.p38356.0.i18#HCGLb).', - 'type' => 'string', - 'example' => '205', - ], - 'Passed' => [ - 'description' => 'The final authentication result. Valid values:'."\n" - ."\n" - .'- **Y**: The authentication is passed.'."\n" - ."\n" - .'- **N**: The authentication fails.', - 'type' => 'string', - 'example' => 'Y', - ], - 'ExtFaceInfo' => [ - 'description' => 'Information about the face liveness verification result. For the JSON format, see the example on the right. For more information, see [ExtFaceInfo](https://www.alibabacloud.com/help/en/ekyc/latest/im1u641gyesiqmbg?spm=a2c63.p38356.0.i18#JJ40j).', - 'type' => 'string', - 'example' => '{'."\n" - .'"faceAttack": "N",'."\n" - .'"faceComparisonScore": 52.57,'."\n" - .'"facePassed": "N",'."\n" - .'"authorityComparisonScore": 80.39'."\n" - .'}'."\n" - ."\n", - ], - 'ExtIdInfo' => [ - 'description' => 'Information about the certificate detection result.'."\n" - ."\n" - .'For the JSON format, see the example on the right. For more information, see [ExtIdInfo](https://www.alibabacloud.com/help/en/ekyc/latest/im1u641gyesiqmbg?spm=a2c63.p38356.0.i18#iWOBY).', - 'type' => 'string', - 'example' => '{'."\n" - .' "ocrIdInfo": {'."\n" - .' "expiryDate": "",'."\n" - .' "originOfIssue": "Exit and Entry Administration of the Ministry of Public Security",'."\n" - .' "englishName": "LI SI",'."\n" - .' "sex": "Male",'."\n" - .' "name": "Li Si",'."\n" - .' "idNumber": "H11111112",'."\n" - .' "issueDate": "2013-01-02",'."\n" - .' "birthDate": "1990-02-21"'."\n" - .' },'."\n" - .' "ocrIdPassed": "N",'."\n" - .' "spoofInfo": {'."\n" - .' "spoofResult": "Y",'."\n" - .' "spoofType": ['."\n" - .' "SCREEN_REMARK"'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], + 'Success' => ['description' => 'The extraction result. Valid values:'."\n" + .'- S: Succeeded.'."\n" + .'- F: Failed.', 'type' => 'string', 'example' => 'S', 'title' => ''], + 'SubCode' => ['description' => 'The description of the authentication result.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The key information extracted from the credential, in JSON format.', 'type' => 'string', 'example' => '{'."\n" + .' "address": "",'."\n" + .' "name":""'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\",\\n \\"SubCode\\": \\"205\\",\\n \\"Passed\\": \\"Y\\",\\n \\"ExtFaceInfo\\": \\"{\\\\n\\\\\\"faceAttack\\\\\\": \\\\\\"N\\\\\\",\\\\n\\\\\\"faceComparisonScore\\\\\\": 52.57,\\\\n\\\\\\"facePassed\\\\\\": \\\\\\"N\\\\\\",\\\\n\\\\\\"authorityComparisonScore\\\\\\": 80.39\\\\n}\\\\n\\\\n\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"firstName\\\\\\": \\\\\\"**龙\\\\\\",\\\\n \\\\\\"lastName\\\\\\": \\\\\\"**\\\\\\",\\\\n \\\\\\"countryCode\\\\\\": \\\\\\"CHN\\\\\\",\\\\n \\\\\\"docType\\\\\\": \\\\\\"01560001\\\\\\",\\\\n \\\\\\"dateOfBirth\\\\\\": \\\\\\"2002-08-04\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"410************19\\\\\\"\\\\n },\\\\n \\\\\\"ocrIdPassed\\\\\\": \\\\\\"N\\\\\\",\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"Y\\\\\\",\\\\n }\\\\n}\\\\n\\\\n\\"\\n }\\n}","type":"json"}]', - 'title' => 'Pure server-side eKYC API', - ], - 'FaceLiveness' => [ - 'summary' => 'Passive liveness detection (FaceLiveness) is a service that detects whether a pre-captured facial image, submitted to an API operation, is a real face. The algorithm primarily detects presentation attacks, such as screen replays and printed photos. This service is suitable for low-risk business scen', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Credential recognition', + 'description' => 'Uses AI technology to detect whether a credential (such as a water, electricity, gas, or credit card electronic bill) has been forged, and extracts key information from the credential.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialRecognitionIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Success\\": \\"S\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"address\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', + ], + 'CredentialSubmitIntl' => [ + 'summary' => 'Submits credential recognition information.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1291,211 +1344,106 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '175619', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthS6WIN6'], ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The product solution to use. Set the value to **FACE_LIVENESS_MIN** to use the passive liveness detection API.', - 'type' => 'string', - 'required' => false, - 'example' => 'FACE_LIVENESS_MIN', - ], + 'schema' => ['description' => 'The product solution to use. Set this parameter to CREDENTIAL_RECOGNITION.', 'type' => 'string', 'required' => true, 'example' => 'CREDENTIAL_RECOGNITION', 'title' => ''], ], [ - 'name' => 'MerchantBizId', + 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => 'A custom unique business identifier. You can use this identifier to track and troubleshoot issues. The identifier can be up to 32 characters in length and can contain letters and digits. Make sure the identifier is unique.'."\n" - ."\n" - .'> Alibaba Cloud servers do not check the uniqueness of this value. For better tracking, ensure this value is unique.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'schema' => ['description' => 'The custom authentication scenario ID. You can use this scenario ID to query related records in the console. The value can be a combination of letters, digits, or underscores with a maximum length of 10 characters.', 'type' => 'string', 'required' => true, 'example' => '123****123', 'title' => ''], ], [ - 'name' => 'MerchantUserId', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A custom user ID or another identifier for a specific user, such as a mobile number or email address. For security, desensitize this value in advance, for example, by hashing it.', - 'type' => 'string', - 'required' => false, - 'example' => '123456789', - ], + 'schema' => ['description' => 'The merchant-side custom business unique identifier, used for subsequent troubleshooting. The value can be a combination of letters and digits with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a***353888', 'title' => ''], ], [ - 'name' => 'FacePictureUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the portrait image. The URL must be an HTTP or HTTPS link accessible over the Internet.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://digital-face-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg', - ], + 'name' => 'CredentialOcrPictureBase64', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded image. If you use this method to submit a photo, check the photo size and do not submit an excessively large photo.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'FacePictureBase64', + 'name' => 'CredentialOcrPictureUrl', 'in' => 'formData', - 'schema' => [ - 'description' => 'The Base64-encoded image. If you use this parameter to pass the facial image, check the image size. Do not pass an oversized image.', - 'type' => 'string', - 'required' => false, - 'example' => 'dsjisaj***oekwodsm', - ], + 'schema' => ['description' => 'The URL of the image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://***', 'title' => ''], ], [ - 'name' => 'FaceQuality', + 'name' => 'DocType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the facial image quality score. The default value is F.'."\n" - ."\n" - .'- **T**: returns the score.'."\n" - ."\n" - .'- **F**: does not return the score.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'The credential type. Valid values:'."\n" + .'- 02: vehicle registration certificate.', 'type' => 'string', 'required' => true, 'example' => '02', 'title' => ''], ], [ - 'name' => 'Crop', + 'name' => 'OcrArea', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to crop the facial image. The default value is F.'."\n" - ."\n" - .'- **T**: allows cropping.'."\n" - ."\n" - .'- **F**: Forbidden', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'The extraction type. Valid values:'."\n" + ."\n" + .'- 0201: Thailand vehicle registration certificate.', 'type' => 'string', 'required' => true, 'example' => '0201', 'title' => ''], ], [ - 'name' => 'Occlusion', + 'name' => 'FraudCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable occlusion detection. The default value is F.'."\n" - ."\n" - .'- **T**: enables the feature.'."\n" - ."\n" - .'- **F**: disables the feature.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'Specifies whether to enable tampering detection. Valid values:'."\n" + .'- true: Enable.'."\n" + .'- false: Disable.', 'type' => 'string', 'required' => true, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => '42EA58CA-5DF4-55D5-82C4-5E7A40DA62BA', - ], - 'Code' => [ - 'description' => '[The response code.](https://www.alibabacloud.com/help/en/ekyc/latest/cadqvlft48igbpdc?spm=a2c63.p38356.0.i54#3d0ed52f967g6)', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'A detailed description of the response code.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result object', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'The transaction ID.'."\n", - 'type' => 'string', - 'example' => '08573be80f944d95ac812e019e3655a8', - ], - 'Passed' => [ - 'description' => 'The authentication result. Valid values:'."\n" - ."\n" - .'- Y: The authentication is passed.'."\n" - ."\n" - .'- N: The authentication is not passed.', - 'type' => 'string', - 'example' => 'N', - ], - 'SubCode' => [ - 'description' => 'The code that corresponds to the verification result. For more information, see [ResultObject.SubCode error codes](https://www.alibabacloud.com/help/en/ekyc/latest/cadqvlft48igbpdc?spm=a2c63.p38356.0.i54#5ff3e16174tl2).', - 'type' => 'string', - 'example' => '205', - ], - 'ExtFaceInfo' => [ - 'description' => 'The results of the passive liveness detection. The value is in the JSON format. For more information, see [ExtFaceInfo](https://www.alibabacloud.com/help/en/ekyc/latest/cadqvlft48igbpdc?spm=a2c63.p38356.0.i54#5ff42f7274agz).', - 'type' => 'object', - 'properties' => [ - 'FaceQualityScore' => [ - 'description' => 'Optional. The quality score of the live face. The value ranges from 0 to 100.', - 'type' => 'number', - 'format' => 'double', - 'example' => '87.19', - ], - 'OcclusionResult' => [ - 'description' => 'Optional. Indicates whether the face is occluded. Y means the face is occluded. N means the face is not occluded.', - 'type' => 'string', - 'example' => 'Y', - ], - 'FaceAttack' => [ - 'description' => 'Indicates whether a presentation attack was detected on the captured face. Y means an attack was detected. N means no attack was detected.', - 'type' => 'string', - 'example' => 'Y', - ], - 'FaceGender' => [ - 'description' => 'The predicted gender of the person in the image. The prediction may fail, resulting in an empty value.'."\n" - ."\n" - .'- **M**: Male'."\n" - ."\n" - .'- **F**: Female', - 'type' => 'string', - 'example' => 'M', - ], - 'FaceAge' => [ - 'description' => 'The predicted age of the person in the image. The prediction may fail, resulting in an empty value.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '18', - ], - ], - ], + 'TransactionId' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'example' => '4ab0b***cbde97', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Submit credential recognition task (asynchronous)', + 'description' => 'Initializes the credential recognition OCR operation and retrieves a transactionId.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42EA58CA-5DF4-55D5-82C4-5E7A40DA62BA\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"N\\",\\n \\"SubCode\\": \\"205\\",\\n \\"ExtFaceInfo\\": {\\n \\"FaceQualityScore\\": 87.19,\\n \\"OcclusionResult\\": \\"Y\\",\\n \\"FaceAttack\\": \\"Y\\",\\n \\"FaceGender\\": \\"M\\",\\n \\"FaceAge\\": 18\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Pure server-side passive liveness capability', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialSubmitIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\"\\n }\\n}","type":"json"}]', ], - 'FaceDuplicationCheckIntl' => [ - 'summary' => 'Face Duplication Detection API', + 'CredentialVerifyIntl' => [ + 'summary' => 'Provides the API operation for the credential verification service. This operation uses a large language model to detect image tampering, forgery, and image quality issues in submitted credential images.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1507,300 +1455,259 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ProductCode', + 'name' => 'CredType', 'in' => 'query', - 'schema' => [ - 'description' => 'Product code', - 'type' => 'string', - 'required' => true, - 'example' => 'FACE_IDU_MIN', - ], - ], - [ - 'name' => 'SceneCode', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Your custom authentication scenario ID.', - 'type' => 'string', - 'required' => false, - 'example' => '1234567890', - ], - ], - [ - 'name' => 'MerchantBizId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'A unique business identifier for troubleshooting purposes. It supports a combination of 32 alphanumeric characters, please ensure its uniqueness.', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', - ], + 'schema' => ['description' => 'The credential type. Valid values:'."\n" + ."\n" + .'- 03: enterprise qualification'."\n" + .'- 04: transaction voucher.', 'type' => 'string', 'required' => true, 'example' => '03', 'title' => ''], ], [ - 'name' => 'MerchantUserId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Your custom user ID or other identifiers that can uniquely identify a specific user, such as a phone number or email address. It is strongly recommended to pre-desensitize the value of this field, for example, by hashing it.', - 'type' => 'string', - 'required' => true, - 'example' => '1234567890', - ], + 'name' => 'CredName', + 'in' => 'query', + 'schema' => ['description' => 'The credential name (specified as a numeric code). Valid values:'."\n" + ."\n" + .'- Codes starting with 03: enterprise qualification'."\n" + .' - 0301: business license issued in the Chinese mainland'."\n" + .'- Codes starting with 04: transaction voucher'."\n" + .' - 0401: bank statement'."\n" + .' - 0402: payslip'."\n" + .' - 0403: utility bill'."\n" + .' - 0405: credit card statement'."\n" + .' - 0499: other.', 'type' => 'string', 'required' => true, 'example' => '0301', 'title' => ''], ], [ - 'name' => 'VerifyModel', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Verification type'."\n" - .'- 0- 1:N (default)'."\n" - .'- 1- 1:1'."\n" - .'- 2- 1:N + 1:1', - 'type' => 'string', - 'required' => true, - 'example' => '0', - ], + 'name' => 'ImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the image.'."\n" + .'> Specify either ImageUrl or ImageFile.', 'type' => 'string', 'required' => false, 'example' => 'https://oss-bj01.avic.com/eavic-prod-commodity/pic/commodity/94677ee6-1067-4287-8ff4-6e030ef3a5a8.jpg', 'title' => ''], ], [ - 'name' => 'Liveness', + 'name' => 'ImageFile', 'in' => 'formData', - 'schema' => [ - 'description' => 'Whether to enable silent liveness detection'."\n" - .'- 0- Disabled'."\n" - .'- 1- Enabled', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The image input stream.'."\n" + .'> Specify either ImageUrl or ImageFile.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '无', 'title' => ''], ], [ - 'name' => 'FaceGroupCodes', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The face library code created through the console, supporting up to 10 face libraries simultaneously. When multiple face library codes are passed, they should be separated by commas.', - 'type' => 'string', - 'required' => false, - 'example' => '1232344,23444', - ], + 'name' => 'ProductCode', + 'in' => 'query', + 'schema' => ['description' => 'The call mode. Valid values:'."\n" + .'- ANTI_FAKE_CHECK: image quality and tampering detection.', 'type' => 'string', 'required' => true, 'example' => '取值:ANTI_FAKE_CHECK', 'title' => ''], ], - [ - 'name' => 'SourceFacePicture', - 'in' => 'formData', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Base64 encoded portrait photo.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + '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 return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResultObject' => [ + 'description' => 'The result information.', + 'type' => 'object', + 'properties' => [ + '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 has been edited with photo editing software.'."\n" + .'- SCREEN_PHOTO: Photo taken from a screen.'."\n" + .'- SCREENSHOT: Screenshot.'."\n" + .'- ORIGINAL_PHOTO: Non-original image.', 'type' => 'string', 'example' => 'PS', 'title' => ''], + 'RiskScore' => [ + 'description' => 'The risk score map.', + 'type' => 'object', + 'additionalProperties' => ['description' => '风险分值', 'type' => 'string', 'example' => '{'."\n" + .'"PS": "0.0211",'."\n" + .'"SCREEN_PHOTO": "0.0101",'."\n" + .'"SCREENSHOT": "0.0521"'."\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' => '', ], ], - [ - 'name' => 'SourceFacePictureUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Portrait image URL, accessible via public HTTP or HTTPS link.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://***face1.jpeg', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"PS\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n\\\\\\"PS\\\\\\": \\\\\\"0.0211\\\\\\",\\\\n\\\\\\"SCREEN_PHOTO\\\\\\": \\\\\\"0.0101\\\\\\",\\\\n\\\\\\"SCREENSHOT\\\\\\": \\\\\\"0.0521\\\\\\"\\\\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' => 'Credential tampering detection', + 'description' => 'Submits credential image information, performs image quality, tampering, and forgery detection, and returns the detection results.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialVerifyIntl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DeepfakeDetectIntl' => [ + 'summary' => 'Detects deepfake risks in facial images.', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'TargetFacePicture', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded portrait photo.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'TargetFacePictureUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Portrait image URL, accessible via public HTTP or HTTPS link.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://***face2.jpeg', - ], + 'name' => 'ProductCode', + 'in' => 'query', + 'schema' => ['description' => 'The product solution to use. Set the value to **FACE_DEEPFAKE**.', 'type' => 'string', 'required' => true, 'example' => 'FACE_DEEPFAKE', 'title' => ''], ], [ - 'name' => 'AutoRegistration', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Indicates whether to automatically register the face to the specified face library if no duplicate face is found.'."\n" - .'- 0- Auto-register (default)'."\n" - .'- 1- Do not register', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'name' => 'SceneCode', + 'in' => 'query', + 'schema' => ['description' => 'The custom scene ID for authentication. You can use this scene ID to query related records in the console. The value can be up to 10 characters long and can contain letters, digits, and underscores.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], ], [ - 'name' => 'FaceRegisterGroupCode', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Face registration library.', - 'type' => 'string', - 'required' => false, - 'example' => '0e0c34a77f', - ], + 'name' => 'MerchantBizId', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier of the merchant request. The value is a 32-character combination of letters and digits. The first few characters are a custom merchant abbreviation, the middle part can contain a timestamp, and the last part can be a random or incremental sequence.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', 'title' => ''], ], [ - 'name' => 'SaveFacePicture', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Distinguishes between saving the face image and features'."\n" - .'- 0- Face (default)'."\n" - .'- 1- Features', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'name' => 'FaceInputType', + 'in' => 'query', + 'schema' => ['description' => 'Set the value to **IMAGE** to specify a facial image.', 'type' => 'string', 'required' => false, 'example' => 'IMAGE', 'title' => ''], ], [ - 'name' => 'FaceVerifyThreshold', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Face matching threshold.', - 'type' => 'string', - 'required' => false, - 'example' => '0.5', - ], + 'name' => 'FaceUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the facial 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' => 'ReturnFaces', + 'name' => 'FaceBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'When there are multiple faces above the matching threshold, you can use this parameter to customize the number of returned faces'."\n" - .'- Default returns 1'."\n" - .'- Maximum support 5', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The Base64-encoded content of the facial image.'."\n" + .'> Specify either FaceUrl or FaceBase64.', 'type' => 'string', 'required' => false, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', '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' => '5E63B760-0ECB-5C07-8503-A65C27876968', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'Return result.', + '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' => 'The result information.', 'type' => 'object', 'properties' => [ - 'FacePassed' => [ - 'description' => 'Final authentication result, values:'."\n" - .'- Y: Passed'."\n" - .'- N: Not passed', - 'type' => 'string', - 'example' => 'Y', - ], - 'FaceComparisonScore' => [ - 'description' => 'When the verification mode is 1 or 2, returns the 1:1 verification comparison score'."\n" - .'Comparison score range 0~100.', - 'type' => 'string', - 'example' => '98', - ], - 'DuplicateFace' => [ - 'description' => 'Returns the face library face ID and UserID when a duplicate face is detected.', - 'type' => 'string', - 'example' => '['."\n" - .'{\\"faceGroupCode\\":\\"sg7****uzt\\",\\"faceId\\":\\"f5a921*******9e792ec84c8f0ca592a\\"}'."\n" - .']', - ], - 'FaceRegistrationResult' => [ - 'description' => 'Face registration result '."\n" - .'- 0- Failed '."\n" - .'- 1- Succeeded', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'FaceRegistrationId' => [ - 'description' => 'Returns the corresponding FACEID only when the customer sets auto-registration and the face registration is successful.', - 'type' => 'string', - 'example' => '9e792ec84c8f0ca592a', - ], - 'FaceAttack' => [ - 'description' => 'Indicates whether the captured face involves a liveness attack, Y for an attack, N for no attack.'."\n" - .'Returned when silent liveness detection is enabled.', - 'type' => 'string', - 'example' => 'N', - ], - 'FaceAttackScore' => [ - 'description' => 'The probability of a liveness attack detected by silent liveness detection. The value range is 0 to 100.'."\n" - .'Returned when silent liveness detection is enabled.', - 'type' => 'string', - 'example' => '99', - ], - 'FaceAge' => [ - 'description' => 'The estimated age of the face, which may not be returned if the prediction fails.', - 'type' => 'string', - 'example' => '30', - ], - 'FaceGender' => [ - 'description' => 'The predicted gender of the face in the image, which may not be returned if the prediction fails.'."\n" - .'- M: Male'."\n" - .'- F: Female', - 'type' => 'string', - 'example' => 'M', - ], - 'SubCode' => [ - 'description' => 'Description of the authentication result. For more information, see ResultObject.SubCode error code description.', - 'type' => 'string', - 'example' => '200', - ], - 'TransactionId' => [ - 'description' => 'Unique identifier of the authentication request.', - 'type' => 'string', - 'example' => '4ab0b***cbde97', + '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 depth forgery '."\n" + .'- **SuspectPSFace**: suspected synthetic attack '."\n" + .'- **SuspectWarterMark**: suspected watermark '."\n" + .'- **SuspectTemple**: suspected template attack '."\n" + .'- **SuspectAIGCFace**: suspected AIGC-generated face '."\n" + .'- **SuspectRemake**: suspected recaptured face.', 'type' => 'string', 'example' => 'SuspectDeepForgery,SuspectWarterMark', 'title' => ''], + 'RiskScore' => [ + 'description' => 'The risk score map.', + 'type' => 'object', + 'additionalProperties' => ['description' => '后端接收参数名。', 'type' => 'string', 'example' => '{'."\n" + .' "SuspectPSFace": "0.9796",'."\n" + .' "SuspectRemake": "0.0000",'."\n" + .' "SuspectDeepForgery": "0.9500",'."\n" + .' "SuspectAIGCFace": "0.0001",'."\n" + .' "SuspectWaterMark": "0.0000"'."\n" + .' }', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'TransactionId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Face deepfake detection', + 'description' => 'Submits a facial image and uses algorithms to detect potential deepfake risks. This operation covers risk scenarios such as AIGC-generated faces, deep forgery face swaps, template faces, and recaptured faces. It returns risk labels and confidence scores.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeepfakeDetectIntl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DeepfakeDetectIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FacePassed\\": \\"Y\\",\\n \\"FaceComparisonScore\\": \\"98\\",\\n \\"DuplicateFace\\": \\"[\\\\n {\\\\n \\\\\\"faceGroupCode\\\\\\": \\\\\\"sg7****uzt\\\\\\",\\\\n \\\\\\"faceId\\\\\\": \\\\\\"f5a921*******9e792ec84c8f0ca592a\\\\\\",\\\\n \\\\\\"merchantUserId\\\\\\": \\\\\\"fa****01\\\\\\"\\\\n }\\\\n]\\",\\n \\"FaceRegistrationResult\\": 0,\\n \\"FaceRegistrationId\\": \\"9e792ec84c8f0ca592a\\",\\n \\"FaceAttack\\": \\"N\\",\\n \\"FaceAttackScore\\": \\"99\\",\\n \\"FaceAge\\": \\"30\\",\\n \\"FaceGender\\": \\"M\\",\\n \\"SubCode\\": \\"200\\",\\n \\"TransactionId\\": \\"4ab0b***cbde97\\"\\n }\\n}","type":"json"}]', - 'title' => 'Face Duplication Detection API', - 'translator' => 'machine', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"SuspectDeepForgery,SuspectWarterMark\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"SuspectPSFace\\\\\\": \\\\\\"0.9796\\\\\\",\\\\n \\\\\\"SuspectRemake\\\\\\": \\\\\\"0.0000\\\\\\",\\\\n \\\\\\"SuspectDeepForgery\\\\\\": \\\\\\"0.9500\\\\\\",\\\\n \\\\\\"SuspectAIGCFace\\\\\\": \\\\\\"0.0001\\\\\\",\\\\n \\\\\\"SuspectWaterMark\\\\\\": \\\\\\"0.0000\\\\\\"\\\\n }\\"\\n },\\n \\"TransactionId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'DeepfakeDetectIntlStream' => [ - 'summary' => 'deepfake file stream API', 'path' => '', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1812,489 +1719,411 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'formData', - 'schema' => [ - 'description' => 'The product solution to be integrated.'."\n" - .'Value: FACE_DEEPFAKE', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FACE_DEEPFAKE', - ], + 'schema' => ['description' => 'The product solution to integrate.'."\n" + .'Valid value: FACE_DEEPFAKE', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'FACE_DEEPFAKE', 'title' => ''], ], [ 'name' => 'SceneCode', 'in' => 'formData', - 'schema' => [ - 'description' => 'Your custom authentication scenario ID, used for querying related records by entering this scenario ID in the console later.'."\n" - ."\n" - .'Supports a combination of 10 characters, including letters, numbers, or underscores.', - 'type' => 'string', - 'required' => false, - 'example' => '123****123', - ], + 'schema' => ['description' => 'A custom verification scenario ID that you define. This ID is used to query related records in the console.'."\n" + ."\n" + .'The value is a combination of letters, digits, or underscores (_) with a maximum length of 10 characters.', 'type' => 'string', 'required' => false, 'example' => '123****123', 'title' => ''], ], [ 'name' => 'MerchantBizId', 'in' => 'formData', - 'schema' => [ - 'description' => 'A unique identifier for the merchant\'s request, consisting of a 32-character alphanumeric combination.'."\n" - ."\n" - .'The first few characters are composed of a custom abbreviation defined by the merchant, the middle part can include a period of time, and the latter part can use a random or incremental sequence.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'e0c34a***353888', - ], + 'schema' => ['description' => 'The unique identifier of the merchant request. The value is an alphanumeric string with a length of 32 characters.'."\n" + ."\n" + .'The first few characters consist of a custom abbreviation defined by the merchant, the middle part can contain a timestamp, and the last part can use a random or incremental sequence.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'e0c34a***353888', 'title' => ''], ], [ 'name' => 'FaceInputType', 'in' => 'formData', 'schema' => [ - 'description' => 'Face material input type:'."\n" + 'description' => 'The type of facial material input:'."\n" ."\n" .'- IMAGE (default): Face image'."\n" .'- VIDEO: Face video'."\n" ."\n" - .'Note: Video processing takes longer, it is recommended to set the timeout > 3S.', + .'Note'."\n" + .'Video processing takes a long time. We recommend that you set the timeout period to more than 3 seconds.', + 'enumValueTitles' => ['IMAGE' => 'IMAGE', 'VIDEO' => 'VIDEO'], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'IMAGE' => 'IMAGE', - 'VIDEO' => 'VIDEO', - ], 'example' => 'IMAGE', + 'title' => '', ], ], [ 'name' => 'FaceUrl', 'in' => 'formData', - 'schema' => [ - 'description' => 'Enter the URL address of the face image.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', - ], + 'schema' => ['description' => 'The URL of the face image.', 'type' => 'string', 'required' => false, 'example' => 'https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg', 'title' => ''], ], [ 'name' => 'FaceBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'Enter the Base64 encoded format of the face image; for video formats, it is recommended to input via stream.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - ], + 'schema' => ['description' => 'The Base64-encoded face image. For videos, we recommend that you use the stream method for transmission.', 'type' => 'string', 'required' => false, 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', 'title' => ''], ], [ 'name' => 'FaceFile', 'in' => 'formData', - 'schema' => [ - 'description' => 'Image input stream.', - 'type' => 'string', - 'required' => false, - 'example' => '-', - 'isFileTransferUrl' => true, - ], + 'schema' => ['description' => 'The image input stream.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => '-', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'ResultObject' => [ - 'description' => 'Returned result information.', + 'description' => 'The 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 (,), including:'."\n" - ."\n" - .'- SuspectDeepForgery: Suspected deep forgery'."\n" - .'- SuspectPSFace: Suspected synthetic attack'."\n" - .'- SuspectTemple: Suspected template attack'."\n" - .'- SuspectRemake: Suspected presentation attack', - 'type' => 'string', - 'example' => 'SuspectDeepForgery', - ], + 'Result' => ['description' => 'The risk result:'."\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 (,), including:'."\n" + ."\n" + .'- SuspectDeepForgery: Suspected deep forgery'."\n" + .'- SuspectPSFace: Suspected face synthesis attack'."\n" + .'- SuspectTemple: Suspected template attack'."\n" + .'- SuspectRemake: Suspected presentation attack', 'type' => 'string', 'example' => 'SuspectDeepForgery', 'title' => ''], 'RiskScore' => [ - 'description' => 'Risk score map.', + 'description' => 'The risk score map.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "SuspectPSFace": "0.9796",'."\n" - .' "SuspectRemake": "0.0000",'."\n" - .' "SuspectDeepForgery": "0.9500",'."\n" - .' "SuspectAIGCFace": "0.0001"'."\n" - .' }', - 'description' => 'Returns the corresponding tag score when a risk is hit.', - ], + 'additionalProperties' => ['description' => 'The score for each corresponding risk label when a risk is detected.', 'type' => 'string', 'example' => '{'."\n" + .' "SuspectPSFace": "0.9796",'."\n" + .' "SuspectRemake": "0.0000",'."\n" + .' "SuspectDeepForgery": "0.9500",'."\n" + .' "SuspectAIGCFace": "0.0001"'."\n" + .' }', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'TransactionId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Face Deepfake Detection (File Stream)', + 'summary' => 'ID Verification provides face deepfake detection capabilities, which can be integrated independently through API calls.', + 'description' => 'Submit a face image to detect deepfake risks through algorithms. This covers risk scenarios such as AIGC-generated faces, deep forgery face swaps, template faces, and re-captured faces, and outputs risk labels and confidence scores.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"SuspectDeepForgery\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"SuspectPSFace\\\\\\": \\\\\\"0.9796\\\\\\",\\\\n \\\\\\"SuspectRemake\\\\\\": \\\\\\"0.0000\\\\\\",\\\\n \\\\\\"SuspectDeepForgery\\\\\\": \\\\\\"0.9500\\\\\\",\\\\n \\\\\\"SuspectAIGCFace\\\\\\": \\\\\\"0.0001\\\\\\"\\\\n }\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Deepfake Detection Capability for Faces', - 'description' => 'Input a face image and use the algorithm to detect if there is a risk of deepfake. This includes risk scenarios such as AIGC-generated faces, deepfake face swaps, template faces, and rephotographed faces, and outputs risk labels and confidence scores.', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DeepfakeDetectIntlStream', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"SuspectDeepForgery\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"SuspectPSFace\\\\\\": \\\\\\"0.9796\\\\\\",\\\\n \\\\\\"SuspectRemake\\\\\\": \\\\\\"0.0000\\\\\\",\\\\n \\\\\\"SuspectDeepForgery\\\\\\": \\\\\\"0.9500\\\\\\",\\\\n \\\\\\"SuspectAIGCFace\\\\\\": \\\\\\"0.0001\\\\\\"\\\\n }\\"\\n },\\n \\"TransactionId\\": \\"\\"\\n }\\n}","type":"json"}]', ], - 'DeepfakeDetectIntl' => [ - 'summary' => 'Face Credential Verification', + 'DeleteFaceGroup' => [ + 'summary' => 'Deletes a face library.', 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', - ], - 'tenantRelevance' => 'publicInformation', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'ProductCode', - 'in' => 'query', + 'name' => 'Id', + 'in' => 'formData', + 'schema' => ['description' => 'The primary key ID.', 'type' => 'string', 'required' => true, 'example' => '16681', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The product solution to be integrated. Value: **FACE_DEEPFAKE**.', - 'type' => 'string', - 'required' => true, - 'example' => 'FACE_DEEPFAKE', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '595E387B-3F0E-5C52-BD02-8EFE63D41FD5'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The response result.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Delete a face library', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'SceneCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Your custom authentication scenario ID, used for querying related records by entering this scenario ID in the console later. Supports a combination of 10 characters, including letters, numbers, or underscores.', - 'type' => 'string', - 'required' => false, - 'example' => '1234567890', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteFaceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"595E387B-3F0E-5C52-BD02-8EFE63D41FD5\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1\\n}","type":"json"}]', + ], + 'DeleteFaceRecord' => [ + 'summary' => 'Deletes a face record.', + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'MerchantBizId', - 'in' => 'query', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => ['description' => 'The primary key ID.', 'type' => 'string', 'required' => false, 'example' => '344537', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'A unique identifier for the merchant\'s request, consisting of a 32-character alphanumeric combination. The first few characters are composed of a custom abbreviation defined by the merchant, the middle part can include a period of time, and the latter part can use a random or incremental sequence.', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The response data.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Delete a face record', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'FaceInputType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Input **IMAGE**, indicating a face image.', - 'type' => 'string', - 'required' => false, - 'example' => 'IMAGE', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1\\n}","type":"json"}]', + ], + 'DeleteFaceRecordV2' => [ + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'FaceUrl', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREcloudauthCS0SDG'], + ], + 'parameters' => [ + [ + 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'Input the URL address of the face image.'."\n" - .'> Choose one of FaceUrl or FaceBase64 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 unique user identifier, which must be consistent with the one used when calling AddFaceRecord. If this parameter was not specified during registration, you can use the default image name.', 'type' => 'string', 'required' => true, 'example' => '1231****', 'title' => ''], ], [ - 'name' => 'FaceBase64', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Input the Base64 encoded format of the face image.'."\n" - .'> Choose one of FaceUrl or FaceBase64 to input.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - ], + 'name' => 'FaceGroupCode', + 'in' => 'query', + 'schema' => ['description' => 'The face group code. If this parameter is not specified, the face data of the user is deleted from all face groups.', 'type' => 'string', 'required' => false, 'example' => 'sgl****7uc', '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' => '8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260', - ], - 'Code' => [ - 'description' => 'Return code: 200 indicates a successful request, any other value indicates failure.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The response result.', '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" - .'- **SuspectDeepForgery** Suspected deep forgery '."\n" - .'- **SuspectPSFace** Suspected synthetic attack '."\n" - .'- **SuspectWarterMark** Suspected watermark presence '."\n" - .'- **SuspectTemple** Suspected template attack '."\n" - .'- **SuspectAIGCFace** Suspected generated face '."\n" - .'- **SuspectRemake** Suspected rephotographed face', - 'type' => 'string', - 'example' => 'SuspectDeepForgery,SuspectWarterMark', - ], - 'RiskScore' => [ - 'description' => 'Risk score map.', - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .' "SuspectPSFace": "0.9796",'."\n" - .' "SuspectRemake": "0.0000",'."\n" - .' "SuspectDeepForgery": "0.9500",'."\n" - .' "SuspectAIGCFace": "0.0001",'."\n" - .' "SuspectWaterMark": "0.0000"'."\n" - .' }', - 'description' => 'Backend parameter name.', - ], - ], + 'Deleted' => ['description' => 'The deletion result. Valid values:'."\n" + .'- Y: Succeeded.'."\n" + .'- N: Failed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'DeletedGroupCodes' => ['description' => 'The list of face group codes from which the face data was actually deleted (comma-separated). This parameter is returned with all deleted group codes when FaceGroupCode is not specified.', 'type' => 'string', 'example' => 'wqe***,dsa***', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Delete a face record', + 'summary' => 'Deletes a face record.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8FC3D6AC-9FED-4311-8DA7-C4BF47D9F260\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"SuspectDeepForgery,SuspectWarterMark\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n \\\\\\"SuspectPSFace\\\\\\": \\\\\\"0.9796\\\\\\",\\\\n \\\\\\"SuspectRemake\\\\\\": \\\\\\"0.0000\\\\\\",\\\\n \\\\\\"SuspectDeepForgery\\\\\\": \\\\\\"0.9500\\\\\\",\\\\n \\\\\\"SuspectAIGCFace\\\\\\": \\\\\\"0.0001\\\\\\",\\\\n \\\\\\"SuspectWaterMark\\\\\\": \\\\\\"0.0000\\\\\\"\\\\n }\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => 'Face Deepfake Detection Service', - 'description' => 'Input a face image and use the algorithm to detect if there is a risk of deep forgery. This includes risk scenarios such as AIGC-generated faces, deepfake face swapping, template faces, and rephotographed faces, and outputs risk labels and confidence levels.', - 'translator' => 'machine', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Deleted\\": \\"Y\\",\\n \\"DeletedGroupCodes\\": \\"wqe***,dsa***\\"\\n }\\n}","type":"json"}]', ], - 'FaceGuardRisk' => [ - 'summary' => 'This topic describes how to set up the server for FACE_GUARD.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DeleteVerifyResult' => [ + 'summary' => 'Deletes data related to a user authentication record.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253422', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCS0SDG', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'DeviceToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The deviceToken obtained from the client SDK.', - 'type' => 'string', - 'required' => false, - 'example' => 'Tk9SSUQuMS*****************ZDNmNWY5NzQxOW1o', - ], - ], - [ - 'name' => 'MerchantBizId', + 'name' => 'TransactionId', 'in' => 'query', - 'schema' => [ - 'description' => 'A custom unique business identifier. It is used to locate and troubleshoot issues. The identifier can be a combination of letters and digits up to 32 characters long. Ensure that it is unique.', - 'type' => 'string', - 'required' => false, - 'example' => '0c83ce0101d34eff886b1f7d1cdef67f', - ], + 'schema' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'required' => false, 'example' => '4ab0b***cbde97', 'title' => ''], ], [ - 'name' => 'ProductCode', + 'name' => 'DeleteAfterQuery', 'in' => 'query', - 'schema' => [ - 'description' => 'The product code. Set this to the static field **FACE_GUARD**.', - 'type' => 'string', - 'required' => false, - 'example' => 'FACE_GUARD', - ], + 'schema' => ['description' => 'Specifies whether the deletion depends on the query operation.', 'type' => 'string', 'required' => false, 'example' => 'Y / N', 'title' => ''], ], [ - 'name' => 'BizId', + 'name' => 'DeleteType', 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the current business authentication. It is used with FACE_GUARD for verification during queries.', - 'type' => 'string', - 'required' => false, - 'example' => 'LMALL20******001', - ], + 'schema' => ['description' => 'The type of data to delete.', 'type' => 'string', 'required' => false, 'example' => 'Img / Text / All', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '595E387B-3F0E-5C52-BD02-8EFE63D41FD5', - ], - 'Code' => [ - 'description' => 'The return code. A value of Success indicates that the API operation responded successfully. For more information about how to determine the authentication result, expand the **Return codes** section below.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'A detailed description of the return code.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result object', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'RiskTags' => [ - 'description' => 'The device risk tags. Multiple risk tags are separated by commas (**,**). For more information about the risk tags and their meanings, expand the **Risk tags (RiskTags)** section below.', - 'type' => 'string', - 'example' => 'ROOT,VPN,HOOK', - ], - 'RiskExtends' => [ - 'description' => 'Extended information. This is empty by default.', - 'type' => 'string', - 'example' => '{'."\n" - .' "code": 200'."\n" - .' "message":"success"'."\n" - .' "umid":"07d3295d3d597b425d102a7f********",'."\n" - .' "sip":"198.51.100.1",'."\n" - .' "durationMs" : 4968931'."\n" - .' "queryCount":1,'."\n" - .' "querySessionCount":1,'."\n" - .' "queryUmidCount":1'."\n" - .' "platform":"Android'."\n" - .'}', - ], - 'TransactionId' => [ - 'description' => 'The transaction ID.'."\n", - 'type' => 'string', - 'example' => 'hk573be80f944d95ac812e019e3655a8', - ], - 'GuardRiskScore' => [ - 'description' => 'The device risk probability predicted by the Device Guard algorithm. A higher score indicates a higher device risk.'."\n" - ."\n" - .'Valid values: 0 to 100.', - 'type' => 'number', - 'format' => 'double', - 'example' => '0', - ], + 'TransactionId' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'example' => '4ab0b***cbde97', 'title' => ''], + 'DeleteResult' => ['description' => 'The deletion result. Valid values:'."\n" + .'- Y: The deletion was successful.'."\n" + .'- N: The deletion failed.', 'type' => 'string', 'example' => 'Y/N', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\",\\n \\"DeleteResult\\": \\"Y/N\\"\\n }\\n}","type":"json"}]', + 'title' => 'Delete an authentication record', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVerifyResult'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DeleteVerifyResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"595E387B-3F0E-5C52-BD02-8EFE63D41FD5\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"RiskTags\\": \\"ROOT,VPN,HOOK\\",\\n \\"RiskExtends\\": \\"默认为空\\",\\n \\"TransactionId\\": \\"hk573be80f944d95ac812e019e3655a8\\",\\n \\"GuardRiskScore\\": 0\\n }\\n}","type":"json"}]', - 'title' => 'FaceGuard pure server-side API', ], - 'FaceCompare' => [ - 'summary' => 'This topic describes how to integrate FaceCompare using only the server-side API.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DocOcr' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2306,360 +2135,368 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '165986', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth0KJCLK', - ], + 'abilityTreeCode' => '181950', + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH'], ], 'parameters' => [ [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A custom unique business ID used for troubleshooting. It can be a combination of up to 32 letters and digits. Make sure that the ID is unique.', - 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', - ], + 'schema' => ['description' => 'The custom business unique identifier on the merchant side, used for subsequent issue tracking and troubleshooting. The value can be a combination of letters and digits with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'dso9322***dsjsd22', 'title' => ''], ], [ - 'name' => 'SourceFacePicture', + 'name' => 'MerchantUserId', + 'in' => 'query', + 'schema' => ['description' => 'The custom user ID in the business. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], + ], + [ + 'name' => 'IdOcrPictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'The Base64 encoding of the portrait photo.'."\n" - ."\n" - .'> If you use this method to pass the image, check the image size. Do not pass an oversized image.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - ], + 'schema' => ['description' => 'The Base64-encoded card or certificate image.'."\n" + ."\n" + .'If you use IdOcrPictureBase64 (Base64-encoded photo) to submit the certificate photo, check the photo size and do not submit an excessively large photo.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'SourceFacePictureUrl', + 'name' => 'IdOcrPictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the portrait photo. The URL must be an HTTP or HTTPS link accessible over the Internet.'."\n" - ."\n" - .'> You must specify either SourceFacePicture or SourceFacePictureUrl.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://***face1.jpeg', - ], + 'schema' => ['description' => 'The URL of the front side of the certificate image.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", 'title' => ''], ], [ - 'name' => 'TargetFacePicture', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The Base64 encoding of the base photo.'."\n" - ."\n" - .'> If you use this method to pass the image, check the image size. Do not pass an oversized image.', - 'type' => 'string', - 'required' => false, - 'example' => '/9j/4AAQSkZJRgABAQAASxxxxxxx', - ], + 'name' => 'DocType', + 'in' => 'query', + 'schema' => ['description' => 'The certificate type.', 'type' => 'string', 'required' => false, 'example' => '00000006', 'title' => ''], ], [ - 'name' => 'TargetFacePictureUrl', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the base portrait photo. The URL must be an HTTP or HTTPS link accessible over the Internet.'."\n" - ."\n\n" - ."\n" - .'> You must specify either TargetFacePicture or TargetFacePictureUrl.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://***face2.jpeg', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => '产品方案类型ID_OCR_MIN', 'title' => ''], ], [ - 'name' => 'FacePictureQualityCheck', + 'name' => 'Ocr', 'in' => 'query', - 'schema' => [ - 'title' => '是否开启传入人脸图片质量检测', - 'description' => '是否开启传入人脸图片质量检测', - 'type' => 'string', - 'required' => false, - 'example' => 'N', - ], + 'schema' => ['description' => 'Specifies whether to perform certificate OCR. Valid values:'."\n" + .'- T: OCR is required.'."\n" + .'- F: OCR is not required.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], + ], + [ + 'name' => 'IdFaceQuality', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to perform certificate face quality detection. Valid values:'."\n" + .'- T: Detection is required.'."\n" + .'- F: Detection is not required. (Default value: F).', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], + ], + [ + 'name' => 'Spoof', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable anti-spoofing detection. Valid values:'."\n" + .'- T: Anti-spoofing is enabled.'."\n" + .'- F: Anti-spoofing is disabled.', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], + ], + [ + 'name' => 'IdThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The custom OCR quality detection threshold mode. Valid values:'."\n" + ."\n" + .'- 0: system default'."\n" + .'- 1: strict mode'."\n" + .'- 2: loose mode'."\n" + .'- 3 (default): quality detection disabled.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'CardSide', + 'in' => 'query', + 'schema' => ['description' => 'Specifies the side of the certificate to distinguish between the national emblem side and the portrait side. If this parameter is not specified, the portrait side is used by default. Valid values:'."\n" + ."\n" + .'- OCR_ID_FACE (default): portrait side'."\n" + ."\n" + .'- OCR_ID_NATIONAL_EMBLEM: national emblem side.', 'type' => 'string', 'required' => false, 'example' => 'OCR_ID_FACE', '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' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1', - ], - 'Code' => [ - 'description' => 'The [response code](https://www.alibabacloud.com/help/en/ekyc/latest/facecompare?spm=a3c0i.23458820.2359477120.28.21167d3fzUmXQC#c43fd16d07mae).', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The detailed description of the response code.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '86C40EC3-5940-5F47-995C-BFE90B70E540'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result object', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'The transaction ID.'."\n", - 'type' => 'string', - 'example' => '08573be80f944d95ac812e019e3655a8', - ], - 'Passed' => [ - 'description' => 'The final authentication result. Valid values:'."\n" - ."\n" - .'- **Y**: The authentication is passed.'."\n" - ."\n" - .'- **N**: The authentication failed.', - 'type' => 'string', - 'example' => 'Y', - ], - 'FaceComparisonScore' => [ - 'description' => 'The face comparison score. The value ranges from 0 to 100.', - 'type' => 'number', - 'format' => 'double', - 'example' => '98', - ], + 'TransactionId' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the authentication is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The card and certificate recognition result. This parameter is returned only when the API response is successful.', 'type' => 'string', 'example' => '{'."\n" + .' "idFaceQualityScore": 98.0'."\n" + .' "ocrIdInfo": {'."\n" + .' "expiryDate": "",'."\n" + .' "originOfIssue": "公安部出入境管理局",'."\n" + .' "englishName": "LI SI",'."\n" + .' "sex": "男",'."\n" + .' "name": "李四",'."\n" + .' "idNumber": "H11111112",'."\n" + .' "issueDate": "2013-01-02",'."\n" + .' "birthDate": "1990-02-21"'."\n" + .' },'."\n" + .' "spoofInfo": {'."\n" + .' "spoofResult": "Y",'."\n" + .' "spoofType": ['."\n" + .' "SCREEN_REMARK"'."\n" + .' ]'."\n" + .' }'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'China card and certificate OCR recognition (ID_OCR_MIN)', + 'summary' => 'Provides server-side card and certificate OCR capabilities.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DocOcr'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"Y\\",\\n \\"FaceComparisonScore\\": 98\\n }\\n}","type":"json"}]', - 'title' => 'Face comparison', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DocOcr', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"idFaceQualityScore\\\\\\": 98.0\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"expiryDate\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"originOfIssue\\\\\\": \\\\\\"公安部出入境管理局\\\\\\",\\\\n \\\\\\"englishName\\\\\\": \\\\\\"LI SI\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"男\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"李四\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"H11111112\\\\\\",\\\\n \\\\\\"issueDate\\\\\\": \\\\\\"2013-01-02\\\\\\",\\\\n \\\\\\"birthDate\\\\\\": \\\\\\"1990-02-21\\\\\\"\\\\n },\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"Y\\\\\\",\\\\n \\\\\\"spoofType\\\\\\": [\\\\n \\\\\\"SCREEN_REMARK\\\\\\"\\\\n ]\\\\n }\\\\n}\\"\\n }\\n}","type":"json"}]', ], - 'FaceCrossCompareIntl' => [ - 'summary' => 'Face Cross Comparison', + 'DocOcrMax' => [ + 'summary' => 'Recognizes global identity documents through OCR.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH', 'FEATUREcloudauthHOSIED', 'FEATUREcloudauthWSJE4H'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product solution to be integrated. Value: '."\n" - .'FACE_CROSS_COMPARE', - 'type' => 'string', - 'required' => true, - 'example' => ' FACE_CROSS_COMPARE', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The product solution to use.'."\n" + ."\n" + .'Set this parameter to ID_OCR_MAX.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'ID_OCR_MAX', 'title' => ''], ], [ 'name' => 'SceneCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Custom business scenario ID', - 'type' => 'string', - 'required' => false, - 'example' => '1234567890', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The custom authentication scenario ID. You can use this scenario ID to query related records in the console.'."\n" + ."\n" + .'The value can contain up to 10 characters, including letters, digits, and underscores.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], ], [ 'name' => 'MerchantBizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier for subsequent troubleshooting. It supports a combination of 32 alphanumeric characters, please ensure its uniqueness.', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The custom unique business identifier, which is used for subsequent troubleshooting.'."\n" + ."\n" + .'The value can contain up to 32 characters, including letters and digits. Make sure the value is unique.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', 'title' => ''], ], [ - 'name' => 'CompareModel', - 'in' => 'query', - 'schema' => [ - 'description' => 'Comparison mode'."\n" - .'- 0-Chain comparison (default): A:B and B:C'."\n" - .'- 1-Circular comparison: A:B and B:C and C:A', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'name' => 'MerchantUserId', + 'in' => 'formData', + 'schema' => ['description' => 'The custom user ID or another identifier that can identify a specific user, such as a phone number or email address.'."\n" + ."\n" + .'We strongly recommend that you desensitize the value of this field in advance, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ - 'name' => 'SourceAFacePicture', + 'name' => 'IdOcrPictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded portrait photo.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'schema' => ['description' => 'The Base64-encoded image of the card or certificate.'."\n" + ."\n" + .'If you use IdOcrPictureBase64 to pass in the document image, check the image size and do not pass in an excessively large image.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'SourceAFacePictureUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'Portrait image URL, accessible via HTTP or HTTPS on the public network.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.xxx.com/1.jpg', - ], + 'name' => 'IdOcrPictureUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the card or certificate image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://***********.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", 'title' => ''], ], [ - 'name' => 'SourceBFacePicture', + 'name' => 'OcrModel', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded portrait photo.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64'."\n", - ], + 'schema' => ['description' => 'The OCR recognition mode. Valid values:'."\n" + ."\n" + .'- 0: general document recognition mode (default).'."\n" + ."\n" + .'- 1: automatic document classification mode.'."\n" + ."\n" + .'- 2: automatic document classification + general recognition mode.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'SourceBFacePictureUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'Portrait image URL, accessible via HTTP or HTTPS on the public network.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.xxx.com/1.jpg', - ], + 'name' => 'DocType', + 'in' => 'formData', + 'schema' => ['description' => 'The document type.'."\n" + .'- Format: country code + document type abbreviation + page (optional).'."\n" + ."\n" + .'Note:'."\n" + .'- OcrModel = 0: DocType is required. Specify the document type. The existing logic remains unchanged.'."\n" + .'- OcrModel = 1 or 2: DocType must be left empty.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'CNSSC01', 'title' => ''], ], [ - 'name' => 'SourceCFacePicture', + 'name' => 'Prompt', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded portrait photo.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64'."\n", - ], + 'schema' => ['description' => '><warning>This field is deprecated.</warning>.', 'type' => 'string', 'required' => false, 'example' => '已废弃', 'title' => ''], ], [ - 'name' => 'SourceCFacePictureUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'Portrait image URL, accessible via HTTP or HTTPS on the public network.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.xxx.com/1.jpg', - ], + 'name' => 'Spoof', + 'in' => 'formData', + 'schema' => ['description' => '<warning>This field is deprecated.</warning>.', 'type' => 'string', 'required' => false, 'example' => '已废弃', 'title' => ''], ], [ - 'name' => 'FaceVerifyThreshold', + 'name' => 'IdThreshold', + 'in' => 'formData', + 'schema' => ['description' => 'The custom OCR quality detection threshold mode. Valid values:'."\n" + ."\n" + .'- 0: system default.'."\n" + .'- 1: strict mode.'."\n" + .'- 2: loose mode.'."\n" + .'- 3 (default): quality detection disabled.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'IdSpoof', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to enable the document anti-forgery feature. Valid values:'."\n" + ."\n" + .'- T: enabled.'."\n" + ."\n" + .'- F (default): disabled.', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], + ], + [ + 'name' => 'DocPage', + 'in' => 'formData', + 'schema' => ['description' => 'The expected page to recognize. Valid values:'."\n" + ."\n" + .'- 01 (default): the portrait side of the document.'."\n" + ."\n" + .'- 02: the back side of the document.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], + ], + [ + 'name' => 'OcrValueStandard', 'in' => 'query', - 'schema' => [ - 'description' => 'Face matching threshold.', - 'type' => 'string', - 'required' => false, - 'example' => '0.5', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable OCR key field standardization. Valid values:'."\n" + .'- 0: no (default). '."\n" + .'- 1: yes.', 'type' => 'string', 'example' => '0', 'default' => '0', 'required' => false], + ], + [ + 'name' => 'Authorize', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to enable authoritative data source verification to enhance document anti-forgery capabilities.'."\n" + ."\n" + .'- **T**: enabled.'."\n" + ."\n" + .'- **F**: disabled (default).'."\n" + ."\n" + .'> '."\n" + .'> - **Applicable document types**: China resident identity card (CHN01001) and Chinese mainland driver\'s license (CHN02001).'."\n" + .'> - **Data transmission statement**: Enabling this parameter indicates your consent to transmit the user\'s name and document number to an authoritative data source in the Chinese mainland for consistency verification.'."\n" + .'> - **Performance impact**: After this feature is enabled, the API response time increases by approximately 1 to 2 seconds. Adjust the timeout settings accordingly.', 'type' => 'string', 'required' => false, 'example' => 'T'."\n", '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' => '130A2C10-B9EE-4D84-88E3-5384FF039795', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'FacePassed' => [ - 'description' => 'Final verification result, values:'."\n" - .'- Y: Pass'."\n" - .'- N: Fail', - 'type' => 'string', - 'example' => 'Y', - ], - 'FaceComparisonScoreA2B' => [ - 'description' => 'A to B comparison score, range 0~100.', - 'type' => 'number', - 'format' => 'double', - 'example' => '99', - ], - 'FaceComparisonScoreB2C' => [ - 'description' => 'B to C comparison score, range 0~100.', - 'type' => 'number', - 'format' => 'double', - 'example' => '99', - ], - 'FaceComparisonScoreC2A' => [ - 'description' => 'C to A comparison score, range 0~100.', - 'type' => 'number', - 'format' => 'double', - 'example' => '99', - ], - 'TransactionId' => [ - 'description' => 'Unique identifier for the authentication request.', - 'type' => 'string', - 'example' => '4ab0b***cbde97', - ], + 'Passed' => ['description' => 'Indicates whether the authentication is passed. Valid values:'."\n" + ."\n" + .'- Y: passed.'."\n" + .'- N: not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The card and certificate recognition result. This parameter is returned only when the API response is successful.', 'type' => 'string', 'example' => '{'."\n" + .' "docType": "PPTW01",'."\n" + .' "ocrIdInfo": {'."\n" + .' "passportNo": "36*******",'."\n" + .' "expiryDate": "2032/02/10",'."\n" + .' "placeOfBirth": "TAIWAN",'."\n" + .' "surname": "CHEN",'."\n" + .' "givenname": "LIN-CHUN",'."\n" + .' "countryCode": "TWN",'."\n" + .' "sex": "F",'."\n" + .' "personalNo": "S22********",'."\n" + .' "issueDate": "2022/02/10",'."\n" + .' "birthDate": "1988/10/04"'."\n" + .' }'."\n" + .'}', 'title' => ''], + 'TransactionId' => ['description' => 'The authentication ID.', 'type' => 'string', 'example' => 'hk573be80f944d95ac812e0*******a8', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"docType\\\\\\": \\\\\\"PPTW01\\\\\\",\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"passportNo\\\\\\": \\\\\\"36*******\\\\\\",\\\\n \\\\\\"expiryDate\\\\\\": \\\\\\"2032/02/10\\\\\\",\\\\n \\\\\\"placeOfBirth\\\\\\": \\\\\\"TAIWAN\\\\\\",\\\\n \\\\\\"surname\\\\\\": \\\\\\"CHEN\\\\\\",\\\\n \\\\\\"givenname\\\\\\": \\\\\\"LIN-CHUN\\\\\\",\\\\n \\\\\\"countryCode\\\\\\": \\\\\\"TWN\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"F\\\\\\",\\\\n \\\\\\"personalNo\\\\\\": \\\\\\"S22********\\\\\\",\\\\n \\\\\\"issueDate\\\\\\": \\\\\\"2022/02/10\\\\\\",\\\\n \\\\\\"birthDate\\\\\\": \\\\\\"1988/10/04\\\\\\"\\\\n }\\\\n}\\",\\n \\"TransactionId\\": \\"hk573be80f944d95ac812e0*******a8\\"\\n }\\n}","type":"json"}]', + 'title' => 'Global card and certificate OCR recognition', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DocOcrMax'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DocOcrMax', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FacePassed\\": \\"Y\\",\\n \\"FaceComparisonScoreA2B\\": 0.9999999999999999,\\n \\"FaceComparisonScoreB2C\\": 0.9999999999999999,\\n \\"FaceComparisonScoreC2A\\": 0.9999999999999999,\\n \\"TransactionId\\": \\"4ab0b***cbde97\\"\\n }\\n}","type":"json"}]', - 'title' => 'Face Cross Comparison', - 'translator' => 'machine', ], - 'DocOcrMax' => [ - 'summary' => 'Global Document OCR Recognition Interface', - 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DocOcrMaxV2' => [ + 'summary' => 'Recognizes identity documents worldwide through OCR.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2671,292 +2508,184 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCW0JNH', - 'FEATUREcloudauthHOSIED', - 'FEATUREcloudauthWSJE4H', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH', 'FEATUREcloudauthHOSIED', 'FEATUREcloudauthWSJE4H'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'formData', - 'schema' => [ - 'description' => 'The product solution to be integrated.'."\n" - ."\n" - .'Value: ID_OCR_MAX', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ID_OCR_MAX', - ], + 'schema' => ['description' => 'The product solution to use.'."\n" + ."\n" + .'Set this parameter to ID_OCR_MAX.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'ID_OCR_MAX', 'title' => ''], ], [ 'name' => 'SceneCode', 'in' => 'formData', - 'schema' => [ - 'description' => 'Custom scene code, used to distinguish business scenarios, a 10-digit number.', - 'type' => 'string', - 'required' => false, - 'example' => '1234567890', - ], + 'schema' => ['description' => 'The custom verification scenario ID. You can use this scenario ID to query related records in the console.'."\n" + ."\n" + .'The value can contain letters, digits, and underscores, with a maximum length of 10 characters.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], ], [ 'name' => 'MerchantBizId', 'in' => 'formData', - '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' => true, - 'docRequired' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c******', - ], + 'schema' => ['description' => 'The merchant-defined unique business identifier, 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', 'docRequired' => true, 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888'."\n", 'title' => ''], ], [ 'name' => 'MerchantUserId', 'in' => 'formData', - 'schema' => [ - 'description' => 'Your custom user ID or other identifiers that can uniquely identify a specific user, such as a phone number or email address. It is strongly recommended to pre-desensitize the value of this field, for example, by hashing it.', - 'type' => 'string', - 'required' => false, - 'example' => '123456789', - ], + 'schema' => ['description' => 'The custom user ID, or another identifier that can identify a specific user, such as a phone number or email address.'."\n" + ."\n" + .'Hash or otherwise desensitize this field value before passing it in.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ 'name' => 'IdOcrPictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'Document image, base64 encoded binary stream', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'schema' => ['description' => 'The Base64-encoded image of the identity document.'."\n" + ."\n" + .'If you use IdOcrPictureBase64 to pass in the document image, check the image size and do not pass in an excessively large image.', 'type' => 'string', 'required' => false, 'example' => 'base64'."\n", 'title' => ''], ], [ 'name' => 'IdOcrPictureUrl', 'in' => 'formData', - 'schema' => [ - 'description' => 'Document image URL', - 'type' => 'string', - 'required' => false, - 'example' => 'https://***********.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", - ], + 'schema' => ['description' => 'The URL of the identity document image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://***********.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", 'title' => ''], ], [ 'name' => 'OcrModel', 'in' => 'formData', - 'schema' => [ - 'description' => 'OCR recognition mode.'."\n" - .'0: General document mode.'."\n" - .'1: Custom mode.', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The OCR recognition mode. Valid values:'."\n" + ."\n" + .'- 0: general document recognition mode (default).'."\n" + ."\n" + .'- 1: automatic document classification mode.'."\n" + ."\n" + .'- 2: automatic document classification and general recognition mode.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'DocType', 'in' => 'formData', - 'schema' => [ - 'description' => 'Document type.'."\n" - .'Format: Country (region) code + document type abbreviation + page (optional)'."\n" - .'Note: If provided, it will automatically check if it matches the model recognition result; if empty, the document type will be returned after model recognition.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'CNSSC01', - ], - ], - [ - 'name' => 'Prompt', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Prompt (for custom mode)', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxocr识别', - ], - ], - [ - 'name' => 'Spoof', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Whether to enable document anti-counterfeiting function, default is not enabled.'."\n" - ."\n" - .'- T: Enable document anti-counterfeiting function.'."\n" - .'- F: Do not enable.', - 'type' => 'string', - 'required' => false, - 'example' => 'F', - ], + 'schema' => ['description' => 'The document type.'."\n" + .'- Format: country code + document type abbreviation + page (optional).'."\n" + ."\n" + .'Note:'."\n" + .'- OcrModel = 0: DocType is required. Specify the document type. The existing logic remains unchanged.'."\n" + .'- OcrModel = 1 or 2: DocType must be left empty.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'CHN01001', 'title' => ''], ], [ 'name' => 'IdThreshold', 'in' => 'formData', - 'schema' => [ - 'description' => 'Custom OCR quality detection threshold mode:'."\n" - ."\n" - .'- 0: System default'."\n" - .'- 1: Strict mode'."\n" - .'- 2: Lenient mode'."\n" - .'- 3 (default): Disable quality detection', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The custom OCR quality detection threshold mode. Valid values:'."\n" + ."\n" + .'- 0: system default.'."\n" + .'- 1: strict mode.'."\n" + .'- 2: loose mode.'."\n" + .'- 3 (default): quality detection disabled.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'IdSpoof', 'in' => 'formData', - 'schema' => [ - 'description' => 'Whether to turn on the certificate anti-counterfeiting function:'."\n" - ."\n" - .'- T: open'."\n" - ."\n" - .'- F (default): not turned on.', - 'type' => 'string', - 'required' => false, - 'example' => 'F', - ], + 'schema' => ['description' => 'Specifies whether to enable the document anti-forgery feature. Valid values:'."\n" + ."\n" + .'- T: enabled.'."\n" + ."\n" + .'- F (default): disabled.', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], ], [ 'name' => 'DocPage', 'in' => 'formData', - 'schema' => [ - 'description' => 'Page expected to be recognized'."\n" - ."\n" - .'- 01 (default): ID portrait.'."\n" - ."\n" - .'- 02: Back of the certificate', - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'schema' => ['description' => 'The expected page to recognize. Valid values:'."\n" + ."\n" + .'- 01 (default): the portrait side of the document.'."\n" + ."\n" + .'- 02: the back side of the document.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], ], [ 'name' => 'OcrValueStandard', 'in' => 'query', - 'schema' => [ - 'title' => 'OcrValueStandard是否需要开启OCR识别关键字段标准化; 0否(默认) 1是', - 'description' => 'Specifies whether to return additional OCR fields in a standardized format:'."\n" - ."\n" - .'- **0**: No (default)'."\n" - ."\n" - .'- **1**: Yes', - 'type' => 'string', - 'required' => false, - 'example' => '0', - 'default' => '0', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable OCR key field standardization. Valid values:'."\n" + ."\n" + .'- 0 (default): disabled.'."\n" + .'- 1: enabled.', 'type' => 'string', 'example' => '0', 'default' => '0', 'required' => false], ], [ 'name' => 'Authorize', 'in' => 'formData', - 'schema' => [ - 'description' => 'Specifies whether to enable verification with an authoritative data source to enhance document anti-spoofing capabilities.'."\n" - ."\n" - .'- **T**: Enable'."\n" - ."\n" - .'- **F**: Disable (default)'."\n" - ."\n" - .'> '."\n" - .'> - **Applicable document types**: Chinese resident ID cards (CHN01001) and Chinese mainland driver\'s licenses (CHN02001).'."\n" - .'> - **Data transfer declaration**: If you enable this parameter, you agree to transfer the user\'s name and certificate number to an authoritative data source in the Chinese mainland for consistency verification.'."\n" - .'> - **Performance impact:** After you enable this feature, the response time of the API operation increases by 1 to 2 seconds. Adjust the timeout setting.', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'Specifies whether to enable authoritative data source verification to enhance document anti-forgery capabilities. Valid values:'."\n" + ."\n" + .'- **T**: enabled.'."\n" + ."\n" + .'- **F** (default): disabled.'."\n" + ."\n" + .'> '."\n" + .'> - **Applicable document types**: China resident identity card (CHN01001) and China mainland driver\'s license (CHN02001).'."\n" + .'> - **Data transmission statement**: Enabling this parameter indicates consent to transmit the user\'s name and document number to an authoritative data source in the Chinese mainland for consistency verification.'."\n" + .'> - **Performance impact**: Enabling this parameter increases the API response time by approximately 1 to 2 seconds. Adjust the timeout settings accordingly.', 'type' => 'string', 'required' => false, 'example' => 'T'."\n", 'title' => ''], + ], + [ + 'name' => 'IdOcrPictureFile', + 'in' => 'formData', + 'schema' => ['description' => 'The file stream of the document image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Passed' => [ - 'description' => 'Whether the authentication passed.'."\n" - ."\n" - .'- Y: Passed.'."\n" - .'- N: Not passed.', - 'type' => 'string', - 'example' => 'Y', - ], - 'SubCode' => [ - 'description' => 'Sub-result code.', - 'type' => 'string', - 'example' => '200', - ], - 'ExtIdInfo' => [ - 'description' => 'Card and document recognition result Only returned when the interface response is successful', - 'type' => 'string', - 'example' => '{'."\n" - .' "docType": "PPTW01",'."\n" - .' "ocrIdInfo": {'."\n" - .' "passportNo": "36*******",'."\n" - .' "expiryDate": "2032/02/10",'."\n" - .' "placeOfBirth": "TAIWAN",'."\n" - .' "surname": "CHEN",'."\n" - .' "givenname": "LIN-CHUN",'."\n" - .' "countryCode": "TWN",'."\n" - .' "sex": "F",'."\n" - .' "personalNo": "S22********",'."\n" - .' "issueDate": "2022/02/10",'."\n" - .' "birthDate": "1988/10/04"'."\n" - .' }'."\n" - .'}', - ], - 'TransactionId' => [ - 'description' => 'Authentication ID', - 'type' => 'string', - 'example' => 'hk573be80f944d95ac812e0*******a8', - ], + 'Passed' => ['description' => 'Indicates whether the verification passed. Valid values:'."\n" + ."\n" + .'- Y: passed.'."\n" + .'- N: not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The card and certificate recognition result. This parameter is returned only when the API response is successful.', 'type' => 'string', 'example' => '{'."\n" + .' "ocrIdInfo": {'."\n" + .' "id_number": "*****719******",'."\n" + .' "address": "xxxxxx,'."\n" + .' "ethnicity": "汉",'."\n" + .' "date_of_birth": "1990年06月02日",'."\n" + .' "sex": "女",'."\n" + .' "name": "何**"'."\n" + .' },'."\n" + .' "ocrStandardData": {'."\n" + .' "given_name_s": "**",'."\n" + .' "surname_s": "HE",'."\n" + .' "date_of_birth_s": "1990-06-02",'."\n" + .' "sex_s": "F"'."\n" + .' }'."\n" + .'}', 'title' => ''], + 'TransactionId' => ['description' => 'The unique identifier of the verification request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Global card and certificate OCR recognition', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"docType\\\\\\": \\\\\\"PPTW01\\\\\\",\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"passportNo\\\\\\": \\\\\\"36*******\\\\\\",\\\\n \\\\\\"expiryDate\\\\\\": \\\\\\"2032/02/10\\\\\\",\\\\n \\\\\\"placeOfBirth\\\\\\": \\\\\\"TAIWAN\\\\\\",\\\\n \\\\\\"surname\\\\\\": \\\\\\"CHEN\\\\\\",\\\\n \\\\\\"givenname\\\\\\": \\\\\\"LIN-CHUN\\\\\\",\\\\n \\\\\\"countryCode\\\\\\": \\\\\\"TWN\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"F\\\\\\",\\\\n \\\\\\"personalNo\\\\\\": \\\\\\"S22********\\\\\\",\\\\n \\\\\\"issueDate\\\\\\": \\\\\\"2022/02/10\\\\\\",\\\\n \\\\\\"birthDate\\\\\\": \\\\\\"1988/10/04\\\\\\"\\\\n }\\\\n}\\",\\n \\"TransactionId\\": \\"hk573be80f944d95ac812e0*******a8\\"\\n }\\n}","type":"json"}]', - 'title' => 'New Card and Document OCR Recognition Interface', - 'translator' => 'machine', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"id_number\\\\\\": \\\\\\"*****719******\\\\\\",\\\\n \\\\\\"address\\\\\\": \\\\\\"xxxxxx,\\\\n \\\\\\"ethnicity\\\\\\": \\\\\\"汉\\\\\\",\\\\n \\\\\\"date_of_birth\\\\\\": \\\\\\"1990年06月02日\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"女\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"何**\\\\\\"\\\\n },\\\\n \\\\\\"ocrStandardData\\\\\\": {\\\\n \\\\\\"given_name_s\\\\\\": \\\\\\"**\\\\\\",\\\\n \\\\\\"surname_s\\\\\\": \\\\\\"HE\\\\\\",\\\\n \\\\\\"date_of_birth_s\\\\\\": \\\\\\"1990-06-02\\\\\\",\\\\n \\\\\\"sex_s\\\\\\": \\\\\\"F\\\\\\"\\\\n }\\\\n}\\",\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\"\\n }\\n}","type":"json"}]', ], - 'DocOcr' => [ - 'summary' => 'Card and document OCR pure server-side', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DocOcrV2' => [ + 'summary' => 'Provides server-side card and certificate OCR capabilities.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2969,340 +2698,247 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '181950', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCW0JNH', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH'], ], 'parameters' => [ [ 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant, used 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' => 'dso9322***dsjsd22', - ], + '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. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'dso9322***dsjsd22'."\n", 'title' => ''], ], [ 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'A custom user ID in the business, please keep it unique.', - 'type' => 'string', - 'required' => false, - 'example' => '123456789', - ], + 'schema' => ['description' => 'The custom user ID defined in your business. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ 'name' => 'IdOcrPictureBase64', 'in' => 'formData', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'Base64 of the front side of the document image', - 'example' => 'base64', - ], + 'schema' => ['description' => 'The Base64-encoded card or certificate image.'."\n" + ."\n" + .'If you use IdOcrPictureBase64 to pass in the certificate image, check the image size and do not pass in an excessively large image.', 'type' => 'string', 'required' => false, 'example' => 'base64'."\n", 'title' => ''], ], [ 'name' => 'IdOcrPictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'URL of the front side of the document image', - 'type' => 'string', - 'required' => false, - 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", - ], + 'schema' => ['description' => 'The URL of the front side of the certificate image.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg', 'title' => ''], + ], + [ + 'name' => 'IdOcrPictureFile', + 'in' => 'formData', + 'schema' => ['description' => 'The file stream of the front side of the certificate image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], ], [ 'name' => 'DocType', 'in' => 'query', - 'schema' => [ - 'description' => 'Document type', - 'type' => 'string', - 'required' => false, - 'example' => '00000006', - ], + 'schema' => ['description' => 'The certificate type.', 'type' => 'string', 'required' => false, 'example' => '00000006'."\n", 'title' => ''], ], [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Product code', - 'type' => 'string', - 'required' => false, - 'example' => '产品方案类型ID_OCR_MIN', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => '产品方案类型ID_OCR_MIN'."\n", 'title' => ''], ], [ 'name' => 'Ocr', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to perform document OCR'."\n" - .'- T: Indicates that document OCR is required'."\n" - .'- F: Indicates that document OCR is not required', - 'type' => 'string', - 'required' => false, - 'example' => 'T', - ], + 'schema' => ['description' => 'Specifies whether to perform certificate OCR.'."\n" + ."\n" + .'- T: OCR is required.'."\n" + .'- F: OCR is not required.', 'type' => 'string', 'required' => false, 'example' => 'T'."\n", 'title' => ''], ], [ 'name' => 'IdFaceQuality', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to perform ID face quality detection'."\n" - .'- T: Indicates that detection is required'."\n" - .'- F: Indicates that detection is not required (default F)', - 'type' => 'string', - 'required' => false, - 'example' => 'F', - ], + 'schema' => ['description' => 'Specifies whether to perform face quality detection on the certificate.'."\n" + ."\n" + .'- T: Detection is required.'."\n" + .'- F: Detection is not required. (Default: F).', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], ], [ 'name' => 'Spoof', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable anti-counterfeiting detection'."\n" - .'- T: Indicates that anti-counterfeiting is enabled'."\n" - .'- F: Indicates that anti-counterfeiting is disabled', - 'type' => 'string', - 'required' => false, - 'example' => 'F', - ], + 'schema' => ['description' => 'Specifies whether to enable anti-spoofing detection.'."\n" + ."\n" + .'- T: Anti-spoofing is enabled.'."\n" + .'- F: Anti-spoofing is disabled.', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], ], [ 'name' => 'IdThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'example' => '0', - 'description' => 'IdThreshold', - ], + 'schema' => ['description' => 'The custom OCR quality detection threshold mode. Valid values:'."\n" + ."\n" + .'- 0: system default'."\n" + .'- 1: strict mode'."\n" + .'- 2: loose mode'."\n" + .'- 3 (default): quality detection is disabled.', 'type' => 'string', 'required' => false, 'example' => '0'."\n", 'title' => ''], ], [ 'name' => 'CardSide', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'CardSide', - 'example' => '0', - ], + 'schema' => ['description' => 'Specifies the side of the certificate. If this parameter is not specified, the portrait side is used by default.'."\n" + ."\n" + .'- OCR_ID_FACE (default): the portrait side'."\n" + ."\n" + .'- OCR_ID_NATIONAL_EMBLEM: the national emblem side.', 'type' => 'string', 'required' => false, 'example' => 'OCR_ID_FACE'."\n", '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' => '86C40EC3-5940-5F47-995C-BFE90B70E540', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '86C40EC3-5940-5F47-995C-BFE90B70E540'."\n"], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success'."\n", 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'Unique identifier of the authentication request', - 'type' => 'string', - 'example' => '08573be80f944d95ac812e019e3655a8', - ], - 'Passed' => [ - 'description' => 'Whether the authentication passed.'."\n" - ."\n" - .'- Y: Passed'."\n" - .'- N: Not passed', - 'type' => 'string', - 'example' => 'Y', - ], - 'SubCode' => [ - 'description' => 'Sub-result code', - 'type' => 'string', - 'example' => '200', - ], - 'ExtIdInfo' => [ - 'description' => 'Card and document recognition result Only returned when the interface response is successful', - 'type' => 'string', - 'example' => '{'."\n" - .' "idFaceQualityScore": 98.0'."\n" - .' "ocrIdInfo": {'."\n" - .' "expiryDate": "",'."\n" - .' "originOfIssue": "公安部出入境管理局",'."\n" - .' "englishName": "LI SI",'."\n" - .' "sex": "男",'."\n" - .' "name": "李四",'."\n" - .' "idNumber": "H11111112",'."\n" - .' "issueDate": "2013-01-02",'."\n" - .' "birthDate": "1990-02-21"'."\n" - .' },'."\n" - .' "spoofInfo": {'."\n" - .' "spoofResult": "Y",'."\n" - .' "spoofType": ['."\n" - .' "SCREEN_REMARK"'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], + 'TransactionId' => ['description' => 'The unique ID of the authentication request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8'."\n", 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the authentication is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y'."\n", 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200'."\n", 'title' => ''], + 'ExtIdInfo' => ['description' => 'The card and certificate recognition result. This parameter is returned only when the API response is successful.', 'type' => 'string', 'example' => '{'."\n" + .' "idFaceQualityScore": 98.0'."\n" + .' "ocrIdInfo": {'."\n" + .' "expiryDate": "",'."\n" + .' "originOfIssue": "公安部出入境管理局",'."\n" + .' "englishName": "LI SI",'."\n" + .' "sex": "男",'."\n" + .' "name": "李四",'."\n" + .' "idNumber": "H11111112",'."\n" + .' "issueDate": "2013-01-02",'."\n" + .' "birthDate": "1990-02-21"'."\n" + .' },'."\n" + .' "spoofInfo": {'."\n" + .' "spoofResult": "Y",'."\n" + .' "spoofType": ['."\n" + .' "SCREEN_REMARK"'."\n" + .' ]'."\n" + .' }'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'China card and certificate OCR recognition (ID_OCR_MIN)', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"idFaceQualityScore\\\\\\": 98.0\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"expiryDate\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"originOfIssue\\\\\\": \\\\\\"公安部出入境管理局\\\\\\",\\\\n \\\\\\"englishName\\\\\\": \\\\\\"LI SI\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"男\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"李四\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"H11111112\\\\\\",\\\\n \\\\\\"issueDate\\\\\\": \\\\\\"2013-01-02\\\\\\",\\\\n \\\\\\"birthDate\\\\\\": \\\\\\"1990-02-21\\\\\\"\\\\n },\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"Y\\\\\\",\\\\n \\\\\\"spoofType\\\\\\": [\\\\n \\\\\\"SCREEN_REMARK\\\\\\"\\\\n ]\\\\n }\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Card and Document OCR Pure Server-side Capability API', - 'translator' => 'machine', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\\\n\\",\\n \\"Code\\": \\"Success\\\\n\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\\\n\\",\\n \\"Passed\\": \\"Y\\\\n\\",\\n \\"SubCode\\": \\"200\\\\n\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"idFaceQualityScore\\\\\\": 98.0\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"expiryDate\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"originOfIssue\\\\\\": \\\\\\"公安部出入境管理局\\\\\\",\\\\n \\\\\\"englishName\\\\\\": \\\\\\"LI SI\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"男\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"李四\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"H11111112\\\\\\",\\\\n \\\\\\"issueDate\\\\\\": \\\\\\"2013-01-02\\\\\\",\\\\n \\\\\\"birthDate\\\\\\": \\\\\\"1990-02-21\\\\\\"\\\\n },\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"Y\\\\\\",\\\\n \\\\\\"spoofType\\\\\\": [\\\\n \\\\\\"SCREEN_REMARK\\\\\\"\\\\n ]\\\\n }\\\\n}\\"\\n }\\n}","type":"json"}]', ], - 'Id2MetaVerifyIntl' => [ - 'summary' => 'Verifies that a name and an ID card number are consistent.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DownloadVerifyRecordIntl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '199203', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '225500', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ProductCode', + 'name' => 'Code', 'in' => 'query', - 'schema' => [ - 'description' => 'The product plan. This is a static field. Set the value to **ID_2META**.', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_2META', - ], + 'schema' => ['description' => 'The query code.', 'type' => 'string', 'required' => false, 'example' => 'vrf_intl_verify_record_real_id_idv_invoke_statistics_query', 'title' => ''], ], [ - 'name' => 'ParamType', + 'name' => 'Param', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameter type.'."\n" - ."\n" - .'**normal**: The original value in plaintext.'."\n" - ."\n" - .'> Due to limitations of the authoritative data source, two-factor ID verification does not support MD5 encryption.', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], + 'schema' => ['description' => 'The parameters for the export and download query task.', 'type' => 'string', 'required' => false, 'example' => '{\\"productCode\\":\\"FACE_LIVENESS\\",\\"startDs\\":\\"20251121\\",\\"endDs\\":\\"20251128\\",\\"language\\":\\"en\\"}', 'title' => ''], ], [ - 'name' => 'IdentifyNum', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID card number.'."\n" - ."\n" - .'> Only ID cards of residents in the Chinese mainland are supported.', - 'type' => 'string', - 'required' => false, - 'example' => '429001********8211'."\n", - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'KYC', 'title' => ''], ], [ - 'name' => 'UserName', + 'name' => 'DownloadMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The name.', - 'type' => 'string', - 'required' => false, - 'example' => 'Zhang*', - ], + 'schema' => ['description' => 'The download mode. Valid values:'."\n" + ."\n" + .'- **async**: asynchronous'."\n" + .'- **sync**: synchronous.', 'type' => 'string', 'required' => false, 'example' => 'async', 'title' => ''], + ], + [ + 'name' => 'BizType', + 'in' => 'query', + 'schema' => ['description' => 'The business type. Valid values:'."\n" + .'- INVOKE_STATISTICS'."\n" + .'- INVOKE_RECORD.', 'type' => 'string', 'required' => false, 'example' => 'INVOKE_RECORD', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => 'EFA11401-C961-5E89-A2D3-BF9883E5CC3D', - ], - 'Code' => [ - 'description' => '[Status codes](https://www.alibabacloud.com/help/en/ekyc/latest/ok4bwxwmu1n94o76?spm=a2c63.p38356.0.i54#942707fca218x).', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'The detailed description of the response code.', - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'Return result', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '86C40EC3-5940-5F47-995C-BFE90B70E540'."\n"], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'The verification result:'."\n" - ."\n" - .'- 1: The information is consistent. This result is billable.'."\n" - ."\n" - .'- 2: The information is inconsistent. This result is billable.'."\n" - ."\n" - .'- 3: No record is found. This result is not billable.', - 'type' => 'string', - 'example' => '1', - ], + 'DownloadTaskId' => ['description' => 'The task ID. This parameter is returned in asynchronous mode. Use QueryDownloadTaskIntl to download the exported file.', 'type' => 'string', 'example' => '202511284106866', 'title' => ''], + 'Url' => ['description' => 'The download URL of the exported file.', 'type' => 'string', 'example' => 'https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxx/KYC_INVOKE_STATISTICS.xlxs', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EFA11401-C961-5E89-A2D3-BF9883E5CC3D\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', - 'title' => 'Identity Two-Element Verification API', - ], - 'Id2MetaPeriodVerifyIntl' => [ - 'summary' => 'This operation verifies the authenticity and consistency of a name, ID card number, and the start and end dates of the ID card\'s validity period against an authoritative source.', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Download authentication records', + 'summary' => 'Downloads verification task records.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DownloadVerifyRecordIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\\\n\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"DownloadTaskId\\": \\"202511284106866\\",\\n \\"Url\\": \\"https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxx/KYC_INVOKE_STATISTICS.xlxs\\"\\n }\\n}","type":"json"}]', + ], + 'EkycVerify' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3314,174 +2950,173 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '261144', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '190721', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'ProductCode', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The product solution to integrate. Set the value to **eKYC_Date_MIN**.', - 'type' => 'string', - 'required' => true, - 'example' => 'eKYC_Date_MIN', - ], - ], - [ - 'name' => 'SceneCode', - 'in' => 'formData', - 'schema' => [ - 'description' => 'A custom authentication scenario ID. You can use this ID to query related records in the console. The ID can be up to 10 characters in length and can contain letters, digits, and underscores (_).', - 'type' => 'string', - 'required' => false, - 'example' => '1234567890', - ], + 'in' => 'query', + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'eKYC_MIN', 'title' => ''], ], [ 'name' => 'MerchantBizId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'A unique business identifier that you can customize. Use this identifier to locate and troubleshoot issues. The identifier can be up to 32 characters in length and can contain letters and digits. Make sure that the identifier is unique.', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', - ], + 'in' => 'query', + 'schema' => ['description' => 'The merchant-defined unique business identifier, used for subsequent troubleshooting. The value is a combination of letters and digits up to 32 characters in length. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ 'name' => 'MerchantUserId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'A custom user ID or another identifier for a specific user, such as a mobile number or email address. Desensitize the value of this field in advance, for example, by hashing the value.', - 'type' => 'string', - 'required' => false, - 'example' => '1234567890', - ], + 'in' => 'query', + 'schema' => ['description' => 'The custom user ID or other identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you mask the value of this field in advance, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''], ], [ 'name' => 'DocType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The certificate type, which is uniquely identified by an 8-digit number.'."\n" - ."\n" - .'Currently, only second-generation resident ID cards from the Chinese mainland are supported. Set the value to the static field: **00000001**.'."\n" - ."\n" - .'For more information, see [Certificate types](https://www.alibabacloud.com/help/en/ekyc/latest/im1u641gyesiqmbg?spm=a2c63.p38356.0.i13#Hu5TG).', - 'type' => 'string', - 'required' => true, - 'example' => '00000001'."\n" - ."\n", - ], + 'in' => 'query', + 'schema' => ['description' => 'The document type.', 'type' => 'string', 'required' => false, 'example' => '00000001', 'title' => ''], ], [ 'name' => 'DocName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The user\'s name.', - 'type' => 'string', - 'required' => true, - 'example' => 'Zhang San', - ], + 'in' => 'query', + 'schema' => ['description' => 'The real name of the user. If Authorize is set to T and the document type is a Chinese mainland ID card, you must provide at least one of the following: the key document information (DocName and DocNo) or the document image (IdOcrPictureBase64 or IdOcrPictureURL).'."\n" + .'Note: The value must contain at least one Chinese character and cannot contain special characters, except for the middle dot (·) used in ethnic minority names.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], ], [ 'name' => 'DocNo', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The user\'s certificate number.', - 'type' => 'string', - 'required' => true, - 'example' => '411xxxxxxxxxxx0001', - ], + 'in' => 'query', + 'schema' => ['description' => 'The document number of the user. If Authorize is set to T and the document type is a Chinese mainland ID card, you must provide at least one of the following: the key document information (DocName and DocNo) or the document image (IdOcrPictureBase64 or IdOcrPictureURL).'."\n" + .'Note: The value is a combination of letters and digits up to 18 characters in length.', 'type' => 'string', 'required' => false, 'example' => '410***************', 'title' => ''], ], [ - 'name' => 'ValidityStartDate', + 'name' => 'IdOcrPictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the front side of the document image.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", 'title' => ''], + ], + [ + 'name' => 'IdOcrPictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'The start date of the validity period. The format is YYYYMMDD.', - 'type' => 'string', - 'required' => true, - 'example' => '20201001', - ], + 'schema' => ['description' => 'The Base64-encoded document image.'."\n" + .'Note:'."\n" + .'- If you use this method to pass the document image, check the image size and do not pass an excessively large image.'."\n" + .'- Specify either IdOcrPictureBase64 or IdOcrPictureUrl.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'ValidityEndDate', + 'name' => 'FacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the face photo.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-face-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg', 'title' => ''], + ], + [ + 'name' => 'FacePictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'The expiration date of the ID card\'s validity period. The format is YYYYMMDD.'."\n" - ."\n" - .'> If the ID card is valid for a long term, enter **long-term** for this parameter.', - 'type' => 'string', - 'required' => true, - 'example' => '20301001', - ], + 'schema' => ['description' => 'The Base64-encoded face image.'."\n" + ."\n" + .'Note:'."\n" + .'- If you use this method to pass the face image, check the image size and do not pass an excessively large image.'."\n" + .'- Specify either FacePictureBase64 or FacePictureUrl.', 'type' => 'string', 'required' => false, 'example' => 'Base64', 'title' => ''], + ], + [ + 'name' => 'Crop', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether cropping is allowed. By default, cropping is not allowed. Valid values:'."\n" + ."\n" + .'- T: Cropping is required.'."\n" + .'- F: Cropping is not required. This is the default value.', 'type' => 'string', 'required' => false, 'example' => 'F', 'title' => ''], + ], + [ + 'name' => 'Authorize', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable authoritative identity verification. This feature currently applies only to second-generation ID cards issued in the Chinese mainland.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], + ], + [ + 'name' => 'IdThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The custom OCR quality detection threshold mode. Valid values:'."\n" + ."\n" + .'- 0: system default'."\n" + .'- 1: strict mode'."\n" + .'- 2: loose mode'."\n" + .'- 3 (default): quality detection disabled.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'FaceQualityCheck', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => '7B97D932-7FF5-517D-BF39-7CA1BEE3CDD9', - ], - 'Code' => [ - 'description' => '[Return to Code](https://www.alibabacloud.com/help/en/ekyc/latest/dateverify?spm=a2c63.p38356.0.i32#22facb6ab6ui1).', - 'type' => 'string', - 'example' => 'success', - ], - 'Message' => [ - 'description' => 'A detailed description of the response code.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Passed' => [ - 'description' => 'The final authentication result. Valid values:'."\n" - ."\n" - .'- **Y**, via'."\n" - ."\n" - .'- **N**: The authentication is not passed.', - 'type' => 'string', - 'example' => 'Y', - ], - 'SubCode' => [ - 'description' => 'A description of the authentication result. For more information, see [ResultObject.SubCode error codes](https://www.alibabacloud.com/help/en/ekyc/latest/dateverify?spm=a2c63.p38356.0.i32#d1f36d445az8i).', - 'type' => 'string', - 'example' => '200', - ], + 'TransactionId' => ['description' => 'The unique identifier of the verification request.', 'type' => 'string', 'example' => '4ab0b***cbde97', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '205', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification is passed. Valid values: T (passed) and F (not passed).', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'ExtFaceInfo' => ['description' => 'The face verification result.', 'type' => 'string', 'example' => '{'."\n" + .'"faceAttack": "N",'."\n" + .'"faceComparisonScore": 52.57,'."\n" + .'"facePassed": "N",'."\n" + .'"authorityComparisonScore": 80.39'."\n" + .'}'."\n" + ."\n", 'title' => ''], + 'ExtIdInfo' => ['description' => 'The document recognition result. This field is returned only when the API response is successful.', 'type' => 'string', 'example' => '{'."\n" + .' "ocrIdInfo": {'."\n" + .' "firstName": "**龙",'."\n" + .' "lastName": "**",'."\n" + .' "countryCode": "CHN",'."\n" + .' "docType": "01560001",'."\n" + .' "dateOfBirth": "2002-08-04",'."\n" + .' "idNumber": "410************19"'."\n" + .' },'."\n" + .' "ocrIdPassed": "N",'."\n" + .' "spoofInfo": {'."\n" + .' "spoofResult": "Y",'."\n" + .' }'."\n" + .'}'."\n" + ."\n", 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7B97D932-7FF5-517D-BF39-7CA1BEE3CDD9\\",\\n \\"Code\\": \\"success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\"\\n }\\n}","type":"json"}]', - 'title' => 'Identity two-element validity period verification', - ], - 'BankMetaVerifyIntl' => [ - 'summary' => 'Bank Card Verification', - 'path' => '', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Server-side-only identity verification (eKYC_MIN)', + 'summary' => 'Provides a server-side-only API for the eKYC solution.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EkycVerify'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:EkycVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\",\\n \\"SubCode\\": \\"205\\",\\n \\"Passed\\": \\"Y\\",\\n \\"ExtFaceInfo\\": \\"{\\\\n\\\\\\"faceAttack\\\\\\": \\\\\\"N\\\\\\",\\\\n\\\\\\"faceComparisonScore\\\\\\": 52.57,\\\\n\\\\\\"facePassed\\\\\\": \\\\\\"N\\\\\\",\\\\n\\\\\\"authorityComparisonScore\\\\\\": 80.39\\\\n}\\\\n\\\\n\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"firstName\\\\\\": \\\\\\"**龙\\\\\\",\\\\n \\\\\\"lastName\\\\\\": \\\\\\"**\\\\\\",\\\\n \\\\\\"countryCode\\\\\\": \\\\\\"CHN\\\\\\",\\\\n \\\\\\"docType\\\\\\": \\\\\\"01560001\\\\\\",\\\\n \\\\\\"dateOfBirth\\\\\\": \\\\\\"2002-08-04\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"410************19\\\\\\"\\\\n },\\\\n \\\\\\"ocrIdPassed\\\\\\": \\\\\\"N\\\\\\",\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"Y\\\\\\",\\\\n }\\\\n}\\\\n\\\\n\\"\\n }\\n}","type":"json"}]', + ], + 'EkycVerifyV2' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3493,229 +3128,169 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth883TGF', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '190721', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Fixed value: BANK_CARD_N_META', - 'type' => 'string', - 'required' => true, - 'example' => 'BANK_CARD_N_META'."\n", - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'eKYC_MIN'."\n", 'title' => ''], ], [ - 'name' => 'ParamType', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'Encryption method:'."\n" - .'- normal: no 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' => true, - 'example' => 'normal', - ], + 'schema' => ['description' => 'A unique business identifier customized by the merchant, used for subsequent troubleshooting. Supports a combination of letters and digits with a length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888'."\n", 'title' => ''], ], [ - 'name' => 'VerifyMode', + 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'VERIFY_BANK_CARD: Bank card authentication mode. This indicates whether the provided bank card number matches the user\'s real name, ID number, and phone number.', - 'type' => 'string', - 'required' => true, - 'example' => 'VERIFY_BANK_CARD', - ], + 'schema' => ['description' => 'A custom user ID or other identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize the value of this field in advance, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '123456'."\n", 'title' => ''], ], [ - 'name' => 'ProductType', + 'name' => 'DocType', '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 + phone number verification.', - 'type' => 'string', - 'required' => true, - 'example' => 'BANK_CARD_4_META', - ], + 'schema' => ['description' => 'The document type.', 'type' => 'string', 'required' => false, 'example' => '00000001'."\n", 'title' => ''], ], [ - 'name' => 'BankCard', + 'name' => 'DocName', 'in' => 'query', - 'schema' => [ - 'description' => 'Bank card number.'."\n" - ."\n" - .'- When paramType is set to normal, enter the plaintext bank card number.'."\n" - .'- When paramType is set to md5, enter the plaintext part of the card number except the last 6 digits, followed by the MD5 value of the last 6 digits (32-character lowercase).', - 'type' => 'string', - 'required' => true, - 'example' => '● 明文:12345678******'."\n" - .'● 密文:'."\n" - .'12345678f8ee21920e37807b43e7e912ab829b6e', - ], + 'schema' => ['description' => 'The real name of the user. When Authorize=\'T\' and the document type is a mainland China ID card, at least one of the following groups must be provided: document key information (DocName, DocNo) or document image (IdOcrPictureBase64/URL). Note: Supports combinations of Chinese characters with a length of at least 1 character. Special characters are not supported, except for the middle dot (·) used in ethnic minority names.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], ], [ - 'name' => 'UserName', + 'name' => 'DocNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Name.'."\n" - ."\n" - .'- When paramType is set to normal, enter the plaintext name.'."\n" - .'- When paramType is set to md5, encrypt the first character of the name with MD5 (32-character lowercase MD5) and append the rest of the name in plaintext.', - 'type' => 'string', - 'required' => true, - 'example' => '张*'."\n", - ], + 'schema' => ['description' => 'The document number of the user. When Authorize=\'T\' and the document type is a mainland China ID card, at least one of the following groups must be provided: document key information (DocName, DocNo) or document image (IdOcrPictureBase64/URL). Note: Supports a combination of letters and digits with a length of 18 characters.', 'type' => 'string', 'required' => false, 'example' => '410***************'."\n", 'title' => ''], ], [ - 'name' => 'IdentityType', + 'name' => 'IdOcrPictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'ID type (default to ID card if left empty, see the table below for other types).', - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], + 'schema' => ['description' => 'The URL of the front side of the document image.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", 'title' => ''], ], [ - 'name' => 'IdentifyNum', + 'name' => 'IdOcrPictureBase64', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded document image. Note:'."\n" + ."\n" + .'- If you use this method to pass the document image, check the photo size and do not pass an overly large photo.'."\n" + .'- You can only specify one of IdOcrPictureBase64, IdOcrPictureUrl, and IdOcrPictureFile.', 'type' => 'string', 'required' => false, 'example' => 'base64'."\n", 'title' => ''], + ], + [ + 'name' => 'IdOcrPictureFile', + 'in' => 'formData', + 'schema' => ['description' => 'The file stream of the front side of the document image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'FacePictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number:'."\n" - .'- When paramType is normal: Enter the plaintext ID number.'."\n" - .'- When paramType is md5:'."\n" - .' - First 6 digits of the ID number (plaintext) + date of birth (ciphertext) + last 4 digits of the ID number (plaintext).'."\n" - .' - For other IDs, encrypt the last two digits with MD5.'."\n" - ."\n" - .'Important'."\n" - .'This field is required when ProductType is one of the following:'."\n" - .'- BANK_CARD_3_META'."\n" - .'- BANK_CARD_4_META', - 'type' => 'string', - 'required' => false, - 'example' => '● 明文:429001********8211'."\n" - .'● 密文:'."\n" - .'42900132fa7bcd874161bea8ec8fd98f390ec98211', - ], + 'schema' => ['description' => 'The URL of the face photo.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-face-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg', 'title' => ''], ], [ - 'name' => 'Mobile', + 'name' => 'FacePictureBase64', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face image.'."\n" + ."\n" + .'Note:'."\n" + ."\n" + .'- If you use this method to pass the face image, check the photo size and do not pass an overly large photo.'."\n" + .'- You can only specify one of FacePictureBase64, FacePictureUrl, and FacePictureFile.', 'type' => 'string', 'required' => false, 'example' => 'Base64'."\n", 'title' => ''], + ], + [ + 'name' => 'FacePictureFile', + 'in' => 'formData', + 'schema' => ['description' => 'The file stream of the face photo.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'Crop', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number:'."\n" - .'- When paramType is normal: Enter the plaintext phone number.'."\n" - .'- When paramType is md5: Enter the ciphertext phone number.'."\n" - ."\n" - .'Important'."\n" - ."\n" - .'- This field is required when ProductType = BANK_CARD_4_META.', - 'type' => 'string', - 'required' => false, - 'example' => '● 明文:186****2055'."\n" - .'● 密文:'."\n" - .'849169cd3b20621c1c78bd61a11a4fc2', - ], + 'schema' => ['description' => 'Specifies whether cropping is allowed. Not allowed by default. Valid values: T and F.'."\n" + ."\n" + .'- T: Cropping is allowed.'."\n" + .'- F: Cropping is not allowed. (Default: F)', 'type' => 'string', 'required' => false, 'example' => 'F'."\n", 'title' => ''], + ], + [ + 'name' => 'Authorize', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable authoritative identity verification. Currently, this feature is applicable only to second-generation ID cards of mainland China.', 'type' => 'string', 'required' => false, 'example' => 'T'."\n", 'title' => ''], + ], + [ + 'name' => 'IdThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The custom OCR quality detection threshold mode:'."\n" + ."\n" + .'- 0: System default.'."\n" + .'- 1: Strict mode.'."\n" + .'- 2: Lenient mode.'."\n" + .'- 3 (Default): Quality detection is disabled.', 'type' => 'string', 'required' => false, 'example' => '0'."\n", 'title' => ''], + ], + [ + 'name' => 'FaceQualityCheck', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', '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' => '4EB35****87EBA1', - ], - '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', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1'."\n"], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => ' '."\n" + .'Success'."\n", 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success'."\n", 'title' => ''], + 'Result' => [ + 'description' => 'The response result.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'Verification result code.'."\n" - .'- 1: Consistent (charged)'."\n" - .'- 2: Inconsistent (charged)'."\n" - .'- 3: No record found (not charged)', - '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 been activated for authenticated payments.'."\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, this card is uninitialized or dormant.'."\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, password error limit exceeded.'."\n" - .'- **212**: Authentication information does not match, issuing bank does not support this transaction.'."\n" - .'- **213**: Authentication information does not match, card status is abnormal or card is invalid.'."\n" - .'- **214**: Authentication information does not match, no phone number reserved.'."\n" - .'- **215**: Authentication information does not match, entered password, expiration date, or CVN2 is incorrect.'."\n" - .'- **216**: Authentication information does not match, other card anomalies.'."\n" - .'- **301**: Unable to verify, bank card does not support this service.'."\n" - .'- **302**: Unable to verify, verification failed or bank refused verification, please contact the issuing bank.'."\n" - .'- **303**: Unable to verify, bank card does not currently support phone number verification.'."\n" - .'- **304**: Unable to verify, bank card number is incorrect.'."\n" - .'- **305**: Unable to verify, other reasons.'."\n" - .'- **306**: Unable to verify, verification attempt limit exceeded.', - 'type' => 'string', - 'example' => '101', - ], + 'TransactionId' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'example' => '4ab0b***cbde97'."\n", 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => ' '."\n" + .'205'."\n", 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification is passed. Valid values: Y (passed) and N (not passed).', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'ExtFaceInfo' => ['description' => 'The face verification result information.', 'type' => 'string', 'example' => '{'."\n" + .'"faceAttack": "N",'."\n" + .'"faceComparisonScore": 52.57,'."\n" + .'"facePassed": "N",'."\n" + .'"authorityComparisonScore": 80.39'."\n" + .'}', 'title' => ''], + 'ExtIdInfo' => ['description' => 'The document recognition result. This parameter is returned only when the API response is successful.', 'type' => 'string', 'example' => '{'."\n" + .' "ocrIdInfo": {'."\n" + .' "firstName": "**龙",'."\n" + .' "lastName": "**",'."\n" + .' "countryCode": "CHN",'."\n" + .' "docType": "01560001",'."\n" + .' "dateOfBirth": "2002-08-04",'."\n" + .' "idNumber": "410************19"'."\n" + .' },'."\n" + .' "ocrIdPassed": "N",'."\n" + .' "spoofInfo": {'."\n" + .' "spoofResult": "Y",'."\n" + .' }'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Server-Side Real Person Authentication (eKYC_MIN)', + 'summary' => 'The eKYC solution server-side API.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\"\\n }\\n}","type":"json"}]', - 'title' => 'Bank Card Element Verification', - 'description' => 'Verification of bank card elements, including: two-element verification (name + bank card number), three-element verification (name + ID number + bank card number), and four-element verification (name + ID number + phone number + bank card number) for consistency.', - 'translator' => 'machine', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\\\n\\",\\n \\"Code\\": \\"\\\\t\\\\nSuccess\\\\n\\",\\n \\"Message\\": \\"success\\\\n\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\\\n\\",\\n \\"SubCode\\": \\"\\\\t\\\\n205\\\\n\\",\\n \\"Passed\\": \\"Y\\",\\n \\"ExtFaceInfo\\": \\"{\\\\n\\\\\\"faceAttack\\\\\\": \\\\\\"N\\\\\\",\\\\n\\\\\\"faceComparisonScore\\\\\\": 52.57,\\\\n\\\\\\"facePassed\\\\\\": \\\\\\"N\\\\\\",\\\\n\\\\\\"authorityComparisonScore\\\\\\": 80.39\\\\n}\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"firstName\\\\\\": \\\\\\"**龙\\\\\\",\\\\n \\\\\\"lastName\\\\\\": \\\\\\"**\\\\\\",\\\\n \\\\\\"countryCode\\\\\\": \\\\\\"CHN\\\\\\",\\\\n \\\\\\"docType\\\\\\": \\\\\\"01560001\\\\\\",\\\\n \\\\\\"dateOfBirth\\\\\\": \\\\\\"2002-08-04\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"410************19\\\\\\"\\\\n },\\\\n \\\\\\"ocrIdPassed\\\\\\": \\\\\\"N\\\\\\",\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"Y\\\\\\",\\\\n }\\\\n}\\"\\n }\\n}","type":"json"}]', ], - 'Mobile2MetaVerifyIntl' => [ - 'summary' => 'Verifies the authenticity and consistency of a mobile number and name against an authoritative data source.', - 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'FaceCompare' => [ + 'summary' => 'Uses facial recognition technology to compare and verify two input face images, returning the face comparison result and similarity score.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3727,135 +3302,130 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '165986', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], 'parameters' => [ [ - 'name' => 'ProductCode', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The product to use. Set this parameter to the static value **MOBILE_2META**.', - 'type' => 'string', - 'required' => true, - 'example' => 'MOBILE_2META', - ], + 'name' => 'MerchantBizId', + 'in' => 'query', + 'schema' => ['description' => 'A unique business identifier customized by the merchant, used for subsequent troubleshooting. Supports a combination of letters and numbers with a maximum length of 32 characters. Ensure it is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ - 'name' => 'ParamType', + 'name' => 'SourceFacePicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'The parameter type:'."\n" - ."\n" - .'- **normal**: plaintext'."\n" - ."\n" - .'- **md5**: MD5-encrypted', - 'type' => 'string', - 'required' => true, - 'example' => 'normal', - ], + 'schema' => ['description' => 'Base64-encoded face photo.'."\n" + ."\n" + .'Note'."\n" + .'- If you choose this method to pass in the photo, check the photo size and do not pass in an oversized photo.'."\n" + .'- Either SourceFacePicture or SourceFacePictureUrl must be specified.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'UserName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name.'."\n" - ."\n" - .'> '."\n" - .'> - If **paramType** is set to **normal**, enter the plaintext value.'."\n" - .'> - If **paramType** is set to **md5**, enter the 32-bit lowercase MD5 string.', - 'type' => 'string', - 'required' => true, - 'example' => 'Zhang*', - ], + 'name' => 'SourceFacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The HTTPS or HTTP URL of the face image.', 'type' => 'string', 'required' => false, 'example' => 'https://***face1.jpeg', 'title' => ''], ], [ - 'name' => 'Mobile', + 'name' => 'TargetFacePicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'The mobile number.'."\n" - ."\n" - .'>'."\n" - .'> - If **paramType** is set to **normal**, enter the plaintext value.'."\n" - .'> - If **paramType** is set to **md5**, enter the 32-bit lowercase MD5 string.', - 'type' => 'string', - 'required' => true, - 'example' => '186****1234', - ], + 'schema' => ['description' => 'Base64-encoded reference photo.'."\n" + ."\n" + .'Note'."\n" + .'- If you choose this method to pass in the photo, check the photo size and do not pass in an oversized photo.'."\n" + .'- Either TargetFacePicture or TargetFacePictureUrl must be specified.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], + ], + [ + 'name' => 'TargetFacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The HTTPS or HTTP URL of the reference face image.', 'type' => 'string', 'required' => false, 'example' => 'https://***face2.jpeg', 'title' => ''], + ], + [ + 'name' => 'FacePictureQualityCheck', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Whether to enable quality detection for the input face image><danger>Deprecated></danger>', 'type' => 'string', 'example' => 'N', 'required' => false], + ], + [ + 'name' => 'FaceQualityCheck', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Face quality check', 'type' => 'string', 'example' => 'Y', 'required' => false], ], ], '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => '[Status codes](https://www.alibabacloud.com/help/en/ekyc/latest/mobile-2meta?spm=a2c63.p38356.0.i13#cbf2539971xzr).', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'A detailed description of the response code.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1'], + 'Code' => ['description' => 'Response code.'."\n" + ."\n" + .'200: Success.'."\n" + .'Other: Error code. For error code details, see Error Codes.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'Response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + 'description' => 'Response result.', 'type' => 'object', 'properties' => [ - 'BizCode' => [ - 'description' => 'The verification result:'."\n" - ."\n" - .'- 1: The information is consistent. (Billed)'."\n" - ."\n" - .'- 2: The information is inconsistent. (Billed)'."\n" - ."\n" - .'- 3: No record is found. (Not billed)', - 'type' => 'string', - 'example' => '1', - ], - 'IspName' => [ - 'description' => 'The carrier name:'."\n" - ."\n" - .'- CMCC: China Mobile'."\n" - ."\n" - .'- CUCC: China Unicom'."\n" - ."\n" - .'- CTCC: China Telecom', - 'type' => 'string', - 'example' => 'CMCC', + 'TransactionId' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8', 'title' => ''], + 'Passed' => ['description' => 'Whether the authentication passed.'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceComparisonScore' => ['description' => 'The comparison score between the submitted face photo and the reference face image during the authentication process. Value range: **0** to **100**.', 'type' => 'number', 'format' => 'double', 'example' => '98', 'title' => ''], + 'ExtFaceInfo' => [ + 'title' => '', + 'description' => 'Related result information', + 'type' => 'object', + 'properties' => [ + 'FaceQualityScore' => ['title' => '', 'description' => 'Overall quality score', 'type' => 'number', 'format' => 'double', 'example' => '39.04'], + 'OcclusionScore' => ['title' => '', 'description' => 'Occlusion score', 'type' => 'number', 'format' => 'double', 'example' => '50.26'], + 'KaOcclusionScore' => ['title' => '', 'description' => 'Key area occlusion score', 'type' => 'number', 'format' => 'double', 'example' => '20'], + 'IlluminationScore' => ['title' => '', 'description' => 'Illumination score', 'type' => 'number', 'format' => 'double', 'example' => '0.02'], + 'SharpnessScore' => ['title' => '', 'description' => 'Sharpness score', 'type' => 'number', 'format' => 'double', 'example' => '86.47'], + 'TargetFaceQualityScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetSharpnessScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetKaOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetIlluminationScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + ], + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Mobile Number Two-Element Verification', - ], - 'Mobile3MetaVerifyIntl' => [ - 'summary' => 'International Version of Mobile Three Elements API', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'FaceCompare', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FaceCompare'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceCompare', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"Y\\",\\n \\"FaceComparisonScore\\": 98,\\n \\"ExtFaceInfo\\": {\\n \\"FaceQualityScore\\": 39.04,\\n \\"OcclusionScore\\": 50.26,\\n \\"KaOcclusionScore\\": 20,\\n \\"IlluminationScore\\": 0.02,\\n \\"SharpnessScore\\": 86.47,\\n \\"TargetFaceQualityScore\\": 0,\\n \\"TargetOcclusionScore\\": 0,\\n \\"TargetSharpnessScore\\": 0,\\n \\"TargetKaOcclusionScore\\": 0,\\n \\"TargetIlluminationScore\\": 0\\n }\\n }\\n}","type":"json"}]', + ], + 'FaceCompareV2' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3867,304 +3437,261 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '199210', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthPZCZ2I', - ], + 'abilityTreeCode' => '165986', + 'abilityTreeNodes' => ['FEATUREcloudauth0KJCLK'], ], 'parameters' => [ [ - 'name' => 'ProductCode', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'The product solution to be integrated, with a fixed value: MOBILE_3META', - 'type' => 'string', - 'required' => false, - 'example' => 'MOBILE_3META', - ], + 'schema' => ['description' => 'The merchant-defined unique business ID used for subsequent troubleshooting. The value can be a combination of letters and numbers with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888'."\n", 'title' => ''], ], [ - 'name' => 'ParamType', + 'name' => 'SourceFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded source face image.'."\n" + ."\n" + .'> **Note**'."\n" + ."\n" + .'- If you use this method to pass in the image, check the image size and do not pass in an excessively large image.'."\n" + .'- Specify one of the following parameters: SourceFacePicture, SourceFacePictureUrl, or SourceFacePictureFile.', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'base64'."\n", 'title' => ''], + ], + [ + 'name' => 'SourceFacePictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Parameter type:'."\n" - ."\n" - .'- normal: unencrypted'."\n" - .'- md5: md5 encrypted', - 'type' => 'string', - 'required' => false, - 'example' => 'normal', - ], + 'schema' => ['description' => 'The HTTPS or HTTP URL of the source face image.', 'type' => 'string', 'required' => false, 'example' => 'https://***face1.jpeg'."\n", 'title' => ''], ], [ - 'name' => 'IdentifyNum', + 'name' => 'SourceFacePictureFile', + 'in' => 'formData', + 'schema' => ['description' => 'The file stream of the source face image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'TargetFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded reference face image.'."\n" + ."\n" + .'> **Note**'."\n" + ."\n" + .'- If you use this method to pass in the image, check the image size and do not pass in an excessively large image.'."\n" + .'- Specify one of the following parameters: TargetFacePicture, TargetFacePictureUrl, or TargetFacePictureFile.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], + ], + [ + 'name' => 'TargetFacePictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'ID number'."\n" - ."\n" - .'- When paramType is set to normal, enter the plaintext'."\n" - .'- When paramType is set to md5, enter a 32-character lowercase md5 string', - 'type' => 'string', - 'required' => false, - 'example' => '429001********8211'."\n", - ], + 'schema' => ['description' => 'The HTTPS or HTTP URL of the reference face image.', 'type' => 'string', 'required' => false, 'example' => 'https://***face2.jpeg'."\n", 'title' => ''], ], [ - 'name' => 'UserName', + 'name' => 'TargetFacePictureFile', + 'in' => 'formData', + 'schema' => ['description' => 'The file stream of the reference face image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'FacePictureQualityCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'Name'."\n" - ."\n" - .'- When paramType is set to normal, enter the plaintext'."\n" - .'- When paramType is set to md5, enter a 32-character lowercase md5 string', - 'type' => 'string', - 'required' => false, - 'example' => '张*'."\n", - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable quality check for the input face images.'."\n" + .'><danger>Deprecated.</danger>.', 'type' => 'string', 'example' => 'N', 'required' => false], ], [ - 'name' => 'Mobile', + 'name' => 'FaceQualityCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'Mobile phone number.'."\n" - ."\n" - .'- When paramType is set to normal, enter the plaintext'."\n" - .'- When paramType is set to md5, enter a 32-character lowercase md5 string', - 'type' => 'string', - 'required' => false, - 'example' => '186****1234', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable face quality check.', 'type' => 'string', 'example' => 'Y', 'required' => false], ], ], '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' => 'D241532C-4EE9-5A2A-A5A5-C1FD98CE2EDD', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1'], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'200: success. Other values: error codes. For more information, see error codes.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + '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', - ], - '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' => 'ISP name'."\n" - ."\n" - .'- CMCC: China Mobile'."\n" - .'- CUCC: China Unicom'."\n" - .'- CTCC: China Telecom', - 'type' => 'string', - 'example' => 'CMCC', + 'TransactionId' => ['description' => 'The unique ID of the verification request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8'."\n", 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceComparisonScore' => ['description' => 'The comparison score between the submitted face image and the reference face image during the verification process. Valid values: 0 to 100.', 'type' => 'number', 'format' => 'double', 'example' => '98', 'title' => ''], + 'ExtFaceInfo' => [ + 'title' => '', + 'description' => 'The additional result information.', + 'type' => 'object', + 'properties' => [ + 'FaceQualityScore' => ['title' => '', 'description' => 'The overall quality score.', 'type' => 'number', 'format' => 'double', 'example' => '39.04'], + 'OcclusionScore' => ['title' => '', 'description' => 'The occlusion score.', 'type' => 'number', 'format' => 'double', 'example' => '50.26'], + 'KaOcclusionScore' => ['title' => '', 'description' => 'The key area occlusion score.', 'type' => 'number', 'format' => 'double', 'example' => '20'], + 'IlluminationScore' => ['title' => '', 'description' => 'The illumination score.', 'type' => 'number', 'format' => 'double', 'example' => '0.02'], + 'SharpnessScore' => ['title' => '', 'description' => 'The sharpness score.', 'type' => 'number', 'format' => 'double', 'example' => '86.47'], + 'TargetFaceQualityScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetSharpnessScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetKaOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetIlluminationScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + ], + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Face comparison', + 'summary' => 'Compares two face images by using face recognition technology and returns the comparison result and a similarity score.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D241532C-4EE9-5A2A-A5A5-C1FD98CE2EDD\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Mobile Three Elements Verification', - 'translator' => 'machine', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\\\n\\",\\n \\"Passed\\": \\"Y\\",\\n \\"FaceComparisonScore\\": 98,\\n \\"ExtFaceInfo\\": {\\n \\"FaceQualityScore\\": 39.04,\\n \\"OcclusionScore\\": 50.26,\\n \\"KaOcclusionScore\\": 20,\\n \\"IlluminationScore\\": 0.02,\\n \\"SharpnessScore\\": 86.47,\\n \\"TargetFaceQualityScore\\": 0,\\n \\"TargetOcclusionScore\\": 0,\\n \\"TargetSharpnessScore\\": 0,\\n \\"TargetKaOcclusionScore\\": 0,\\n \\"TargetIlluminationScore\\": 0\\n }\\n }\\n}","type":"json"}]', ], - 'CredentialRecognitionIntl' => [ - 'summary' => 'Credential Recognition', + 'FaceCrossCompareIntl' => [ + 'summary' => 'Performs cross-comparison of faces.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The product solution to be integrated. Value: CREDENTIAL_RECOGNITION.', - 'type' => 'string', - 'required' => true, - 'example' => 'CREDENTIAL_RECOGNITION', - ], + 'schema' => ['description' => 'The product solution to use. Valid values:'."\n" + .'FACE_CROSS_COMPARE.', 'type' => 'string', 'required' => true, 'example' => ' FACE_CROSS_COMPARE', 'title' => ''], ], [ - 'name' => 'CredentialOcrPictureBase64', + 'name' => 'SceneCode', + 'in' => 'query', + 'schema' => ['description' => 'The custom business scenario ID.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], + ], + [ + 'name' => 'MerchantBizId', + 'in' => 'query', + 'schema' => ['description' => 'The custom unique business identifier, used for subsequent troubleshooting. The value is a combination of letters and digits with a length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', 'title' => ''], + ], + [ + 'name' => 'CompareModel', + 'in' => 'query', + 'schema' => ['description' => 'The comparison mode. Valid values:'."\n" + .'- 0: chain comparison (default). A:B and B:C.'."\n" + .'- 1: circular comparison. A:B, B:C, and C:A.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'SourceAFacePicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoded image. If you choose to upload the photo via IdOcrPictureBase64 (photo Base64 encoding), please check the photo size and do not upload overly large photos.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'schema' => ['description' => 'The Base64-encoded face photo.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], ], [ - 'name' => 'CredentialOcrPictureUrl', + 'name' => 'SourceAFacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the face photo. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://www.xxx.com/1.jpg', 'title' => ''], + ], + [ + 'name' => 'SourceBFacePicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'Image URL, accessible over the public network via HTTP or HTTPS links.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://***', - ], + 'schema' => ['description' => 'The Base64-encoded face photo.', 'type' => 'string', 'required' => false, 'example' => 'base64'."\n", 'title' => ''], ], [ - 'name' => 'DocType', + 'name' => 'SourceBFacePictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Voucher type.'."\n" - .'- Transaction Voucher: 01 (including: water, electricity, gas, credit card, and other types of e-bill images)', - 'type' => 'string', - 'required' => true, - 'example' => '01', - ], + 'schema' => ['description' => 'The URL of the face photo. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://www.xxx.com/1.jpg', 'title' => ''], ], [ - 'name' => 'OcrArea', + 'name' => 'SourceCFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face photo.', 'type' => 'string', 'required' => false, 'example' => 'base64'."\n", 'title' => ''], + ], + [ + 'name' => 'SourceCFacePictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'Extraction type:'."\n" - .'- 0101: E-bill Address & Name Module (extracts address and name modules through intelligent analysis)', - 'type' => 'string', - 'required' => true, - 'example' => '0101', - ], + 'schema' => ['description' => 'The URL of the face photo. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://www.xxx.com/1.jpg', 'title' => ''], ], [ - 'name' => 'FraudCheck', + 'name' => 'FaceVerifyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable tampering detection'."\n" - .'- true: Enable'."\n" - .'- false: Disable', - 'type' => 'string', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The face matching threshold. This parameter is reserved by the system and does not support custom values.', 'type' => 'string', 'required' => false, 'example' => '-', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Response message for the returned information.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '130A2C10-B9EE-4D84-88E3-5384FF039795'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Returned result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Extraction result. Values:'."\n" - .'- S: Success.'."\n" - .'- F: Failure.', - 'type' => 'string', - 'example' => 'S', - ], - 'SubCode' => [ - 'description' => 'Authentication result description', - 'type' => 'string', - 'example' => '200', - ], - 'ExtIdInfo' => [ - 'description' => 'Identified key information in JSON format.', - 'type' => 'string', - 'example' => '{'."\n" - .' "address": "",'."\n" - .' "name":""'."\n" - .'}', - ], + 'FacePassed' => ['description' => 'The final verification result. Valid values:'."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceComparisonScoreA2B' => ['description' => 'The comparison score between A and B. Value range: 0 to 1.', 'type' => 'number', 'format' => 'double', 'example' => '0.9999999999999999', 'title' => ''], + 'FaceComparisonScoreB2C' => ['description' => 'The comparison score between B and C. Value range: 0 to 1.', 'type' => 'number', 'format' => 'double', 'example' => '0.9999999999999999', 'title' => ''], + 'FaceComparisonScoreC2A' => ['description' => 'The comparison score between C and A. Value range: 0 to 1.', 'type' => 'number', 'format' => 'double', 'example' => '0.9999999999999999', 'title' => ''], + 'TransactionId' => ['description' => 'The unique identifier of the verification request.', 'type' => 'string', 'example' => '4ab0b***cbde97', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Cross-compare faces', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Success\\": \\"S\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"address\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Credential Recognition Service', - 'description' => 'Detects whether a voucher (such as water, electricity, gas, credit card, etc., e-bills) is forged using AI technology and extracts key information from the voucher.', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceCrossCompareIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FacePassed\\": \\"Y\\",\\n \\"FaceComparisonScoreA2B\\": 0.9999999999999999,\\n \\"FaceComparisonScoreB2C\\": 0.9999999999999999,\\n \\"FaceComparisonScoreC2A\\": 0.9999999999999999,\\n \\"TransactionId\\": \\"4ab0b***cbde97\\"\\n }\\n}","type":"json"}]', ], - 'CredentialSubmitIntl' => [ - 'summary' => 'Credential Recognition Submission', + 'FaceDuplicationCheckIntl' => [ + 'summary' => 'Performs face duplication check (FaceDuplicationCheckIntl) for scenarios where SDK integration is not feasible. Submits face images through the API to verify whether a user is a real person, compare the face against a stored face image for identity verification, search a face library to determine whether the face already exists, and automatically register the face in a specified face library after successful verification.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4176,152 +3703,214 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthS6WIN6', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The product solution to be integrated. Value: CREDENTIAL_RECOGNITION.', - 'type' => 'string', - 'required' => true, - 'example' => 'CREDENTIAL_RECOGNITION', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => true, 'example' => 'FACE_IDU_MIN', 'title' => ''], ], [ 'name' => 'SceneCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Your custom authentication scenario ID, used for querying related records by entering this scenario ID in the console later. Supports a combination of 10 characters, digits, or underscores.', - 'type' => 'string', - 'required' => true, - 'example' => '123****123', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The custom verification scenario ID.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], ], [ 'name' => 'MerchantBizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined on the merchant side, used for troubleshooting issues later. Supports a combination of letters and digits, with a maximum length of 32 characters. Ensure uniqueness.', - 'type' => 'string', - 'required' => true, - 'example' => 'e0c34a***353888', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The custom unique business identifier used for subsequent troubleshooting. The value is a combination of letters and digits up to 32 characters in length. Ensure that the value is unique.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', 'title' => ''], ], [ - 'name' => 'CredentialOcrPictureBase64', + 'name' => 'MerchantUserId', 'in' => 'formData', - 'schema' => [ - 'description' => 'Base64 encoding of the image. If you choose to upload the photo this way, please check the photo size and avoid uploading overly large photos.', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'schema' => ['description' => 'The custom user ID or another identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize this field value in advance, for example, by hashing the value.', 'type' => 'string', 'required' => true, 'example' => '1234567890', 'title' => ''], ], [ - 'name' => 'CredentialOcrPictureUrl', + 'name' => 'VerifyModel', 'in' => 'formData', - 'schema' => [ - 'description' => 'Image URL, accessible via HTTP or HTTPS on the public network.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://***', - ], + 'schema' => ['description' => 'The verification type. Valid values:'."\n" + .'- 0: retrieve pattern'."\n" + .'> - Feature: Submits a face library and a user face image (sourceFacePicture). The system automatically retrieves the face library to determine whether the specified face image (sourceFacePicture) already exists. Passive liveness detection can be enabled for the face image (sourceFacePicture).'."\n" + .'> - Recommended scenario: Real-person create an account where duplicate registration is not allowed.'."\n" + ."\n" + .'- 1 (default): authenticate pattern'."\n" + .'> - Feature: Submits a specified face image (sourceFacePicture) and a stored face image (TargetFacePicture). The system automatically authenticates whether the two faces match. Passive liveness detection can be enabled for the specified face image (sourceFacePicture).'."\n" + .'> - Recommended scenario: Authenticating the identity of the operator when modifying logon credentials or account information.'."\n" + ."\n" + .'- 2: comprehensive pattern'."\n" + .'> - Feature: Submits a face library, a specified face image (sourceFacePicture), and a stored face image (TargetFacePicture). The system automatically retrieves the face library to determine whether the specified face image (sourceFacePicture) exists, authenticates whether it matches the stored face, and supports passive liveness detection for the specified face image (sourceFacePicture).'."\n" + .'> - Recommended scenario: Verifying that the user is new and the operation is performed by the user in person.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'DocType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Credential type:'."\n" - .'- 02: Vehicle registration certificate', - 'type' => 'string', - 'required' => true, - 'example' => '02', - ], + 'name' => 'Liveness', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to enable passive liveness detection. Valid values:'."\n" + .'- 0: disabled'."\n" + .'- 1: enabled', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'OcrArea', - 'in' => 'query', - 'schema' => [ - 'description' => 'Extraction type:'."\n" - ."\n" - .'- 0201: Thai vehicle registration certificate', - 'type' => 'string', - 'required' => true, - 'example' => '0201', - ], + 'name' => 'FaceGroupCodes', + 'in' => 'formData', + 'schema' => ['description' => 'The face library codes created through the console. A maximum of 10 face libraries can be queried at the same time. Separate multiple face library codes with commas (,).', 'type' => 'string', 'required' => false, 'example' => '1232344,23444', 'title' => ''], ], [ - 'name' => 'FraudCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable tampering detection'."\n" - .'- true: Enable'."\n" - .'- false: Disable', - 'type' => 'string', - 'required' => true, - 'example' => 'false', - ], + 'name' => 'SourceFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face image.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], + ], + [ + 'name' => 'SourceFacePictureUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the face image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://***face1.jpeg', 'title' => ''], + ], + [ + 'name' => 'TargetFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face image.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], + ], + [ + 'name' => 'TargetFacePictureUrl', + 'in' => 'formData', + 'schema' => ['description' => 'The URL of the face image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://***face2.jpeg', 'title' => ''], + ], + [ + 'name' => 'AutoRegistration', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to automatically register the face in the specified face library when no duplicate face is found during the search. Valid values:'."\n" + .'- 0: automatic registration'."\n" + .'- 1: no registration (default)', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'FaceRegisterGroupCode', + 'in' => 'formData', + 'schema' => ['description' => 'The face library for registration.', 'type' => 'string', 'required' => false, 'example' => '0e0c34a77f', 'title' => ''], + ], + [ + 'name' => 'SaveFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The type of face data to save. Valid values:'."\n" + .'- 0: face image (default)'."\n" + .'- 1: feature'."\n" + .'><warning>This is a reserved field and is not currently enabled.</warning>', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'FaceVerifyThreshold', + 'in' => 'formData', + 'schema' => ['description' => 'The face matching threshold. ><warning>This is a reserved field and is not currently enabled.</warning>', 'type' => 'string', 'required' => false, 'example' => '0.5', 'title' => ''], + ], + [ + 'name' => 'ReturnFaces', + 'in' => 'formData', + 'schema' => ['description' => 'The number of faces to return when multiple faces above the matching threshold are found. You can use this parameter to customize the number of returned faces.'."\n" + .'- Default value: 1.'."\n" + .'- Maximum value: 5.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'FaceQualityCheck', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The face quality check.', 'type' => 'string', 'example' => 'Y', 'required' => false], + ], + [ + 'name' => 'FaceAttributeCheck', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], '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' => '5E63B760-0ECB-5C07-8503-A65C27876968', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'Unique identifier of the authentication request.', - 'type' => 'string', - 'example' => '4ab0b***cbde97', + 'FacePassed' => ['description' => 'The final verification result. Valid values:'."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceComparisonScore' => ['description' => 'The 1:1 face comparison score returned when the verification mode is 1 or 2. The value ranges from 0 to 100.', 'type' => 'string', 'example' => '98', 'title' => ''], + 'DuplicateFace' => ['description' => 'The face ID and UserID retrieved from the face library when a duplicate face is detected.', 'type' => 'string', 'example' => '['."\n" + .' {'."\n" + .' "faceGroupCode": "sg7****uzt",'."\n" + .' "faceId": "f5a921*******9e792ec84c8f0ca592a",'."\n" + .' "merchantUserId": "fa****01"'."\n" + .' }'."\n" + .']', 'title' => ''], + 'FaceRegistrationResult' => ['description' => 'The face registration result. Valid values: '."\n" + .'- 0: Failed. '."\n" + .'- 1: Succeeded.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'FaceRegistrationId' => ['description' => 'The FACEID returned only when automatic registration is enabled and the face is successfully registered.', 'type' => 'string', 'example' => '9e792ec84c8f0ca592a', 'title' => ''], + 'FaceAttack' => ['description' => 'Indicates whether the captured face involves a liveness attack. Valid values:'."\n" + .'- Y: Attack detected.'."\n" + .'- N: No attack detected.'."\n" + ."\n" + .'This field is returned only when passive liveness detection is enabled.', 'type' => 'string', 'example' => 'N', 'title' => ''], + 'FaceAttackScore' => ['description' => 'The probability of a passive liveness detection attack on the face. The value ranges from 0 to 100. This field is returned only when passive liveness detection is enabled.', 'type' => 'string', 'example' => '99', 'title' => ''], + 'FaceAge' => ['description' => 'The estimated age of the face. This value may not be returned if the prediction fails.', 'type' => 'string', 'example' => '30', 'title' => ''], + 'FaceGender' => ['description' => 'The predicted gender of the face. This value may not be returned if the prediction fails. Valid values:'."\n" + .'- M: male'."\n" + .'- F: female', 'type' => 'string', 'example' => 'M', 'title' => ''], + 'SubCode' => ['description' => 'The verification result description. For more information, see the ResultObject.SubCode error code description.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'TransactionId' => ['description' => 'The unique identifier of the verification request.', 'type' => 'string', 'example' => '4ab0b***cbde97', 'title' => ''], + 'ExtFaceInfo' => [ + 'title' => '', + 'description' => 'The related result information.', + 'type' => 'object', + 'properties' => [ + 'FaceQualityScore' => ['title' => '', 'description' => 'The overall quality score.', 'type' => 'number', 'format' => 'double', 'example' => '39.04'], + 'OcclusionScore' => ['title' => '', 'description' => 'The occlusion score.', 'type' => 'number', 'format' => 'double', 'example' => '50.26'], + 'KaOcclusionScore' => ['title' => '', 'description' => 'The key area occlusion score.', 'type' => 'number', 'format' => 'double', 'example' => '20'], + 'IlluminationScore' => ['title' => '', 'description' => 'The illumination score.', 'type' => 'number', 'format' => 'double', 'example' => '0.02'], + 'SharpnessScore' => ['title' => '', 'description' => 'The sharpness score.', 'type' => 'number', 'format' => 'double', 'example' => '86.47'], + 'TargetFaceQualityScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetKaOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetIlluminationScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetSharpnessScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'FaceAttributeInfo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\"\\n }\\n}","type":"json"}]', - 'title' => 'Credential Recognition Information Submission', - 'description' => 'Initialization interface for credential recognition OCR, through which you can obtain the transactionId.', - 'translator' => 'machine', - ], - 'CredentialGetResultIntl' => [ - 'summary' => 'Credential Recognition Query', - 'path' => '', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Server-side liveness and face duplication check (FACE_IDU_MIN)', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceDuplicationCheckIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"FacePassed\\": \\"Y\\",\\n \\"FaceComparisonScore\\": \\"98\\",\\n \\"DuplicateFace\\": \\"[\\\\n {\\\\n \\\\\\"faceGroupCode\\\\\\": \\\\\\"sg7****uzt\\\\\\",\\\\n \\\\\\"faceId\\\\\\": \\\\\\"f5a921*******9e792ec84c8f0ca592a\\\\\\",\\\\n \\\\\\"merchantUserId\\\\\\": \\\\\\"fa****01\\\\\\"\\\\n }\\\\n]\\",\\n \\"FaceRegistrationResult\\": 0,\\n \\"FaceRegistrationId\\": \\"9e792ec84c8f0ca592a\\",\\n \\"FaceAttack\\": \\"N\\",\\n \\"FaceAttackScore\\": \\"99\\",\\n \\"FaceAge\\": \\"30\\",\\n \\"FaceGender\\": \\"M\\",\\n \\"SubCode\\": \\"200\\",\\n \\"TransactionId\\": \\"4ab0b***cbde97\\",\\n \\"ExtFaceInfo\\": {\\n \\"FaceQualityScore\\": 39.04,\\n \\"OcclusionScore\\": 50.26,\\n \\"KaOcclusionScore\\": 20,\\n \\"IlluminationScore\\": 0.02,\\n \\"SharpnessScore\\": 86.47,\\n \\"TargetFaceQualityScore\\": 0,\\n \\"TargetOcclusionScore\\": 0,\\n \\"TargetKaOcclusionScore\\": 0,\\n \\"TargetIlluminationScore\\": 0,\\n \\"TargetSharpnessScore\\": 0,\\n \\"FaceAttributeInfo\\": \\"\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'FaceGuardRisk' => [ + 'summary' => 'Server-side API for the international Face Guard service.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4333,93 +3922,95 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthS6WIN6', - ], + 'abilityTreeCode' => '253422', + 'abilityTreeNodes' => ['FEATUREcloudauthCS0SDG'], ], 'parameters' => [ [ - 'name' => 'TransactionId', + 'name' => 'DeviceToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for the authentication request', - 'type' => 'string', - 'required' => true, - 'example' => '4ab0b***abde97', - ], + 'schema' => ['description' => 'The device token obtained from the Face Guard SDK.', 'type' => 'string', 'required' => false, 'example' => 'Tk9SSUQuMS*****************ZDNmNWY5NzQxOW1o', 'title' => ''], + ], + [ + 'name' => 'MerchantBizId', + 'in' => 'query', + 'schema' => ['description' => 'The merchant-defined unique business identifier, 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' => '0c83ce0101d34eff886b1f7d1cdef67f', 'title' => ''], + ], + [ + 'name' => 'ProductCode', + 'in' => 'query', + 'schema' => ['description' => 'The product code. Set the value to FACE_GUARD.', 'type' => 'string', 'required' => false, 'example' => 'FACE_GUARD', 'title' => ''], + ], + [ + 'name' => 'BizId', + 'in' => 'query', + 'schema' => ['description' => 'The customer business ID.', 'type' => 'string', 'required' => false, 'example' => 'LMALL20******001', 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], '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' => '5E63B760-0ECB-5C07-8503-A65C27876968', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '595E387B-3F0E-5C52-BD02-8EFE63D41FD5'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'Task status:'."\n" - .'- PROCESSING: In progress (please continue polling)'."\n" - .'- SUCCESS: Execution succeeded'."\n" - .'- FAILED: Execution failed', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'SubCode' => [ - 'description' => 'Authentication result description. For more information, see ResultObject.SubCode error codes.', - 'type' => 'string', - 'example' => '200', - ], - 'ExtIdInfo' => [ - 'description' => 'Identified key information, in JSON format.', - 'type' => 'string', - 'example' => '{'."\n" - .' "address": "",'."\n" - .' "name":""'."\n" - .'}', - ], + 'RiskTags' => ['description' => 'The device risk tags.'."\n" + ."\n" + .'- Multiple device risk tags are separated by commas (,), such as "ROOT,VPN,HOOK".'."\n" + ."\n" + .'- For more information about device risk tags and their meanings, refer to the Face Guard tag description in the official documentation.', 'type' => 'string', 'example' => 'ROOT,VPN,HOOK', 'title' => ''], + 'RiskExtends' => ['description' => 'The extended information in JSON format. The response is customized based on tenant requirements.', 'type' => 'string', 'example' => '默认为空', 'title' => ''], + 'TransactionId' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'example' => 'hk573be80f944d95ac812e019e3655a8', 'title' => ''], + 'GuardRiskScore' => ['description' => 'The device risk probability predicted by the Face Guard algorithm. A higher score indicates a higher device risk.'."\n" + ."\n" + .'Value range: 0 to 100.', 'type' => 'number', 'format' => 'double', 'example' => '0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Status\\": \\"SUCCESS\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"{\\\\n \\\\\\"address\\\\\\": \\\\\\"\\\\\\",\\\\n \\\\\\"name\\\\\\":\\\\\\"\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Credential Recognition Result Query', - 'description' => 'After obtaining the TransactionId, you can use this interface on the server side to get the corresponding authentication result.', - 'translator' => 'machine', - ], - 'CredentialVerifyIntl' => [ - 'summary' => 'Credential Verification', - 'path' => '', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Device assistant', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FaceGuardRisk'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceGuardRisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"595E387B-3F0E-5C52-BD02-8EFE63D41FD5\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"RiskTags\\": \\"ROOT,VPN,HOOK\\",\\n \\"RiskExtends\\": \\"默认为空\\",\\n \\"TransactionId\\": \\"hk573be80f944d95ac812e019e3655a8\\",\\n \\"GuardRiskScore\\": 0\\n }\\n}","type":"json"}]', + ], + 'FaceLiveness' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4431,173 +4022,150 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '175619', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'CredType', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Credential type:'."\n" - ."\n" - .'- 03: Enterprise Qualification'."\n" - .'- 04: Transaction Voucher', - 'type' => 'string', - 'required' => true, - 'example' => '03', - ], + 'schema' => ['description' => 'The product code.', 'type' => 'string', 'required' => false, 'example' => 'FACE_LIVENESS_MIN', 'title' => ''], ], [ - 'name' => 'CredName', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'Credential name (numeric code):'."\n" - ."\n" - .'- Starting with 03: Enterprise Qualification'."\n" - .' - 0301: Mainland China Business License'."\n" - .'- Starting with 04, Transaction Voucher'."\n" - .' - 0401: Bank Statement'."\n" - .' - 0402: Pay Slip'."\n" - .' - 0403: Utility Bill'."\n" - .' - 0405: Credit Card Statement'."\n" - .' - 0499: Others', - 'type' => 'string', - 'required' => true, - 'example' => '0301', - ], + '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. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c353888', 'title' => ''], ], [ - 'name' => 'ImageUrl', + 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the image.'."\n" - .'> Choose either ImageUrl or ImageFile.', - 'type' => 'string', - 'required' => false, - 'example' => 'https://oss-bj01.avic.com/eavic-prod-commodity/pic/commodity/94677ee6-1067-4287-8ff4-6e030ef3a5a8.jpg', - ], + 'schema' => ['description' => 'The merchant user ID or another identifier that can be used to identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize the value of the userId field before passing it in, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ - 'name' => 'ImageFile', + 'name' => 'FacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the face photo.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-face-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg', 'title' => ''], + ], + [ + 'name' => 'FacePictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => 'Image input stream.'."\n" - .'> Choose either ImageUrl or ImageFile.', - 'type' => 'string', - 'required' => false, - 'example' => '无', - 'isFileTransferUrl' => true, - ], + 'schema' => ['description' => 'The Base64-encoded face photo.'."\n" + ."\n" + .'Note:'."\n" + .'- If you use FacePictureBase64 (Base64-encoded photo) to pass in the face photo, check the photo size and do not pass in an excessively large photo.', 'type' => 'string', 'required' => false, 'example' => 'Base64', 'title' => ''], ], [ - 'name' => 'ProductCode', + 'name' => 'FaceQuality', 'in' => 'query', - 'schema' => [ - 'description' => 'Invocation mode:'."\n" - .'- ANTI_FAKE_CHECK: Image quality and tampering detection.', - 'type' => 'string', - 'required' => true, - 'example' => '取值:ANTI_FAKE_CHECK', - ], + 'schema' => ['description' => 'Specifies whether to output the face quality score. Default value: F. Valid values:'."\n" + .'- T: enabled.'."\n" + .'- F: disabled. (Default)', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], + ], + [ + 'name' => 'Crop', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to allow cropping. Default value: F. Valid values:'."\n" + ."\n" + .'- T: enabled.'."\n" + .'- F: disabled. (Default)', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], + ], + [ + 'name' => 'Occlusion', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to perform occlusion detection. Default value: F. Valid values:'."\n" + ."\n" + .'- T: enabled.'."\n" + .'- F: disabled. (Default)', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], + ], + [ + 'name' => 'FaceQualityCheck', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The face quality check.', 'type' => 'string', 'example' => 'Y', 'required' => false], + ], + [ + 'name' => 'FaceAttributeCheck', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', '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' => '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' => 'Returned result information.', + 'RequestId' => ['title' => '', 'description' => 'The unique ID that Alibaba Cloud generates for the request.', 'type' => 'string', 'example' => '42EA58CA-5DF4-55D5-82C4-5E7A40DA62BA'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The description of the return result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', '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 (,). Includes:'."\n" - ."\n" - .'- PS: Image manipulation (Photoshop)'."\n" - .'- SCREEN_PHOTO: Screen recapture'."\n" - .'- SCREENSHOT: Screenshot'."\n" - .'- ORIGINAL_PHOTO: Not original image', - 'type' => 'string', - 'example' => 'PS', - ], - 'RiskScore' => [ - 'description' => 'Risk score map', + 'TransactionId' => ['description' => 'The unique ID of the authentication request.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the authentication passed. Valid values:'."\n" + ."\n" + .'- Y: passed.'."\n" + .'- N: not passed.', 'type' => 'string', 'example' => 'N', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '205', 'title' => ''], + 'ExtFaceInfo' => [ + 'description' => 'The face result information.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{'."\n" - .'"PS": "0.0211",'."\n" - .'"SCREEN_PHOTO": "0.0101",'."\n" - .'"SCREENSHOT": "0.0521"'."\n" - .'}', - 'description' => 'Risk score', + 'properties' => [ + 'FaceQualityScore' => ['description' => 'The face quality score (0 to 100). This value is returned only when the face quality score switch is enabled in the request parameters.', 'type' => 'number', 'format' => 'double', 'example' => '87.19', 'title' => ''], + 'OcclusionResult' => ['description' => 'The occlusion detection result. Valid values: Y (occluded) and N (not occluded). This value is returned only when the occlusion detection switch is enabled in the request parameters.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceAttack' => ['description' => 'The liveness detection result. Valid values: Y (attack detected) and N (normal).', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceGender' => ['description' => 'The predicted gender based on the face image. The prediction may fail, in which case no value is returned. Valid values:'."\n" + ."\n" + .'- M: male.'."\n" + .'- F: female.', 'type' => 'string', 'example' => 'M', 'title' => ''], + 'FaceAge' => ['description' => 'The predicted reference age based on the face image. The prediction may fail, in which case no value is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '18', 'title' => ''], + 'OcclusionScore' => ['title' => '', 'description' => 'The occlusion score.', 'type' => 'number', 'format' => 'double', 'example' => '50.26'], + 'KaOcclusionScore' => ['title' => '', 'description' => 'The key area occlusion score.', 'type' => 'number', 'format' => 'double', 'example' => '20'], + 'IlluminationScore' => ['title' => '', 'description' => 'The illumination score.', 'type' => 'number', 'format' => 'double', 'example' => '0.02'], + 'SharpnessScore' => ['title' => '', 'description' => 'The sharpness score.', 'type' => 'number', 'format' => 'double', 'example' => '86.47'], + 'FaceAttributeInfo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], - ], - 'MaterialInfo' => [ - 'description' => 'Other 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' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"130A2C10-B9EE-4D84-88E3-5384FF039795\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"Result\\": \\"1\\",\\n \\"RiskTag\\": \\"PS\\",\\n \\"RiskScore\\": {\\n \\"key\\": \\"{\\\\n\\\\\\"PS\\\\\\": \\\\\\"0.0211\\\\\\",\\\\n\\\\\\"SCREEN_PHOTO\\\\\\": \\\\\\"0.0101\\\\\\",\\\\n\\\\\\"SCREENSHOT\\\\\\": \\\\\\"0.0521\\\\\\"\\\\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' => 'Credential Verification Service', - 'description' => 'Input credential image information, perform image quality, tampering, and forgery detection, and return the detection results.', - 'translator' => 'machine', - ], - 'AddressVerifyV2Intl' => [ - 'summary' => 'This topic describes the address verification API operation, which verifies the region and address of a device using device data and carrier big data capabilities.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Passive liveness detection (FACE_LIVENESS_MIN)', + 'summary' => 'Provides the server-side API for passive liveness detection.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FaceLiveness'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceLiveness', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42EA58CA-5DF4-55D5-82C4-5E7A40DA62BA\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"N\\",\\n \\"SubCode\\": \\"205\\",\\n \\"ExtFaceInfo\\": {\\n \\"FaceQualityScore\\": 87.19,\\n \\"OcclusionResult\\": \\"Y\\",\\n \\"FaceAttack\\": \\"Y\\",\\n \\"FaceGender\\": \\"M\\",\\n \\"FaceAge\\": 18,\\n \\"OcclusionScore\\": 50.26,\\n \\"KaOcclusionScore\\": 20,\\n \\"IlluminationScore\\": 0.02,\\n \\"SharpnessScore\\": 86.47,\\n \\"FaceAttributeInfo\\": \\"\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'FaceLivenessV2' => [ + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4609,164 +4177,129 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'query', 'schema' => [ - 'description' => 'Fixed value: ADD_VERIFY_PRO', + 'description' => 'The product plan to use. Valid values: FACE_LIVENESS_MIN_PRO and FACE_LIVENESS_MIN.', + 'enumValueTitles' => ['FACE_LIVENESS_MIN' => 'FACE_LIVENESS_MIN', 'FACE_LIVENESS_MIN_PRO' => 'FACE_LIVENESS_MIN_PRO'], 'type' => 'string', 'required' => true, - 'example' => 'ADD_VERIFY_PRO', + 'example' => 'FACE_LIVENESS_MIN_PRO', + 'title' => '', ], ], [ - 'name' => 'VerifyType', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'Address verification method:'."\n" - ."\n" - .'- **HOME**: Home address verification'."\n" - ."\n" - .'- **WORK**: Work address verification', - 'type' => 'string', - 'required' => false, - 'example' => 'HOME', - ], + 'schema' => ['description' => 'The merchant-defined unique business ID for subsequent troubleshooting. The value can be a combination of letters and digits with a maximum length of 32 characters. Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a***353888', 'title' => ''], ], [ - 'name' => 'Mobile', + 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'Supported: Chinese mobile phone numbers', - 'type' => 'string', - 'required' => false, - 'example' => '1872334****', - ], + 'schema' => ['description' => 'The custom user ID or another identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize the value of this field in advance, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ - 'name' => 'RegCountry', + 'name' => 'FacePictureBase64', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face image.'."\n" + ."\n" + .'> **Note**'."\n" + ."\n" + .'- If you use this method to pass in the image, check the image size and do not pass in an excessively large image.'."\n" + .'- Specify one of the following parameters: FacePictureBase64, FacePictureUrl, or FacePictureFile.', 'type' => 'string', 'required' => false, 'example' => 'Base64', 'title' => ''], + ], + [ + 'name' => 'FacePictureUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'List of prohibited countries or regions', - 'type' => 'string', - 'required' => true, - 'example' => 'Currently supported: USA', - ], + 'schema' => ['description' => 'The URL of the face image. The URL must be a publicly accessible HTTPS URL.', 'type' => 'string', 'required' => false, 'example' => 'https://***', 'title' => ''], ], [ - 'name' => 'Text', + 'name' => 'FacePictureFile', 'in' => 'query', - 'schema' => [ - 'description' => 'Detailed address text content', - 'type' => 'string', - 'required' => false, - 'example' => '浙江省杭州市西湖区灯彩街云谷园区', - ], + 'schema' => ['description' => 'The file stream of the face image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], ], [ - 'name' => 'DeviceToken', + 'name' => 'FaceQualityCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'DeviceToken obtained via the client SDK', - 'type' => 'string', - 'required' => true, - 'example' => 'Tk9SSUQuMS*****************ZDNmNWY5NzQxOW1o', - ], + 'schema' => ['description' => 'Specifies whether to check the quality of the face image. Valid values:'."\n" + .'- Y: enabled.'."\n" + .'- N: disabled. This is the default value.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'FaceAttributeCheck', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], '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' => '7F971622-38C0-5F56-B2EC-315367979B4F', - ], - 'Code' => [ - 'description' => '[Return Code](https://www.alibabacloud.com/help/zh/ekyc/latest/add-verify-pro-api?spm=a2c63.p38356.0.i4#ae60001a3804w)', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Detailed description of the return code', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Result object', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'The transaction ID', - 'type' => 'string', - 'example' => 'hksb7ba1b28130d24e015d69********', - ], - 'BizCode' => [ - 'description' => 'The verification result. Valid values:'."\n" - ."\n" - .'- **1**: Passed (billed)'."\n" - .'- **2**: Failed (The device is in a prohibited region) (billed)'."\n" - .'- **3**: Unknown (billed)', - 'type' => 'string', - 'example' => '1', - ], - 'Detail' => [ - 'description' => 'Verification details, including:'."\n" - ."\n" - .'- **DistanceRange**:Position rang:[DistanceRange description](https://www.alibabacloud.com/help/zh/ekyc/latest/add-verify-pro-api?spm=a2c63.p38356.0.i27#ee274c08976er)。'."\n" - .'> If the input phone number or address is empty, or if no carrier information is found, this field will not be returned.'."\n" - ."\n" - .'- **IspName**: The carrier name:'."\n" - .' - **CMCC**: China Mobile'."\n" - .' - **CTCC**: China Telecom'."\n" - .' - **CUCC**: China Unicom'."\n" - .'> This parameter is not returned if the mobile phone number or address is empty in the request, or if carrier information is not found.'."\n" - ."\n" - .'- **PhoneStatus**: The status of the mobile phone:'."\n" - .' - **0**: Abnormal'."\n" - .' - **1**: Normal'."\n" - ."\n" - .'> This parameter is not returned if the mobile phone number is empty in the request.', - 'type' => 'string', - 'example' => '{'."\n" - .' "distanceRange": "0-3000",'."\n" - .' "ispName": "CTCC",'."\n" - .' "phoneStatus": "1"'."\n" - .'}', + 'TransactionId' => ['description' => 'The unique ID of the authentication request.', 'type' => 'string', 'example' => 'hksb7ba1b28130d24e015d694361****', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the authentication is passed. Valid values:'."\n" + ."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtFaceInfo' => [ + 'description' => 'The face result information.', + 'type' => 'object', + 'properties' => [ + 'FaceQualityScore' => ['description' => 'The quality score of the liveness face. Valid values: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '79.04', 'title' => ''], + 'OcclusionResult' => ['description' => 'Indicates whether facial occlusion is detected. A value of Y indicates occlusion is detected. A value of N indicates no occlusion is detected.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceAttack' => ['description' => 'The liveness detection result. Valid values: Y (attack detected) and N (Normal).', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceGender' => ['description' => 'The predicted gender of the face image. The prediction may fail and return no value. Valid values:'."\n" + ."\n" + .'- M: male.'."\n" + .'- F: female.', 'type' => 'string', 'example' => 'M', 'title' => ''], + 'FaceAge' => ['description' => 'The predicted reference age of the face. The prediction may fail and return no value.', 'type' => 'integer', 'format' => 'int64', 'example' => '18', 'title' => ''], + 'OcclusionScore' => ['description' => 'The algorithm score for occlusion, which is a sub-dimension of quality assessment. Valid values: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '50.26', 'title' => ''], + 'KaOcclusionScore' => ['description' => 'The algorithm score for key area occlusion, which is a sub-dimension of quality assessment. Valid values: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '100', 'title' => ''], + 'IlluminationScore' => ['description' => 'The algorithm score for illumination, which is a sub-dimension of quality assessment. Valid values: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '97.43', 'title' => ''], + 'SharpnessScore' => ['description' => 'The image sharpness score, which is a sub-dimension of quality assessment. Valid values: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '60.78', 'title' => ''], + 'FaceAttributeInfo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Face liveness detection', + 'summary' => 'Detects whether a face in an image is from a real person by using the API operation. This service combines the Qwen-VL large model for in-depth forgery risk detection to determine face liveness.', + 'description' => 'Calls the FaceLivenessV2 operation to perform liveness detection on a face image.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7F971622-38C0-5F56-B2EC-315367979B4F\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"hksb7ba1b28130d24e015d69********\\",\\n \\"BizCode\\": \\"1\\",\\n \\"Detail\\": \\"{\\\\n \\\\\\"distanceRange\\\\\\": \\\\\\"0-3000\\\\\\",\\\\n \\\\\\"ispName\\\\\\": \\\\\\"CTCC\\\\\\",\\\\n \\\\\\"phoneStatus\\\\\\": \\\\\\"1\\\\\\"\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Address Verification V2', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"hksb7ba1b28130d24e015d694361****\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtFaceInfo\\": {\\n \\"FaceQualityScore\\": 79.04,\\n \\"OcclusionResult\\": \\"Y\\",\\n \\"FaceAttack\\": \\"Y\\",\\n \\"FaceGender\\": \\"M\\",\\n \\"FaceAge\\": 18,\\n \\"OcclusionScore\\": 50.26,\\n \\"KaOcclusionScore\\": 100,\\n \\"IlluminationScore\\": 97.43,\\n \\"SharpnessScore\\": 60.78,\\n \\"FaceAttributeInfo\\": \\"\\"\\n }\\n }\\n}","type":"json"}]', ], - 'AddressCompareIntl' => [ - 'summary' => 'Address Similarity Comparison', + 'FaceVerifyIntl' => [ 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4778,816 +4311,1644 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'ProductCode', 'in' => 'query', 'schema' => [ - 'description' => 'ADD_VERIFY', + 'description' => 'The product code. Valid values: FACE_VERIFY_MIN and FACE_IDU_MIN.', + 'enumValueTitles' => ['FACE_IDU_MIN' => 'FACE_IDU_MIN', 'FACE_VERIFY_MIN' => 'FACE_VERIFY_MIN'], 'type' => 'string', 'required' => true, - 'example' => 'fixed value:ADD_VERIFY', + 'example' => 'FACE_VERIFY_MIN', + 'title' => '', ], ], [ - 'name' => 'Text1', + 'name' => 'MerchantUserId', 'in' => 'query', - 'schema' => [ - 'description' => 'Address 1', - 'type' => 'string', - 'required' => true, - 'example' => '杭州市阿里巴巴西溪园区', - ], + 'schema' => ['description' => 'A custom user ID or other identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize the value of this field in advance, such as by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '123456789', 'title' => ''], ], [ - 'name' => 'Text2', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'Address 2', - 'type' => 'string', - 'required' => true, - 'example' => '杭州市文一西路969号1号楼', - ], + 'schema' => ['description' => 'A custom unique business identifier used for subsequent troubleshooting. The value supports a combination of letters and digits up to 32 characters in length. Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', 'title' => ''], ], [ - 'name' => 'DefaultCountry', + 'name' => 'FaceQualityCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'Country name'."\n" - .'- China', - 'type' => 'string', - 'required' => true, - 'example' => 'fixed value:中国', - ], + 'schema' => ['description' => 'Specifies whether to check the quality of the face image. Valid values:'."\n" + .'- Y: Enabled.'."\n" + .'- N: Disabled. This is the default value.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'TargetFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded reference face image.'."\n" + ."\n" + .'> **Note**'."\n" + .'>'."\n" + .'> - If you use this method to pass in the image, check the image size and do not pass in an excessively large image.'."\n" + .'> - Specify one of the following parameters: TargetFacePicture, TargetFacePictureUrl, or TargetFacePictureFile.', 'type' => 'string', 'required' => false, 'example' => 'base64', 'title' => ''], + ], + [ + 'name' => 'TargetFacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The HTTPS URL of the reference face image.', 'type' => 'string', 'required' => false, 'example' => 'https://***face2.jpeg', 'title' => ''], + ], + [ + 'name' => 'TargetFacePictureFile', + 'in' => 'query', + 'schema' => ['description' => 'The file stream of the reference face image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'SourceFacePicture', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded portrait image.'."\n" + ."\n" + .'> **Note**'."\n" + .'>'."\n" + .'> - If you use this method to pass in the image, check the image size and do not pass in an excessively large image.'."\n" + .'> - Specify one of the following parameters: SourceFacePicture, SourceFacePictureUrl, or SourceFacePictureFile.', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'base64'."\n", 'title' => ''], + ], + [ + 'name' => 'SourceFacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The publicly accessible HTTPS URL of the portrait image.', 'type' => 'string', 'required' => false, 'example' => 'https://***face1.jpeg', 'title' => ''], + ], + [ + 'name' => 'SourceFacePictureFile', + 'in' => 'query', + 'schema' => ['description' => 'The file stream of the face image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'VerifyModel', + 'in' => 'query', + 'schema' => ['description' => 'Required when ProductCode is set to FACE_IDU_MIN. The verification type. Valid values:'."\n" + ."\n" + .'- 0: retrieve pattern'."\n" + .'> - Feature: Pass in a face library and a user face image (sourceFacePicture). The system automatically retrieves the face library to check whether the specified face image (sourceFacePicture) already exists. Passive liveness detection can be enabled for the face image (sourceFacePicture).'."\n" + .'> - Recommended scenario: Real-person create an account where duplicate registration is not allowed.'."\n" + ."\n" + .'- 1 (default): authenticate pattern'."\n" + .'> - Feature: Pass in a specified face image (sourceFacePicture) and a reference face image (TargetFacePicture). The system automatically authenticates whether the faces match. Passive liveness detection can be enabled for the specified face image (sourceFacePicture).'."\n" + .'> - Recommended scenario: Authenticating the identity of the user when modifying logon credentials or account information.'."\n" + ."\n" + .'- 2: comprehensive pattern'."\n" + .'> - Feature: Pass in a face library, a specified face image (sourceFacePicture), and a reference face image (TargetFacePicture). The system automatically retrieves the face library to check whether the specified face image (sourceFacePicture) exists, authenticates whether it matches the reference face, and supports enabling passive liveness detection for the specified face image (sourceFacePicture).'."\n" + .'> - Recommended scenario: Authenticating that the user is a new user and the operation is performed by the user in person.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'FaceGroupCodes', + 'in' => 'query', + 'schema' => ['description' => 'Required when ProductCode is set to FACE_IDU_MIN.'."\n" + ."\n" + .'The face library codes created by the customer through the console. A maximum of 10 face libraries can be queried at the same time. Separate multiple face library codes with commas (,).', 'type' => 'string', 'required' => false, 'example' => '1232344,23444', 'title' => ''], + ], + [ + 'name' => 'AutoRegistration', + 'in' => 'query', + 'schema' => ['description' => 'Required when ProductCode is set to FACE_IDU_MIN.'."\n" + ."\n" + .'Specifies whether to automatically register the face to the specified face library when no duplicate face is found during retrieval. Valid values:'."\n" + .'- 0: Automatic registration.'."\n" + .'- 1: No registration. This is the default value.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'FaceRegisterGroupCode', + 'in' => 'query', + 'schema' => ['description' => 'Required when ProductCode is set to FACE_IDU_MIN.'."\n" + ."\n" + .'The code of the face library for registration.', 'type' => 'string', 'required' => false, 'example' => '0e0c34a77f', 'title' => ''], + ], + [ + 'name' => 'ReturnFaces', + 'in' => 'query', + 'schema' => ['description' => 'Required when ProductCode is set to FACE_IDU_MIN.'."\n" + ."\n" + .'Specifies the number of faces to return when multiple faces exist above the matching threshold. Default value: 1. Maximum value: 5.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'FaceAttributeCheck', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', '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' => '86C40EC3-5940-5F47-995C-BFE90B70E540'."\n", - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success'."\n", 'title' => ''], 'Result' => [ - 'description' => 'Return result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Data' => [ - 'description' => 'The values of sameLevel include:'."\n" - .'- all: Exactly the same'."\n" - .'- prov: Provincial level'."\n" - .'- city: City level'."\n" - .'- district: District level'."\n" - .'- town: Town level'."\n" - .'- road: Road level'."\n" - .'- roadno: Road number'."\n" - .'- poi: Point of interest (e.g., residential area)'."\n" - .'- roomno: Room number', - 'type' => 'string', - 'example' => '{'."\n" - .' sameLevel: "city", '."\n" - .' distance: 5997.34m, -- 地址相差距离'."\n" - .' same_info: { -- 相同信息'."\n" - .' prov: "浙江省",'."\n" - .' city: "杭州市",'."\n" - .' district: "西湖区"'."\n" - .' } '."\n" - .'}', + 'TransactionId' => ['description' => 'The unique identifier of the verification request.', 'type' => 'string', 'example' => '4ab0b***cbde97', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'FacePassed' => ['description' => 'The final verification result. Valid values:'."\n" + .'- Y: Passed.'."\n" + .'- N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'FaceComparisonScore' => ['description' => 'The comparison score between the face image submitted during verification and the reference face image. Value range: 0 to 100.', 'type' => 'number', 'format' => 'double', 'example' => '95.0', 'title' => ''], + 'DuplicateFace' => ['description' => 'The face ID, user ID, and comparison score of the corresponding face in the face library when a duplicate face is found during retrieval.', 'type' => 'string', 'example' => '['."\n" + .' {'."\n" + .' "faceGroupCode": "sg7****uzt",'."\n" + .' "faceId": "f5a921*******9e792ec84c8f0ca592a",'."\n" + .' "merchantUserId": "fa****01"'."\n" + .' }'."\n" + .']', 'title' => ''], + 'FaceRegistrationResult' => ['description' => 'The face registration result. Valid values: '."\n" + .'- 0: Failed. '."\n" + .'- 1: Succeeded.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'FaceRegistrationId' => ['description' => 'The face ID returned only when the customer has enabled automatic registration and the face is registered successfully.', 'type' => 'string', 'example' => '9e792ec84c8f0ca592a', 'title' => ''], + 'FaceAttack' => ['description' => 'Indicates whether the captured face involves a liveness attack. Valid values:'."\n" + .'- Y: Attack detected.'."\n" + .'- N: No attack detected.'."\n" + ."\n" + .'This field is returned only when passive liveness detection is enabled.', 'type' => 'string', 'example' => 'N', 'title' => ''], + 'FaceAttackScore' => ['description' => 'The probability of a passive liveness detection attack on the face. Value range: 0 to 100. This field is returned only when passive liveness detection is enabled.', 'type' => 'number', 'format' => 'double', 'example' => '99', 'title' => ''], + 'FaceAge' => ['description' => 'The estimated age of the face. This value may not be returned if the prediction fails.', 'type' => 'integer', 'format' => 'int64', 'example' => '30', 'title' => ''], + 'FaceGender' => ['description' => 'The predicted gender of the face image. This value may not be returned if the prediction fails. Valid values:'."\n" + .'- M: Male.'."\n" + .'- F: Female.', 'type' => 'string', 'example' => 'M', 'title' => ''], + 'ExtFaceInfo' => [ + 'description' => 'The additional face result information.', + 'type' => 'object', + 'properties' => [ + 'FaceQualityScore' => ['description' => 'The liveness face quality score. Value range: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '39.04', 'title' => ''], + 'OcclusionScore' => ['description' => 'The algorithm score for occlusion, a sub-dimension of quality assessment. Value range: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '50.26', 'title' => ''], + 'KaOcclusionScore' => ['description' => 'The algorithm score for key area occlusion, a sub-dimension of quality assessment. Value range: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '100', 'title' => ''], + 'IlluminationScore' => ['description' => 'The algorithm score for illumination, a sub-dimension of quality assessment. Value range: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '97.43', 'title' => ''], + 'SharpnessScore' => ['description' => 'The image sharpness score, a sub-dimension of quality assessment. Value range: 0 to 100. A higher value indicates better quality.', 'type' => 'number', 'format' => 'double', 'example' => '86.47', 'title' => ''], + 'TargetFaceQualityScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetKaOcclusionScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetIlluminationScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'TargetSharpnessScore' => ['type' => 'number', 'format' => 'double', 'description' => '', 'title' => '', 'example' => ''], + 'FaceAttributeInfo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Face verification', + 'summary' => 'Performs real face detection by using face images obtained in advance through an API operation. The algorithm identifies whether a face is a screen recapture or printed photo to detect basic presentation liveness attacks that render such attack types, and supports comparison with another face image to authenticate whether they belong to the same person.', + 'description' => 'Calls the FaceVerifyIntl operation to perform liveness detection on face images.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\\\n\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Data\\": \\"{\\\\n sameLevel: \\\\\\"city\\\\\\", \\\\n distance: 5997.34m, -- 地址相差距离\\\\n same_info: { -- 相同信息\\\\n prov: \\\\\\"浙江省\\\\\\",\\\\n city: \\\\\\"杭州市\\\\\\",\\\\n district: \\\\\\"西湖区\\\\\\"\\\\n } \\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Address Similarity Comparison', - 'description' => 'API for comparing two addresses, standardizing and checking address consistency.', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\\\n\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\",\\n \\"SubCode\\": \\"200\\",\\n \\"FacePassed\\": \\"Y\\",\\n \\"FaceComparisonScore\\": 95,\\n \\"DuplicateFace\\": \\"[\\\\n {\\\\n \\\\\\"faceGroupCode\\\\\\": \\\\\\"sg7****uzt\\\\\\",\\\\n \\\\\\"faceId\\\\\\": \\\\\\"f5a921*******9e792ec84c8f0ca592a\\\\\\",\\\\n \\\\\\"merchantUserId\\\\\\": \\\\\\"fa****01\\\\\\"\\\\n }\\\\n]\\",\\n \\"FaceRegistrationResult\\": 0,\\n \\"FaceRegistrationId\\": \\"9e792ec84c8f0ca592a\\",\\n \\"FaceAttack\\": \\"N\\",\\n \\"FaceAttackScore\\": 99,\\n \\"FaceAge\\": 30,\\n \\"FaceGender\\": \\"M\\",\\n \\"ExtFaceInfo\\": {\\n \\"FaceQualityScore\\": 39.04,\\n \\"OcclusionScore\\": 50.26,\\n \\"KaOcclusionScore\\": 100,\\n \\"IlluminationScore\\": 97.43,\\n \\"SharpnessScore\\": 86.47,\\n \\"TargetFaceQualityScore\\": 0,\\n \\"TargetOcclusionScore\\": 0,\\n \\"TargetKaOcclusionScore\\": 0,\\n \\"TargetIlluminationScore\\": 0,\\n \\"TargetSharpnessScore\\": 0,\\n \\"FaceAttributeInfo\\": \\"\\"\\n }\\n }\\n}","type":"json"}]', ], - 'KeepaliveIntl' => [ - 'summary' => 'If your server makes infrequent calls to the ID Verification API, you can call the KeepaliveIntl operation to maintain the client connection.', - 'path' => '', - 'methods' => [ - 'post', + 'FraudResultCallBack' => [ + 'summary' => 'Calls the eKYC global anti-spoofing callback operation.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '184671', + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH', 'FEATUREcloudauthHOSIED', 'FEATUREcloudauthWSJE4H'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CertifyId', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier for identity verification, which corresponds to the verifyId of Ant.', 'type' => 'string', 'required' => false, 'example' => 'shs2b27333914876c01de4cb22f5841f', 'title' => ''], + ], + [ + 'name' => 'ResultCode', + 'in' => 'query', + 'schema' => ['description' => 'Indicates whether the anti-spoofing check is passed. Valid values:'."\n" + .'- PASS: Passed.'."\n" + .'- REJECT: Not passed.', 'type' => 'string', 'required' => false, 'example' => 'PASS', 'title' => ''], + ], + [ + 'name' => 'VerifyDeployEnv', + 'in' => 'query', + 'schema' => ['description' => 'The environment routing parameter. Valid values:'."\n" + .'- staging: staging environment'."\n" + .'- production: production environment.', 'type' => 'string', 'required' => false, 'example' => 'production', 'title' => ''], + ], + [ + 'name' => 'ExtParams', + 'in' => 'query', + 'schema' => ['description' => 'The extended parameters, in JSON string format.', 'type' => 'string', 'required' => false, 'example' => '{}', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" + .'- **true**: The call is successful.'."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => 'Anti-spoofing callback', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FraudResultCallBack'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'antcloudauth:FraudResultCallBack', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'Id2MetaPeriodVerifyIntl' => [ + 'summary' => 'Verifies the validity period of an identity document as a two-factor authentication element.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNOQ41U', + 'chargeType' => 'paid', + 'abilityTreeCode' => '261144', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProductCode', + 'in' => 'formData', + 'schema' => ['description' => 'The product solution to use.'."\n" + ."\n" + .'Set the value to eKYC_Date_MIN.', 'type' => 'string', 'required' => true, 'example' => 'eKYC_Date_MIN', 'title' => ''], + ], + [ + 'name' => 'SceneCode', + 'in' => 'formData', + 'schema' => ['description' => 'The custom authentication scenario ID. You can use this scenario ID to query related records in the console. The value can be up to 10 characters in length and can contain letters, digits, and underscores.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], + ], + [ + 'name' => 'MerchantBizId', + 'in' => 'formData', + 'schema' => ['description' => 'The custom unique business identifier, which is used for subsequent troubleshooting. The value can be up to 32 characters in length and can contain letters and digits. Make sure the value is unique.', 'type' => 'string', 'required' => true, 'example' => 'e0c34a77f5ac40a5aa5e6ed20c35****', 'title' => ''], + ], + [ + 'name' => 'MerchantUserId', + 'in' => 'formData', + 'schema' => ['description' => 'The custom user ID or another identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize the value of this field in advance, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], + ], + [ + 'name' => 'DocType', + 'in' => 'formData', + 'schema' => ['description' => 'The document type, which is uniquely identified by an 8-digit number. For more information, see the document type list.'."\n" + ."\n" + .'Currently, only the second-generation resident identity card of the Chinese mainland is supported. Set this parameter to 00000001.', 'type' => 'string', 'required' => true, 'example' => '00000001'."\n" + ."\n", 'title' => ''], + ], + [ + 'name' => 'DocName', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the user.', 'type' => 'string', 'required' => true, 'example' => '张三', 'title' => ''], + ], + [ + 'name' => 'DocNo', + 'in' => 'formData', + 'schema' => ['description' => 'The document number of the user.', 'type' => 'string', 'required' => true, 'example' => '411xxxxxxxxxxx0001', 'title' => ''], + ], + [ + 'name' => 'ValidityStartDate', + 'in' => 'formData', + 'schema' => ['description' => 'The start date of the validity period, in the format YYYYMMDD. Example: 20201001.', 'type' => 'string', 'required' => true, 'example' => '20201001', 'title' => ''], + ], + [ + 'name' => 'ValidityEndDate', + 'in' => 'formData', + 'schema' => ['description' => 'The expiration date of the ID card validity period, in the format YYYYMMDD. Example: 20301001.', 'type' => 'string', 'required' => true, 'example' => '20301001', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', + 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'The [return code.](https://www.alibabacloud.com/help/en/ekyc/latest/client-connection-hold?spm=a3c0i.23458820.2359477120.1.48207d3ftEYld2#74d291dfaaxci)', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'A detailed description of the Code.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '7B97D932-7FF5-517D-BF39-7CA1BEE3CDD9'], + 'Code' => ['description' => 'The response code. For more information about response codes, see the description of response codes and messages.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Message' => ['description' => 'The response message of the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Result' => [ - 'description' => 'The result of the call.', - 'type' => 'string', - 'example' => 'SUCCESS', - ], + 'Passed' => ['description' => 'The final authentication result. Valid values:'."\n" + ."\n" + .'* Y: Passed.'."\n" + ."\n" + .'* N: Not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The description of the authentication result. For more information, see the ResultObject.SubCode error code description.', 'type' => 'string', 'example' => '200', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7B97D932-7FF5-517D-BF39-7CA1BEE3CDD9\\",\\n \\"Code\\": \\"success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\"\\n }\\n}","type":"json"}]', + 'title' => 'Verify ID card validity period', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaPeriodVerifyIntl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Id2MetaPeriodVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Result\\": \\"SUCCESS\\"\\n }\\n}","type":"json"}]', - 'title' => 'Client connection keep-alive', ], - 'DeleteVerifyResult' => [ - 'summary' => 'Delete user authentication record results', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'Id2MetaVerifyIntl' => [ + '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' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '199203', + 'abilityTreeNodes' => ['FEATUREcloudauthZN5W38'], ], 'parameters' => [ [ - 'name' => 'TransactionId', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier of the authentication request', - 'type' => 'string', - 'required' => false, - 'example' => '4ab0b***cbde97', - ], + 'schema' => ['description' => 'The product solution code. Set this parameter to ID_2META.', 'type' => 'string', 'required' => false, 'example' => 'ID_2META', 'title' => ''], ], [ - 'name' => 'DeleteAfterQuery', + 'name' => 'ParamType', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to depend on the query interface when deleting data', - 'type' => 'string', - 'required' => false, - 'example' => 'Y / N', - ], + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: original value (plaintext).'."\n" + .'- Note: Due to authoritative data source restrictions, two-factor identity verification does not support MD5 encryption.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'DeleteType', + 'name' => 'IdentifyNum', 'in' => 'query', - 'schema' => [ - 'description' => 'Type of data to be deleted', - 'type' => 'string', - 'required' => false, - 'example' => 'Img / Text / All', - ], + 'schema' => ['description' => 'The ID card number (in plaintext).', 'type' => 'string', 'required' => false, 'example' => '429001********8211'."\n", 'title' => ''], + ], + [ + 'name' => 'UserName', + 'in' => 'query', + 'schema' => ['description' => 'The name (in plaintext).', 'type' => 'string', 'required' => false, 'example' => '张*', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Return result', + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of this request', - 'type' => 'string', - 'example' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'EFA11401-C961-5E89-A2D3-BF9883E5CC3D'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result', + 'description' => 'The verification result.', 'type' => 'object', 'properties' => [ - 'TransactionId' => [ - 'description' => 'Unique identifier of the authentication request', - 'type' => 'string', - 'example' => '4ab0b***cbde97', - ], - 'DeleteResult' => [ - 'description' => 'Deletion result. Y indicates successful deletion, N indicates failed deletion', - 'type' => 'string', - 'example' => 'Y/N', - ], + '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' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EFA11401-C961-5E89-A2D3-BF9883E5CC3D\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\"\\n }\\n}","type":"json"}]', + 'title' => 'Two-factor identity verification', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaVerifyIntl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Id2MetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\",\\n \\"DeleteResult\\": \\"Y/N\\"\\n }\\n}","type":"json"}]', - 'title' => 'Logical Deletion Interface for Authentication Records', - 'translator' => 'machine', ], - 'CheckVerifyLog' => [ - 'summary' => 'Authentication Log Query Interface', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'IdnAuthorityVerifyIntl' => [ + 'path' => '', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '266432', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCS0SDG', - ], - 'tenantRelevance' => 'publicInformation', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauth6RJHVQ'], ], 'parameters' => [ [ - 'name' => 'MerchantBizId', - 'in' => 'formData', + 'name' => 'ProductCode', + 'in' => 'query', '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.', + 'description' => 'The product solution to use. Set the value to IDN_META.', + 'enumValueTitles' => [], 'type' => 'string', - 'required' => false, - 'example' => 'e0c34a***353888', + 'required' => true, + 'example' => 'IDN_META', + 'title' => '', ], ], [ - 'name' => 'TransactionId', + 'name' => 'SceneCode', + 'in' => 'query', + 'schema' => ['description' => 'The custom authentication scenario ID. You can use this scenario ID to query related records in the console. The value can be a combination of letters, digits, or underscores with a maximum length of 10 characters.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], + ], + [ + 'name' => 'MerchantBizId', + 'in' => 'query', + 'schema' => ['description' => 'The merchant-side custom business unique identifier, which is used for subsequent troubleshooting. The value can be a combination of letters and digits with a maximum length of 32 characters. Ensure that the value is unique.', 'type' => 'string', 'required' => true, 'example' => 'dso932dsjsd22', 'title' => ''], + ], + [ + 'name' => 'MerchantUserId', + 'in' => 'query', + 'schema' => ['description' => 'The custom user ID, or another identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize the value of this field in advance, for example, by hashing the value.', 'type' => 'string', 'required' => true, 'example' => '123456789', 'title' => ''], + ], + [ + 'name' => 'IdNumber', + 'in' => 'query', + 'schema' => ['description' => 'The ID card number.', 'type' => 'string', 'required' => true, 'example' => '3612841***47001', 'title' => ''], + ], + [ + 'name' => 'BirthDate', + 'in' => 'query', + 'schema' => ['description' => 'The date of birth.', 'type' => 'string', 'required' => true, 'example' => '2000-01-01', 'title' => ''], + ], + [ + 'name' => 'FullName', + 'in' => 'query', + 'schema' => ['description' => 'The full name.', 'type' => 'string', 'required' => true, 'example' => 'ray', 'title' => ''], + ], + [ + 'name' => 'SourceFacePicture', 'in' => 'formData', - 'schema' => [ - 'description' => 'The unique identifier for the entire authentication process. This value needs to be obtained by calling Initialize.', - 'type' => 'string', - 'required' => false, - 'example' => 'hksb7ba1b*********015d694361bee4', - ], + 'schema' => ['description' => 'The Base64-encoded facial photo.'."\n" + ."\n" + .'> **Note**'."\n" + ."\n" + .'- If you use this method to pass the ID photo, check the photo size and do not pass an excessively large photo.'."\n" + .'- Specify one of the following parameters: SourceFacePicture, SourceFacePictureUrl, or SourceFacePictureFile.', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'base64'."\n", 'title' => ''], + ], + [ + 'name' => 'SourceFacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the facial photo. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://***face1.jpeg', 'title' => ''], + ], + [ + 'name' => 'SourceFacePictureFile', + 'in' => 'query', + 'schema' => ['description' => 'The file stream of the facial photo.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The Indonesian mobile phone number. The number must start with +62, followed by 9 to 11 digits.', 'type' => 'string', 'required' => true, 'example' => '+6281293671234', 'title' => ''], + ], + [ + 'name' => 'Email', + 'in' => 'query', + 'schema' => ['description' => 'The email address of the user.', 'type' => 'string', 'required' => true, 'example' => 'a*@gmail.com', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Backend error code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => 'Return result.', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Passed' => [ - 'description' => 'Whether the authentication passed.'."\n" - ."\n" - .'- Y: Passed.'."\n" - .'- N: Not passed.', - 'type' => 'string', - 'example' => 'Y', - ], - 'SubCode' => [ - 'description' => 'Sub-result code', - 'type' => 'string', - 'example' => '200', - ], - 'VerifyStatus' => [ - 'description' => 'Authentication status, values:'."\n" - ."\n" - .'- 0: finished (authentication completed)'."\n" - .'- 1: unfinished (authentication interrupted)'."\n" - .'- 2: notstart (authentication not started)', - 'type' => 'string', - 'example' => '1', - ], - 'InterruptPage' => [ - 'description' => 'Records the last page where the authentication was interrupted.'."\n" - ."\n" - .'- Page not started'."\n" - .'- OCR guide page'."\n" - .'- OCR camera authorization'."\n" - .'- OCR document capture page'."\n" - .'- OCR recognition loading'."\n" - .'- OCR recognition result editing page'."\n" - .'- OCR recognition result editing loading'."\n" - .'- Liveness detection guide page'."\n" - .'- Liveness detection camera authorization page'."\n" - .'- Liveness detection page'."\n" - .'- Liveness detection fallback page'."\n" - .'- Liveness detection retry'."\n" - .'- Liveness detection loading', - 'type' => 'string', - 'example' => 'OCR拍摄证件页面', - ], - 'VerifyErrorCode' => [ - 'description' => 'Authentication interruption error codes'."\n" - ."\n" - .'- 1000: The user completed the face scanning process, and the suggested authentication result is pass'."\n" - .'- 1001: The user completed the face scanning process, and the suggested authentication result is fail'."\n" - .'- 1002: System error'."\n" - .'- 1003: SDK initialization failed, please check if the client time is correct'."\n" - .'- 1004: Camera permission error'."\n" - .'- 1005: Network error'."\n" - .'- 1006: User exited'."\n" - .'- 1007: Invalid TransactionId'."\n" - .'- 1009: Client timestamp error'."\n" - .'- 1011: Incorrect document type submitted'."\n" - .'- 1012: Missing or format validation failure of key information on the recognized document'."\n" - .'- 1013: Poor image quality'."\n" - .'- 1014: Exceeded the upper limit of errors'."\n" - .'- 1015: Android system version too low'."\n" - .'- 1016: Camera permission not obtained'."\n" - .'- 9999: Suspected authentication process interruption', - 'type' => 'string', - 'example' => '1001', - ], - 'LogInfo' => [ - 'description' => 'SDK operation log details', - 'type' => 'array', - 'items' => [ - 'description' => 'Operation logs', - 'type' => 'string', - 'example' => '['."\n" - .' "2025-03-21 10:31:25 Loading阶段结束",'."\n" - .' "2025-03-21 10:31:25 用户进入OCR页面",'."\n" - .' "2025-03-21 10:31:39 OCR认证阶段点击相册选择按钮",'."\n" - .' "2025-03-21 10:31:39 OCR认证阶段点击OCR提交按钮",'."\n" - .' "2025-03-21 10:31:42 OCR认证阶段中断弹窗弹出",'."\n" - .' "2025-03-21 10:31:43 OCR认证阶段中断重试",'."\n" - .' "2025-03-21 10:31:43 OCR认证阶段中断弹窗关闭",'."\n" - .' "2025-03-21 10:31:59 OCR认证阶段点击相册选择按钮",'."\n" - .' "2025-03-21 10:31:59 OCR认证阶段点击OCR提交按钮",'."\n" - .' "2025-03-21 10:32:02 OCR认证阶段结束",'."\n" - .' "2025-03-21 10:32:02 用户进入OCR编辑页面",'."\n" - .' "2025-03-21 10:32:03 OCR编辑阶段点击OCR结果确认无误按钮",'."\n" - .' "2025-03-21 10:32:04 OCR编辑阶段结束",'."\n" - .' "2025-03-21 10:32:04 用户进入活体页面",'."\n" - .' "2025-03-21 10:32:12 活体检测阶段结束"'."\n" - .' ]', - ], - ], - 'ExtInfo' => [ - 'description' => 'Extended information', - 'type' => 'string', - 'example' => '{}', - ], - 'LogStatisticsInfo' => [ - 'description' => 'SDK operation log statistics details', - 'type' => 'string', - 'example' => '{'."\n" - .' "faceOverTimes": 0,'."\n" - .' "hasFaceOverTimes": false,'."\n" - .' "hasFacePermissionRefuse": false,'."\n" - .' "hasOcrEdit": true,'."\n" - .' "hasOcrEditOverTimes": false,'."\n" - .' "hasOcrOverTimes": true,'."\n" - .' "hasOcrPermissionRefuse": false,'."\n" - .' "ocrEditOverTimes": 0,'."\n" - .' "ocrEditTimes": 1,'."\n" - .' "ocrOverTimes": 1,'."\n" - .' "pageStayTimeInfo": {'."\n" - .' "LOADING": "1615",'."\n" - .' "OCR_SCAN": "37446",'."\n" - .' "OCR_RESULT": "1338",'."\n" - .' "FACE": "8707"'."\n" - .' }'."\n" - .' }', - ], - 'LogInfoEn' => [ - 'description' => 'SDK Operation Log Details (English Version)', - 'type' => 'array', - 'items' => [ - 'description' => 'Operation logs', - 'type' => 'string', - 'example' => '['."\n" - .' "2025-03-21 10:31:25 LOADING_ENTER",'."\n" - .' "2025-03-21 10:31:25 LOADING_EXIT",'."\n" - .' "2025-03-21 10:31:39 GUIDE_PAGE_SHOW",'."\n" - .' "2025-03-21 10:31:39 GUIDE_PAGE_LEAVE",'."\n" - .' "2025-03-21 10:31:42 FACE_ENTER",'."\n" - .' "2025-03-21 10:31:43 FACE_EXIT"'."\n" - .']', - ], - ], - 'InterruptPageEn' => [ - 'description' => 'The page where the authentication process stops. Possible English values:'."\n" - ."\n" - .'The following are the values in an unordered list:'."\n" - ."\n" - .'- LOADING'."\n" - ."\n" - .'- GUIDE'."\n" - ."\n" - .'- FACE'."\n" - ."\n" - .'- OCR_SCAN'."\n" - ."\n" - .'- OCR_RESULT'."\n" - ."\n" - .'- NFC_INPUT'."\n" - ."\n" - .'- NFC_READ', - 'type' => 'string', - 'example' => 'LOADING', - ], + 'TransactionId' => ['description' => 'The unique identifier of the authentication request.', 'type' => 'string', 'example' => 'hk573be80f944d95ac812e0*******a8', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the verification is passed. Valid values:'."\n" + .'- Y: passed.'."\n" + .'- N: not passed.', 'type' => 'string', 'example' => 'Y', 'title' => ''], + 'SubCode' => ['description' => 'The sub-result code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ExtSourceInfo' => ['description' => 'The detailed verification results from the data source are described as follows (using the Indonesian data source as an example):'."\n" + .'- **govId, fullName, dob**: A comparison score equal to 1.0 indicates a complete match with the official data source. A score lower than 1.0 indicates a mismatch. '."\n" + .'- **selfiePhoto**: A comparison score greater than 0.8 indicates a match with the official data source. A score equal to or lower than 0.8 indicates a mismatch. '."\n" + .'- **liveness**: A score higher than 0.95 indicates a liveness detection risk. '."\n" + .'- **imgManipulationScore**: A score higher than 0.95 indicates an image tampering risk.', 'type' => 'string', 'example' => '{'."\n" + .' "govId": 1.0,'."\n" + .' "fullName": 1.0,'."\n" + .' "dob": 0.9,'."\n" + .' "selfiePhoto": 0.8777,'."\n" + .' "liveness": 0.1152,'."\n" + .' "imgManipulationScore": 0.2253'."\n" + .'}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"VerifyStatus\\": \\"1\\",\\n \\"InterruptPage\\": \\"OCR拍摄证件页面\\",\\n \\"VerifyErrorCode\\": \\"1001\\",\\n \\"LogInfo\\": [\\n \\"[\\\\n \\\\\\"2025-03-21 10:31:25 Loading阶段结束\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:25 用户进入OCR页面\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 OCR认证阶段点击相册选择按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 OCR认证阶段点击OCR提交按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:42 OCR认证阶段中断弹窗弹出\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:43 OCR认证阶段中断重试\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:43 OCR认证阶段中断弹窗关闭\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:59 OCR认证阶段点击相册选择按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:59 OCR认证阶段点击OCR提交按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:02 OCR认证阶段结束\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:02 用户进入OCR编辑页面\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:03 OCR编辑阶段点击OCR结果确认无误按钮\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:04 OCR编辑阶段结束\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:04 用户进入活体页面\\\\\\",\\\\n \\\\\\"2025-03-21 10:32:12 活体检测阶段结束\\\\\\"\\\\n ]\\"\\n ],\\n \\"ExtInfo\\": \\"{}\\",\\n \\"LogStatisticsInfo\\": \\"{\\\\n \\\\\\"faceOverTimes\\\\\\": 0,\\\\n \\\\\\"hasFaceOverTimes\\\\\\": false,\\\\n \\\\\\"hasFacePermissionRefuse\\\\\\": false,\\\\n \\\\\\"hasOcrEdit\\\\\\": true,\\\\n \\\\\\"hasOcrEditOverTimes\\\\\\": false,\\\\n \\\\\\"hasOcrOverTimes\\\\\\": true,\\\\n \\\\\\"hasOcrPermissionRefuse\\\\\\": false,\\\\n \\\\\\"ocrEditOverTimes\\\\\\": 0,\\\\n \\\\\\"ocrEditTimes\\\\\\": 1,\\\\n \\\\\\"ocrOverTimes\\\\\\": 1,\\\\n \\\\\\"pageStayTimeInfo\\\\\\": {\\\\n \\\\\\"LOADING\\\\\\": \\\\\\"1615\\\\\\",\\\\n \\\\\\"OCR_SCAN\\\\\\": \\\\\\"37446\\\\\\",\\\\n \\\\\\"OCR_RESULT\\\\\\": \\\\\\"1338\\\\\\",\\\\n \\\\\\"FACE\\\\\\": \\\\\\"8707\\\\\\"\\\\n }\\\\n }\\",\\n \\"LogInfoEn\\": [\\n \\"[\\\\n \\\\\\"2025-03-21 10:31:25 LOADING_ENTER\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:25 LOADING_EXIT\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 GUIDE_PAGE_SHOW\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:39 GUIDE_PAGE_LEAVE\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:42 FACE_ENTER\\\\\\",\\\\n \\\\\\"2025-03-21 10:31:43 FACE_EXIT\\\\\\"\\\\n]\\"\\n ],\\n \\"InterruptPageEn\\": \\"LOADING\\"\\n }\\n}","type":"json"}]', - 'title' => 'Authentication Log Query Interface', - 'translator' => 'machine', - ], - 'AddFaceRecord' => [ - 'summary' => '人脸图片入库', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Indonesian authoritative data source authentication', + 'summary' => 'Verifies the identity of an Indonesian user by calling the authoritative source API in a standalone business scenario.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"hk573be80f944d95ac812e0*******a8\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtSourceInfo\\": \\"{\\\\n \\\\\\"govId\\\\\\": 1.0,\\\\n \\\\\\"fullName\\\\\\": 1.0,\\\\n \\\\\\"dob\\\\\\": 0.9,\\\\n \\\\\\"selfiePhoto\\\\\\": 0.8777,\\\\n \\\\\\"liveness\\\\\\": 0.1152,\\\\n \\\\\\"imgManipulationScore\\\\\\": 0.2253\\\\n}\\"\\n }\\n}","type":"json"}]', + ], + 'Initialize' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeCode' => '149600', + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH', 'FEATUREcloudauth6RJHVQ'], ], 'parameters' => [ [ - 'name' => 'FaceGroupCode', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'sgl****7uc', - ], + 'name' => 'ProductCode', + 'in' => 'query', + 'schema' => ['description' => 'The product solution to use.'."\n" + .'>For more information, see the official documentation: https://www.alibabacloud.com/help/zh/ekyc/latest/product-introduction?spm=a2c63.p38356.0.i1', 'type' => 'string', 'required' => false, 'example' => 'eKYC', 'title' => ''], ], [ - 'name' => 'ProductCode', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'FACE_ENROLL', - ], + 'name' => 'MerchantBizId', + 'in' => 'query', + 'schema' => ['description' => 'The merchant-defined unique business ID used for subsequent troubleshooting. The value can contain letters and digits and can be up to 32 characters in length. Make sure the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a***353888', 'title' => ''], + ], + [ + 'name' => 'MetaInfo', + 'in' => 'query', + 'schema' => ['description' => 'The Metainfo environment parameter. Obtain this value by using the client SDK.', 'type' => 'string', 'required' => false, 'example' => '{\\"bioMetaInfo\\":\\"4.1.0:2916352,0\\",\\"deviceType\\":\\"web\\",\\"ua\\":\\"Mozilla/5.0 (Macintosh', 'title' => ''], + ], + [ + 'name' => 'DocType', + 'in' => 'query', + 'schema' => ['description' => 'The document type.'."\n" + .'>For the eKYC_PRO and ID_OCR_MAX solutions, see the official documentation: https://www.alibabacloud.com/help/zh/ekyc/latest/certificate-code-table?spm=a2c63.p38356.help-menu-445633.d_2_8_2_0.279147abwKAWbr'."\n" + ."\n" + .'>For the ID_OCR, eKYC, and eKYC_MIN solutions, see the official documentation for the document type list: https://www.alibabacloud.com/help/zh/ekyc/latest/gnhekqy05ni51m4c?spm=a2c63.p38356.help-menu-445633.d_2_3_1_0_0_0.6243244777KoZ7', 'type' => 'string', 'required' => false, 'example' => '00000001'."\n", 'title' => ''], ], [ 'name' => 'MerchantUserId', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '130A2C10B9EE4D8488E35384FF03hst', - ], + 'in' => 'query', + 'schema' => ['description' => 'A custom user ID or another identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize this field value in advance, for example, by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '1221****6543', 'title' => ''], ], [ - 'name' => 'FacePicture', + 'name' => 'SceneCode', + 'in' => 'query', + 'schema' => ['description' => 'The scene code. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => '123****123', 'title' => ''], + ], + [ + 'name' => 'Pages', + 'in' => 'query', + 'schema' => ['description' => 'The capture page configuration. Use commas (,) to connect multiple pages. Valid values:'."\n" + .'- **01**: the portrait side of the document'."\n" + ."\n" + .'- **01,02**: the portrait side and the back side of the document'."\n" + ."\n" + .'> When this value is set to 01,02, only Chinese ID cards and Vietnamese ID cards are supported.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], + ], + [ + 'name' => 'FacePictureBase64', 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'base64', - ], + 'schema' => ['description' => 'The Base64-encoded face photo. If you use FacePictureBase64 to pass in the face photo, check the photo size and do not pass in an excessively large photo.', 'type' => 'string', 'required' => false, 'example' => 'Base64', 'title' => ''], ], [ 'name' => 'FacePictureUrl', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'https://www.xxxxx.com/test.jpg', - ], + 'in' => 'query', + 'schema' => ['description' => 'The URL of the face photo. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => '***', 'title' => ''], ], [ - 'name' => 'FacePictureFile', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'InputStream', - 'isFileTransferUrl' => true, - ], + 'name' => 'Crop', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable cropping. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], ], [ - 'name' => 'FaceQualityCheck', - 'in' => 'formData', + 'name' => 'Ocr', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable OCR. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'IdFaceQuality', + 'in' => 'query', + 'schema' => ['description' => 'The face image quality. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'IdSpoof', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable document anti-spoofing detection. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'ReturnUrl', + 'in' => 'query', + 'schema' => ['description' => 'The client-side callback URL.', 'type' => 'string', 'required' => false, 'example' => 'http*****', 'title' => ''], + ], + [ + 'name' => 'Authorize', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable authoritative identity verification. Currently, this parameter applies only to second-generation ID cards in the Chinese mainland. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'DocScanMode', + 'in' => 'query', + 'schema' => ['description' => 'The document capture mode.'."\n" + ."\n" + .'- manual: manual capture.'."\n" + .'- auto: automatic capture (default).', 'type' => 'string', 'required' => false, 'example' => 'manual', 'title' => ''], + ], + [ + 'name' => 'ProductFlow', + 'in' => 'query', + 'schema' => ['description' => 'The order of document and face capture:'."\n" + ."\n" + .'- DOC_FACE (default)'."\n" + .'- FACE_DOC'."\n" + ."\n" + .'Note: This parameter is required only when ProductCode is set to KYC_GLOBAL.', 'type' => 'string', 'required' => false, 'example' => 'DOC_FACE', 'title' => ''], + ], + [ + 'name' => 'CallbackUrl', + 'in' => 'query', + 'schema' => ['description' => 'The callback URL for the verification result. The callback request method is GET by default. The callback URL must start with https. After the verification is complete, the platform calls back this URL and automatically appends the transactionId, passed, and subcode fields.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com?callbackToken=1000004826&transactionId=shaxxxx&passed=Y&subCode=200', 'title' => ''], + ], + [ + 'name' => 'CallbackToken', + 'in' => 'query', + 'schema' => ['description' => 'The security token used for anti-replay and anti-tampering verification. If this parameter is specified, the CallbackToken field is included in the callback URL.', 'type' => 'string', 'required' => false, 'example' => '7ca5c68d869344ea8eeb30cdfd544544-6358700', 'title' => ''], + ], + [ + 'name' => 'LanguageConfig', + 'in' => 'query', + 'schema' => ['description' => 'The language configuration. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => 'en', 'title' => ''], + ], + [ + 'name' => 'SecurityLevel', + 'in' => 'query', + 'schema' => ['description' => 'The pattern that represents different security levels of the verification flow. Valid values:'."\n" + ."\n" + .'01: normal pattern (default).'."\n" + .'02: safe mode, a relatively strict pattern that is active for high-risk scenarios. (IDV product input parameter)', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], + ], + [ + 'name' => 'StyleConfig', + 'in' => 'query', + 'schema' => ['description' => 'The custom UI configuration. Convert your custom UI configuration to a JSON string based on the configuration template and pass it in through this parameter. For more information, see [IDV UI style customization](https://www.alibabacloud.com/help/zh/ekyc/latest/idv-kyc-custom-skin?spm=a2c63.p38356.0.i60).', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "guidepage:": {****}, '."\n" + .' "ocrPage": {****},'."\n" + .' "ocrResultPage": [****],'."\n" + .' "facePage": {****},'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'ExperienceCode', + 'in' => 'query', + 'schema' => ['description' => 'The experience code.', 'type' => 'string', 'required' => false, 'example' => '9be7b7d0180041219e5ab03ac6dab5fb', 'title' => ''], + ], + [ + 'name' => 'DocVideo', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to save an evidence video.'."\n" + ."\n" + .'- N: not required (default).'."\n" + ."\n" + .'- Y: a face verification video (1 to 2 seconds) is captured during the verification process and returned through the query API.'."\n" + ."\n" + .'> Because video files are large, the system discards the video file when the network is unstable to prioritize the transmission of required verification images.', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'Model', + 'in' => 'query', + 'schema' => ['description' => 'The type of liveness detection:'."\n" + ."\n" + .'- **LIVENESS** (default): blink action liveness detection.'."\n" + ."\n" + .'- **PHOTINUS_LIVENESS**: blink action liveness + colorful liveness dual detection.'."\n" + ."\n" + .'> '."\n" + .'> - For supported SDK versions, see [SDK release notes](https://www.alibabacloud.com/help/zh/ekyc/latest/sdk-publishing-record?spm=a2c63.p38356.0.i99).'."\n" + .'> - Colorful liveness dual detection is not supported on PC.', 'type' => 'string', 'required' => false, 'example' => 'PHOTINUS_LIVENESS', 'title' => ''], + ], + [ + 'name' => 'IdThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The custom OCR quality detection threshold mode. Valid values:'."\n" + .'- **0**: standard mode'."\n" + .'- **1**: strict mode'."\n" + .'- **2**: loose mode'."\n" + .'- **3** (default): quality detection disabled', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'ShowAlbumIcon', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display the album upload entry during the document OCR recognition phase:'."\n" + ."\n" + .'- **1**: display (default)'."\n" + ."\n" + .'- **0**: do not display', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ShowOcrResult', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display the recognition result page during the document OCR recognition phase:'."\n" + ."\n" + .'- **1**: display (default)'."\n" + ."\n" + .'- **0**: do not display', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ShowGuidePage', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display the guide page:'."\n" + ."\n" + .'- **1**: display (default)'."\n" + ."\n" + .'- **0**: do not display', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ProcedurePriority', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to allow a degraded processing method when compatibility issues occur during mobile H5 verification.'."\n" + ."\n" + .'- **url (default)**: degradation supported. The page displays the verification URL, and the user can copy the URL or switch browsers to continue verification.'."\n" + ."\n" + .'- **keep**: degradation not supported. The error reason is returned directly, and the verification flow ends.'."\n" + ."\n\n" + .'> '."\n" + .'> - This parameter is not supported on PC.'."\n" + .'> - If the business scenario involves completing verification within an in-app embedded web page, set this parameter to keep to disallow URL degradation.', 'type' => 'string', 'required' => false, 'example' => 'url', 'title' => ''], + ], + [ + 'name' => 'AppQualityCheck', + 'in' => 'query', + 'schema' => ['description' => '<warning>This feature is **not supported by the Web SDK**. To use this feature, integrate the App SDK.</warning>'."\n" + ."\n" + .'Specifies whether to enable strict face quality detection:'."\n" + .'- Y: enabled (default)'."\n" + .'- N: disabled', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'DocPageConfig', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The custom configuration for capturing additional pages.', + 'type' => 'array', + 'items' => ['description' => 'The capture side.', 'type' => 'string', 'required' => false, 'example' => 'OCR_ID_BACK', 'title' => ''], 'required' => false, - 'example' => 'N', + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'MRTDInput', + 'in' => 'query', + 'schema' => ['description' => 'The input source for MRTD verification parameters. This parameter is required for decrypting information when reading document chip data via NFC.'."\n" + ."\n" + .'- **0**: user input'."\n" + ."\n" + .'- **1**: OCR reading'."\n" + ."\n" + .'- **2**: API input', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'DocumentNumber', + 'in' => 'query', + 'schema' => ['description' => 'The document number.'."\n" + ."\n" + .'Required when **MRTDInput = 2**.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'DateOfBirth', + 'in' => 'query', + 'schema' => ['description' => 'The date of birth on the document.'."\n" + ."\n" + .'Required when **MRTDInput = 2**.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'DateOfExpiry', + 'in' => 'query', + 'schema' => ['description' => 'The expiration date on the document.'."\n" + ."\n" + .'Required when **MRTDInput** = 2.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'UseNFC', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable NFC verification when **DocType** is set to 01000000 (global passport).'."\n" + .'- **Y** (enabled)'."\n" + .'- **N** (disabled)', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'ChameleonFrameEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the adaptive color-changing window frame.'."\n" + .'- **Y**: enabled'."\n" + .'- **N**: disabled', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'DocNo', + 'in' => 'query', + 'schema' => ['description' => 'The document number of the user.', 'type' => 'string', 'required' => false, 'example' => '411xxxxxxxxxxx0001', 'title' => ''], + ], + [ + 'name' => 'DocName', + 'in' => 'query', + 'schema' => ['description' => 'The real name of the user.', 'type' => 'string', 'required' => false, 'example' => '张三', 'title' => ''], + ], + [ + 'name' => 'EditOcrResult', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the recognition result page is editable during the document OCR recognition phase:'."\n" + ."\n" + .'- **0**: not editable'."\n" + ."\n" + .'- **1** (default): editable', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'VerifyModel', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The verification type.', 'type' => 'string', 'example' => '0', 'required' => false], + ], + [ + 'name' => 'FaceGroupCodes', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The face libraries for comparison.', 'type' => 'string', 'example' => '0e0c34a77f', 'required' => false], + ], + [ + 'name' => 'TargetFacePicture', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The Base64-encoded portrait photo.', 'type' => 'string', 'example' => 'base64', 'required' => false], + ], + [ + 'name' => 'TargetFacePictureUrl', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The URL of the portrait image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'example' => 'https://www.xxxxx.com/1.jpg', 'required' => false], + ], + [ + 'name' => 'AutoRegistration', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable automatic registration.', 'type' => 'string', 'example' => '0', 'required' => false], + ], + [ + 'name' => 'FaceRegisterGroupCode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The face registration library.', 'type' => 'string', 'example' => '0e0c34a77f', 'required' => false], + ], + [ + 'name' => 'SaveFacePicture', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to save the face picture.', 'type' => 'string', 'example' => '0', 'required' => false], + ], + [ + 'name' => 'FaceVerifyThreshold', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The face verification threshold.', 'type' => 'string', 'example' => '0.5', 'required' => false], + ], + [ + 'name' => 'ReturnFaces', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The number of duplicate faces returned.', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The Indonesian phone number. The format must start with +62 followed by 9 to 11 digits. This field takes effect only when Authorize is set to T.'."\n" + ."\n" + .'> '."\n" + .'> - This field is required only when the Indonesian data source is enabled.', 'type' => 'string', 'required' => false, 'example' => '+6281293671234', 'title' => ''], + ], + [ + 'name' => 'Email', + 'in' => 'query', + 'schema' => ['description' => 'The Indonesian email address. This field takes effect only when Authorize is set to T.'."\n" + ."\n" + .'> '."\n" + .'> - This field is required only when the Indonesian data source is enabled.', 'type' => 'string', 'required' => false, 'example' => 'evxxx@imigxxxxx.go.id', 'title' => ''], + ], + [ + 'name' => 'TemplateType', + 'in' => 'query', + 'schema' => ['description' => 'The execution order of liveness detection actions in TemplateConfig.'."\n" + .'This parameter is required when Model is set to TEMPLATE.'."\n" + ."\n" + .'- Seq: actions are executed in the order configured in TemplateConfig from left to right.'."\n" + .'- Ran: actions are executed in random order. When this option is selected, TemplateConfig must contain more than one action.', 'type' => 'string', 'required' => false, 'example' => 'Seq', 'title' => ''], + ], + [ + 'name' => 'TemplateConfig', + 'in' => 'query', + 'schema' => ['description' => 'The custom action pool configuration for liveness detection.'."\n" + .'This parameter is required when Model is set to TEMPLATE.'."\n" + .'Configuration rule: separate multiple action codes with commas (,). Best Practices: include at least one frontal face action (such as blink) and no more than 3 actions in total.'."\n" + .'Action lookup table:'."\n" + ."\n" + .'- Blink: 01'."\n" + .'- Open Mouth: 02'."\n" + .'- Shake Head Left: 03'."\n" + .'- Shake Head Right: 04'."\n" + .'- Move Farther: 05'."\n" + .'- Move Closer: 06'."\n" + .'- Photinus: 07', 'type' => 'string', 'required' => false, 'example' => '01,02,07', 'title' => ''], + ], + [ + 'name' => 'TemplateRanCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of actions randomly selected from TemplateConfig.'."\n" + .'This parameter takes effect only when TemplateType is set to Ran.'."\n" + ."\n" + .'- Validation rules:'."\n" + .'- The value must be greater than 1. The value must be less than or equal to the total number of actions configured in TemplateConfig. If not specified, the default value equals the total number of actions in TemplateConfig.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'OcrValueStandard', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to return additional OCR recognition standardized format fields:'."\n" + ."\n" + .'0: no (default)'."\n" + ."\n" + .'1: yes', 'type' => 'string', 'example' => '0', 'default' => '0', 'required' => false], + ], + [ + 'name' => 'FaceAttributeCheck', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], ], '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' => '7A0D192A-CC0C-5DE5-A3B6-A14CF45508F2', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Result' => [ - 'description' => '', + 'description' => 'The response result.', 'type' => 'object', 'properties' => [ - 'Passed' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Y', - ], - 'ExtFaceInfo' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{'."\n" - .'"faceQuality": "HIGH"'."\n" - .'}'."\n" - ."\n", - ], + 'TransactionId' => ['description' => 'The verification transaction ID.', 'type' => 'string', 'example' => '08573be80f944d95ac812e019e3655a8', 'title' => ''], + 'ClientCfg' => ['description' => 'The client configuration.', 'type' => 'string', 'example' => '***', 'title' => ''], + 'TransactionUrl' => ['description' => 'The web verification URL.', 'type' => 'string', 'example' => 'http****', 'title' => ''], + 'Protocol' => ['description' => 'The standard encryption protocol for verification.'."\n" + ."\n" + .'> This field is required when you use iframe embedding for H5 web page integration.', 'type' => 'string', 'example' => 'hksb7ba1b28130d24e015d*********', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7A0D192A-CC0C-5DE5-A3B6-A14CF45508F2\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Passed\\": \\"Y\\",\\n \\"ExtFaceInfo\\": \\"{\\\\n\\\\\\"faceQuality\\\\\\": \\\\\\"HIGH\\\\\\"\\\\n}\\\\n\\\\n\\"\\n }\\n}","type":"json"}]', - ], - 'DownloadVerifyRecordIntl' => [ - 'summary' => 'Console Export Records', - 'methods' => [ - 'post', - 'get', + 'title' => 'Init authentication', + 'summary' => 'Initializes a verification session.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Initialize'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Initialize', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"ClientCfg\\": \\"***\\",\\n \\"TransactionUrl\\": \\"http****\\",\\n \\"Protocol\\": \\"hksb7ba1b28130d24e015d*********\\"\\n }\\n}","type":"json"}]', + ], + 'InitializeV2' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '225500', - 'abilityTreeNodes' => [ - 'FEATUREcloudauth6RJHVQ', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '149600', + 'abilityTreeNodes' => ['FEATUREcloudauthCW0JNH', 'FEATUREcloudauth6RJHVQ'], ], 'parameters' => [ [ - 'name' => 'Code', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Query code.', - 'type' => 'string', - 'required' => false, - 'example' => 'vrf_intl_verify_record_real_id_idv_invoke_statistics_query', - ], + 'schema' => ['description' => 'The product solution to use.'."\n" + ."\n" + .'>Note: For more information, see the official documentation: https://www.alibabacloud.com/help/zh/ekyc/latest/product-introduction?spm=a2c63.p38356.0.i1', 'type' => 'string', 'required' => false, 'example' => 'eKYC', 'title' => ''], ], [ - 'name' => 'Param', + 'name' => 'MerchantBizId', 'in' => 'query', - 'schema' => [ - 'description' => 'Parameters related to the export and download query task.', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"productCode\\":\\"FACE_LIVENESS\\",\\"startDs\\":\\"20251121\\",\\"endDs\\":\\"20251128\\",\\"language\\":\\"en\\"}', - ], + '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. Ensure that the value is unique.', 'type' => 'string', 'required' => false, 'example' => 'e0c34a***353888', 'title' => ''], ], [ - 'name' => 'ProductType', + 'name' => 'MetaInfo', 'in' => 'query', - 'schema' => [ - 'description' => 'Product Code.', - 'type' => 'string', - 'required' => false, - 'example' => 'KYC', - ], + 'schema' => ['description' => 'The Metainfo environment parameter. Obtain this value from the client SDK.', 'type' => 'string', 'required' => false, 'example' => '{\\"bioMetaInfo\\":\\"4.1.0:2916352,0\\",\\"deviceType\\":\\"web\\",\\"ua\\":\\"Mozilla/5.0\\"}', 'title' => ''], ], [ - 'name' => 'DownloadMode', + 'name' => 'DocType', 'in' => 'query', - 'schema' => [ - 'description' => 'Download mode:'."\n" - ."\n" - .'- **async**: Asynchronous'."\n" - .'- **sync**: Synchronous', - 'type' => 'string', - 'required' => false, - 'example' => 'async', - ], + 'schema' => ['description' => 'The document type.'."\n" + .'>For eKYC_PRO and ID_OCR_MAX solutions, see the official documentation: https://www.alibabacloud.com/help/zh/ekyc/latest/certificate-code-table?spm=a2c63.p38356.help-menu-445633.d_2_8_2_0.279147abwKAWbr'."\n" + ."\n" + .'>For ID_OCR, eKYC, and eKYC_MIN solutions, see the official documentation for the document type list: https://www.alibabacloud.com/help/zh/ekyc/latest/gnhekqy05ni51m4c?spm=a2c63.p38356.help-menu-445633.d_2_3_1_0_0_0.6243244777KoZ7', 'type' => 'string', 'required' => false, 'example' => '00000001'."\n", 'title' => ''], ], [ - 'name' => 'BizType', + 'name' => 'MerchantUserId', 'in' => 'query', + 'schema' => ['description' => 'A custom user ID or other identifier that can identify a specific user, such as a phone number or email address. We strongly recommend that you desensitize this field value in advance, such as by hashing the value.', 'type' => 'string', 'required' => false, 'example' => '1221****6543', 'title' => ''], + ], + [ + 'name' => 'SceneCode', + 'in' => 'query', + 'schema' => ['description' => 'The scene code. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => '1234567890', 'title' => ''], + ], + [ + 'name' => 'Pages', + 'in' => 'query', + 'schema' => ['description' => 'The collection page configuration. Use commas to connect multiple pages. Valid values:'."\n" + .'- **01**: document portrait page'."\n" + ."\n" + .'- **01,02**: document portrait page and back page'."\n" + ."\n" + .'> When this value is set to 01,02, only Chinese ID cards and Vietnamese ID cards are supported.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], + ], + [ + 'name' => 'FacePictureBase64', + 'in' => 'formData', + 'schema' => ['description' => 'The Base64-encoded face photo. If you use FacePictureBase64 to pass in the face photo, check the photo size and do not pass in an excessively large photo.', 'type' => 'string', 'required' => false, 'example' => 'Base64', 'title' => ''], + ], + [ + 'name' => 'FacePictureUrl', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the face photo. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'required' => false, 'example' => 'https://digital-face-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg', 'title' => ''], + ], + [ + 'name' => 'Crop', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable cropping. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'Ocr', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable OCR. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'IdFaceQuality', + 'in' => 'query', + 'schema' => ['description' => 'The face image quality. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'IdSpoof', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable document anti-spoofing detection. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => 'Y', 'title' => ''], + ], + [ + 'name' => 'ReturnUrl', + 'in' => 'query', + 'schema' => ['description' => 'The client-side callback URL.', 'type' => 'string', 'required' => false, 'example' => 'http*****', 'title' => ''], + ], + [ + 'name' => 'Authorize', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable authoritative identity verification. Currently, this applies only to second-generation ID cards in the Chinese mainland. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => 'T', 'title' => ''], + ], + [ + 'name' => 'DocScanMode', + 'in' => 'query', + 'schema' => ['description' => 'The document capture photo mode.'."\n" + ."\n" + .'- manual: manual photo capture.'."\n" + .'- auto: automatic photo capture (default).', 'type' => 'string', 'required' => false, 'example' => 'manual', 'title' => ''], + ], + [ + 'name' => 'ProductFlow', + 'in' => 'query', + 'schema' => ['description' => 'The order of document and face verification:'."\n" + ."\n" + .'- DOC_FACE (default)'."\n" + .'- FACE_DOC'."\n" + ."\n" + .'Note: This parameter is required only when ProductCode is KYC_GLOBAL.', 'type' => 'string', 'required' => false, 'example' => 'DOC_FACE', 'title' => ''], + ], + [ + 'name' => 'CallbackUrl', + 'in' => 'query', + 'schema' => ['description' => 'The callback URL for authentication results. The callback request method is GET by default. The callback URL must start with https. After authentication is complete, the platform calls back this URL and automatically appends the transactionId, passed, and subcode fields.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com?callbackToken=1000004826&transactionId=shaxxxx&passed=Y&subCode=200', 'title' => ''], + ], + [ + 'name' => 'CallbackToken', + 'in' => 'query', + 'schema' => ['description' => 'The security token used for anti-replay and anti-tampering verification. If this parameter is passed in, the CallbackToken field is displayed in the callback URL.', 'type' => 'string', 'required' => false, 'example' => '7ca5c68d869344ea8eeb30cdfd544544-6358700', 'title' => ''], + ], + [ + 'name' => 'LanguageConfig', + 'in' => 'query', + 'schema' => ['description' => 'The language configuration. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => 'en', 'title' => ''], + ], + [ + 'name' => 'SecurityLevel', + 'in' => 'query', + 'schema' => ['description' => 'The pattern that represents different security levels of the authentication flow. Valid values:'."\n" + ."\n" + .'01: normal pattern (default).'."\n" + .'02: safe mode, a relatively strict pattern that is active for high-risk scenarios. This is an input parameter for the IDV product.', 'type' => 'string', 'required' => false, 'example' => '01', 'title' => ''], + ], + [ + 'name' => 'StyleConfig', + 'in' => 'query', + 'schema' => ['description' => 'The custom UI configuration. Convert your custom UI configuration to a JSON string based on the configuration template and pass it in through this parameter. For more information, see [IDV UI style customization](https://www.alibabacloud.com/help/zh/ekyc/latest/idv-kyc-custom-skin?spm=a2c63.p38356.0.i60).', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "guidepage:": {****}, '."\n" + .' "ocrPage": {****},'."\n" + .' "ocrResultPage": [****],'."\n" + .' "facePage": {****},'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'ExperienceCode', + 'in' => 'query', + 'schema' => ['description' => 'The experience code.', 'type' => 'string', 'required' => false, 'example' => '9be7b7d0180041219e5ab03ac6dab5fb', 'title' => ''], + ], + [ + 'name' => 'DocVideo', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to save the verification video.'."\n" + ."\n" + .'- N: not required (default).'."\n" + ."\n" + .'- Y: the system captures a video of the user\'s face verification process (1–2 seconds) during authentication and returns it through the query API.'."\n" + ."\n" + .'> Because video files are large, the system discards video files when the network is unstable to prioritize the transmission of images required for authentication.', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'Model', + 'in' => 'query', + 'schema' => ['description' => 'The type of liveness detection to perform:'."\n" + ."\n" + .'- **LIVENESS** (default): blink action liveness detection.'."\n" + ."\n" + .'- **PHOTINUS_LIVENESS**: blink action liveness + colorful liveness dual detection.'."\n" + ."\n" + .'> '."\n" + .'> - For supported SDK versions, see [SDK release notes](https://www.alibabacloud.com/help/zh/ekyc/latest/sdk-publishing-record?spm=a2c63.p38356.0.i99).'."\n" + .'> - Colorful liveness dual detection is not supported on PC.', 'type' => 'string', 'required' => false, 'example' => 'PHOTINUS_LIVENESS', 'title' => ''], + ], + [ + 'name' => 'IdThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The custom OCR quality detection threshold mode:'."\n" + ."\n" + .'- 0: system default'."\n" + .'- 1: strict mode'."\n" + .'- 2: loose mode'."\n" + .'- 3 (default): disable quality detection', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'ShowAlbumIcon', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display the album upload entry during the document OCR recognition step:'."\n" + ."\n" + .'- **1**: display (default)'."\n" + ."\n" + .'- **0**: do not display', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ShowOcrResult', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display the recognition result page during the document OCR recognition step:'."\n" + ."\n" + .'- **1**: display (default)'."\n" + ."\n" + .'- **0**: do not display', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ShowGuidePage', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display the guide page:'."\n" + ."\n" + .'- **1**: display (default)'."\n" + ."\n" + .'- **0**: do not display', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ProcedurePriority', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to allow a degraded processing method when compatibility issues occur during mobile H5 authentication.'."\n" + ."\n" + .'- **url (default)**: degradation is supported. The page displays the authentication URL, and the user can copy the URL or shift to another browser to continue authentication.'."\n" + ."\n" + .'- **keep**: degradation is not supported. The error reason is returned directly and the authentication flow ends.'."\n" + ."\n\n" + .'> '."\n" + .'> - This switch is not supported on PC.'."\n" + .'> - If the common scenarios involve completing authentication within an in-app web page, set this parameter to keep to disallow URL replication degradation.', 'type' => 'string', 'required' => false, 'example' => 'url', 'title' => ''], + ], + [ + 'name' => 'AppQualityCheck', + 'in' => 'query', + 'schema' => ['description' => '<warning>This feature is **not supported by Web SDK**. To use this feature, use the App SDK.</warning>'."\n" + ."\n" + .'Specifies whether to enable strict face quality detection:'."\n" + .'- Y: enable (default)'."\n" + .'- N: do not enable', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'DocPageConfig', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Business type:'."\n" - .'- INVOKE_STATISTICS'."\n" - .'- INVOKE_RECORD', - 'type' => 'string', + 'description' => 'The custom configuration for collecting additional pages.', + 'type' => 'array', + 'items' => ['description' => 'The collection page.', 'type' => 'string', 'required' => false, 'example' => 'OCR_ID_BACK', 'title' => ''], 'required' => false, - 'example' => 'INVOKE_RECORD', + 'example' => 'OCR_ID_BACK', + 'title' => '', ], ], + [ + 'name' => 'MRTDInput', + 'in' => 'query', + 'schema' => ['description' => 'The input source for MRTD verification parameters. This parameter is required for decrypting information when reading document chip data via NFC.'."\n" + ."\n" + .'- **0**: user input'."\n" + ."\n" + .'- **1**: OCR reading'."\n" + ."\n" + .'- **2**: API input', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'DocumentNumber', + 'in' => 'query', + 'schema' => ['description' => 'The document number.'."\n" + ."\n" + .'Required when **MRTDInput = 2**.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'DateOfBirth', + 'in' => 'query', + 'schema' => ['description' => 'The date of birth on the document.'."\n" + ."\n" + .'Required when **MRTDInput = 2**.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'DateOfExpiry', + 'in' => 'query', + 'schema' => ['description' => 'The expiry date on the document.'."\n" + ."\n" + .'Required when **MRTDInput** = 2.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'UseNFC', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable NFC verification when **DocType** = 01000000 (global passport).'."\n" + .'- **Y** (enable)'."\n" + .'- **N** (do not enable)', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'ChameleonFrameEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the adaptive color-changing window frame.'."\n" + .'- **Y**: enable'."\n" + .'- **N**: do not enable', 'type' => 'string', 'required' => false, 'example' => 'N', 'title' => ''], + ], + [ + 'name' => 'DocNo', + 'in' => 'query', + 'schema' => ['description' => 'The document number of the user.', 'type' => 'string', 'required' => false, 'example' => '410***************'."\n", 'title' => ''], + ], + [ + 'name' => 'DocName', + 'in' => 'query', + 'schema' => ['description' => 'The real name of the user.', 'type' => 'string', 'required' => false, 'example' => '张**', 'title' => ''], + ], + [ + 'name' => 'EditOcrResult', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the recognition result page is editable during the document OCR recognition step:'."\n" + ."\n" + .'- **0**: not editable'."\n" + ."\n" + .'- **1** (default): editable', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'VerifyModel', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The verification type.', 'type' => 'string', 'example' => '0', 'required' => false], + ], + [ + 'name' => 'FaceGroupCodes', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The face libraries for comparison.', 'type' => 'string', 'example' => '0e0c34a77f', 'required' => false], + ], + [ + 'name' => 'TargetFacePicture', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The Base64-encoded portrait photo.', 'type' => 'string', 'example' => 'base64', 'required' => false], + ], + [ + 'name' => 'TargetFacePictureUrl', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The URL of the portrait image. The URL must be a publicly accessible HTTP or HTTPS link.', 'type' => 'string', 'example' => 'https://www.xxxxx.com/1.jpg', 'required' => false], + ], + [ + 'name' => 'AutoRegistration', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable auto-registration.', 'type' => 'string', 'example' => '0', 'required' => false], + ], + [ + 'name' => 'FaceRegisterGroupCode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The face registration library.', 'type' => 'string', 'example' => '0e0c34a77f', 'required' => false], + ], + [ + 'name' => 'SaveFacePicture', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to save the face picture.', 'type' => 'string', 'example' => '0', 'required' => false], + ], + [ + 'name' => 'FaceVerifyThreshold', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The face verification threshold.', 'type' => 'string', 'example' => '0.5', 'required' => false], + ], + [ + 'name' => 'ReturnFaces', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The number of duplicate faces returned.', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The Indonesian phone number. The format must start with +62 followed by 9 to 11 digits. This field takes effect only when Authorize=T.'."\n" + ."\n" + .'> '."\n" + .'> - This field is required only when the Indonesian data source is enabled.', 'type' => 'string', 'required' => false, 'example' => '+6281293671234', 'title' => ''], + ], + [ + 'name' => 'Email', + 'in' => 'query', + 'schema' => ['description' => 'The Indonesian email address. This field takes effect only when Authorize=T.'."\n" + ."\n" + .'>Note:'."\n" + .'This field is required only when the Indonesian data source is enabled.', 'type' => 'string', 'required' => false, 'example' => 'evxxx@imigxxxxx.go.id', 'title' => ''], + ], + [ + 'name' => 'TemplateType', + 'in' => 'query', + 'schema' => ['description' => 'The execution order of liveness detection actions in TemplateConfig.'."\n" + .'Required when Model is TEMPLATE.'."\n" + ."\n" + .'- Seq: execute in the order configured in TemplateConfig from left to right.'."\n" + .'- Ran: execute in random order. When this option is selected, TemplateConfig must contain more than one action.', 'type' => 'string', 'required' => false, 'example' => 'Seq', 'title' => ''], + ], + [ + 'name' => 'TemplateConfig', + 'in' => 'query', + 'schema' => ['description' => 'The custom action pool configuration parameter for liveness detection.'."\n" + .'Required when Model is TEMPLATE.'."\n" + .'Configuration rule: separate multiple action codes with commas. Best practice: include at least one frontal face action (such as blink) and no more than 3 actions in total.'."\n" + .'Action lookup table:'."\n" + ."\n" + .'- Blink: 01'."\n" + .'- Open Mouth: 02'."\n" + .'- Shake Head Left: 03'."\n" + .'- Shake Head Right: 04'."\n" + .'- Move Farther: 05'."\n" + .'- Move Closer: 06'."\n" + .'- Photinus: 07', 'type' => 'string', 'required' => false, 'example' => '01,02,07', 'title' => ''], + ], + [ + 'name' => 'TemplateRanCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of actions to randomly select from TemplateConfig.'."\n" + .'Takes effect only when TemplateType is Ran.'."\n" + ."\n" + .'- Validation rules:'."\n" + .'- The value must be greater than 1. The value must be less than or equal to the total number of actions configured in TemplateConfig. If not specified, the default value equals the total number of actions in TemplateConfig.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'OcrValueStandard', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to return additional OCR recognition standardized format fields:'."\n" + ."\n" + .'0: no (default)'."\n" + ."\n" + .'1: yes', 'type' => 'string', 'example' => '0', 'default' => '0', 'required' => false], + ], + [ + 'name' => 'TargetFacePictureFile', + 'in' => 'query', + 'schema' => ['description' => 'The file stream of the base face image.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'FacePictureFile', + 'in' => 'query', + 'schema' => ['description' => 'The file stream of the face photo.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'InputStream', 'title' => ''], + ], + [ + 'name' => 'FaceAttributeCheck', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', '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' => '86C40EC3-5940-5F47-995C-BFE90B70E540'."\n", - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'Returned data.', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '86C40EC3-5940-5F47-995C-BFE90B70E540'."\n"], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The response result.', 'type' => 'object', 'properties' => [ - 'DownloadTaskId' => [ - 'description' => 'Task ID, returned in asynchronous mode, used later with QueryDownloadTaskIntl to download the exported file.', - 'type' => 'string', - 'example' => '202511284106866', - ], - 'Url' => [ - 'description' => 'Exported file download link.', - 'type' => 'string', - 'example' => 'https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxx/KYC_INVOKE_STATISTICS.xlxs', - ], + 'TransactionId' => ['description' => 'The unique ID of the authentication request.', 'type' => 'string', 'example' => '4ab0b***cbde97', 'title' => ''], + 'ClientCfg' => ['description' => 'The client configuration.', 'type' => 'string', 'example' => '***', 'title' => ''], + 'TransactionUrl' => ['description' => 'The web authentication URL.', 'type' => 'string', 'example' => 'http****', 'title' => ''], + 'Protocol' => ['description' => 'The standard authentication encryption protocol.'."\n" + ."\n" + .'> This field is required for H5 web integration using iframe embedding.', 'type' => 'string', 'example' => 'hksb7ba1b28130d24e015d*********', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'Init authentication', + 'summary' => 'Initializes an authentication session.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\\\n\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"DownloadTaskId\\": \\"202511284106866\\",\\n \\"Url\\": \\"https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/console/xxxxxx/KYC_INVOKE_STATISTICS.xlxs\\"\\n }\\n}","type":"json"}]', - 'title' => 'Download Authentication Records', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:InitializeV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\\\n\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"4ab0b***cbde97\\",\\n \\"ClientCfg\\": \\"***\\",\\n \\"TransactionUrl\\": \\"http****\\",\\n \\"Protocol\\": \\"hksb7ba1b28130d24e015d*********\\"\\n }\\n}","type":"json"}]', ], - 'QueryFaceGroup' => [ - 'summary' => 'Query Face Group', + 'KeepaliveIntl' => [ + 'summary' => 'Configures client connection keep-alive settings.', 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5596,187 +5957,287 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', + 'abilityTreeNodes' => ['FEATUREcloudauthNOQ41U'], + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Result' => ['description' => 'The returned result.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Configure client connection keep-alive', + 'description' => 'Configures client connection keep-alive settings.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:KeepaliveIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"Result\\": \\"SUCCESS\\"\\n }\\n}","type":"json"}]', + ], + 'Mobile2MetaVerifyIntl' => [ + 'summary' => 'Verifies the identity of a phone number owner by using two-factor authentication.', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], + 'tenantRelevance' => 'tenant', + ], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'query', + 'name' => 'ProductCode', + 'in' => 'formData', + 'schema' => ['description' => 'The product code. Set this parameter to MOBILE_2META.', 'type' => 'string', 'required' => true, 'example' => 'MOBILE_2META', 'title' => ''], + ], + [ + 'name' => 'ParamType', + 'in' => 'formData', + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => true, 'example' => 'normal', 'title' => ''], + ], + [ + 'name' => 'UserName', + 'in' => 'formData', + '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 name in ciphertext as a 32-character lowercase MD5 string.', 'type' => 'string', 'required' => true, 'example' => '张*', '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" + .'- If ParamType is set to md5, pass in the phone number in ciphertext as a 32-character lowercase MD5 string.', 'type' => 'string', 'required' => true, 'example' => '186****1234', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test008', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', + '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' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Two-factor phone number verification', + 'description' => 'Pass in a phone number and name to verify their authenticity and consistency through an authoritative data source. Before using this operation, make sure that you fully understand the billing method and pricing of the two-factor phone number verification service.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'GroupCode', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'groupCode001', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Mobile2MetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + ], + 'Mobile3MetaVerifyIntl' => [ + 'summary' => 'Verifies the authenticity and consistency of a phone number, name, and ID card number against an authoritative data source. If the information is inconsistent, returns the reason for the inconsistency.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '199210', + 'abilityTreeNodes' => ['FEATUREcloudauthPZCZ2I'], + ], + 'parameters' => [ [ - 'name' => 'CurrentPage', + 'name' => 'ProductCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The product solution code. Fixed value: MOBILE_3META.', 'type' => 'string', 'required' => false, 'example' => 'MOBILE_3META', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ParamType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The parameter type. Valid values:'."\n" + ."\n" + .'- normal: not encrypted'."\n" + .'- md5: MD5-encrypted.', 'type' => 'string', 'required' => false, 'example' => 'normal', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'IdentifyNum', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The ID card number.'."\n" + ."\n" + .'- If ParamType is set to normal, enter the plaintext value.'."\n" + .'- If ParamType is set to md5, enter a 32-character lowercase MD5 string.', 'type' => 'string', 'required' => false, 'example' => '429001********8211'."\n", 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'UserName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'WpY9RBGa5Vrzxi3+mp2Cdw==', - ], + 'schema' => ['description' => 'The name.'."\n" + ."\n" + .'- If ParamType is set to normal, enter the plaintext value.'."\n" + .'- If ParamType is set to md5, enter a 32-character lowercase MD5 string.', 'type' => 'string', 'required' => false, 'example' => '张*'."\n", 'title' => ''], + ], + [ + 'name' => 'Mobile', + 'in' => 'query', + 'schema' => ['description' => 'The phone number.'."\n" + ."\n" + .'- If ParamType is set to normal, enter the plaintext value.'."\n" + .'- If ParamType is set to md5, enter a 32-character lowercase MD5 string.', 'type' => 'string', 'required' => false, 'example' => '186****1234', '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' => '5E63B760-0ECB-5C07-8503-A65C27876968', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TotalPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CurrentPage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Items' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '162261', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test-888', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'faceGroup001', - ], - 'Description' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'desc', - ], - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'D241532C-4EE9-5A2A-A5A5-C1FD98CE2EDD'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Result' => [ + 'description' => 'The verification result.', + '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' => ''], ], - ], - 'MaxResults' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'NextToken' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'N/zmQeG/x9TDWmaB/pbfBQ==', + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D241532C-4EE9-5A2A-A5A5-C1FD98CE2EDD\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"BizCode\\": \\"1\\",\\n \\"SubCode\\": \\"101\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'Phone number three-factor verification', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaVerifyIntl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Mobile3MetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"TotalCount\\": 0,\\n \\"TotalPage\\": 1,\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 100,\\n \\"Items\\": [\\n {\\n \\"Id\\": 162261,\\n \\"Name\\": \\"test-888\\",\\n \\"Code\\": \\"faceGroup001\\",\\n \\"Description\\": \\"desc\\"\\n }\\n ],\\n \\"MaxResults\\": 50,\\n \\"NextToken\\": \\"N/zmQeG/x9TDWmaB/pbfBQ==\\"\\n}","type":"json"}]', - 'title' => 'Query Face Group', - 'translator' => 'machine', ], 'ModifyFaceGroup' => [ - 'summary' => 'Modify Face Group', + 'summary' => 'Modifies a face library.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5788,91 +6249,67 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'Id', 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '65c030cd54b23283ceb27b4ade5da49d', - ], + 'schema' => ['description' => 'The primary key ID.', 'type' => 'string', 'required' => false, 'example' => '65c030cd54b23283ceb27b4ade5da49d', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'test008', - ], + 'schema' => ['description' => 'The name of the face library.', 'type' => 'string', 'required' => true, 'example' => 'test008', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'description', - ], + 'schema' => ['description' => 'The description.', 'type' => 'string', 'required' => false, 'example' => 'description', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The returned result.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Modify a face library', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyFaceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1\\n}","type":"json"}]', - 'title' => 'Modify Face Group', - 'translator' => 'machine', ], - 'DeleteFaceGroup' => [ - 'summary' => 'Delete Face Group', + 'ModifyFaceRecord' => [ + 'summary' => 'Edits a face record.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5884,72 +6321,61 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'Id', + 'name' => 'ImgOssInfos', 'in' => 'formData', - 'schema' => [ - 'description' => 'Primary key ID', - 'type' => 'string', - 'required' => true, - 'example' => '16681', - ], + 'schema' => ['description' => 'The OSS information of the image.', 'type' => 'string', 'required' => true, 'example' => 'JSON', 'title' => ''], + ], + [ + 'name' => 'FaceGroupCode', + 'in' => 'formData', + 'schema' => ['description' => 'The face library code.', 'type' => 'string', 'required' => true, 'example' => '4EB35****87', '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' => '595E387B-3F0E-5C52-BD02-8EFE63D41FD5', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'Return result.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '4EB35****87EBA1'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Data' => ['description' => 'The result.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Edit face record', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"595E387B-3F0E-5C52-BD02-8EFE63D41FD5\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1\\n}","type":"json"}]', - 'title' => 'Delete Face Group', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1\\n}","type":"json"}]', ], - 'QueryFaceRecord' => [ - 'summary' => 'Query Face Records', + 'QueryFaceGroup' => [ 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5961,375 +6387,301 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'FaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Face ID.', - 'type' => 'string', - 'required' => false, - 'example' => '5006538', - ], - ], - [ - 'name' => 'MerchantUserId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant User ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'CuN6hiD08qr', - ], + 'schema' => ['description' => 'The name of the face library.', 'type' => 'string', 'required' => false, 'example' => 'test008', 'title' => ''], ], [ - 'name' => 'RegistrationType', + 'name' => 'GroupCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Registration Type.', - 'type' => 'string', - 'required' => false, - 'example' => 'MANUAL', - ], - ], - [ - 'name' => 'FaceGroupCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Face Group Code.', - 'type' => 'string', - 'required' => true, - 'example' => 'Cu****D08q', - ], + 'schema' => ['description' => 'The code of the face library.', 'type' => 'string', 'required' => false, 'example' => 'groupCode001', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'Current Page.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'Number of rows per page for paginated queries.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Used to request the next page of search results.', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAARbaCuN6hiD08qrLdwJ9Fh0OP1yH8z+7FV4KKGUw4X32', - ], + 'schema' => ['description' => 'The token for the next query.', 'type' => 'string', 'required' => false, 'example' => 'WpY9RBGa5Vrzxi3+mp2Cdw==', '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' => '7F971622-38C0-5F56-B2EC-315367979B4F', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'TotalCount' => [ - 'description' => 'Total number of records.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'TotalPage' => [ - 'description' => 'Total number of pages.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CurrentPage' => [ - 'description' => 'Current query page number.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'Number of items per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5E63B760-0ECB-5C07-8503-A65C27876968'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The return message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'Items' => [ - 'description' => 'List of returned information.', + 'description' => 'The list of returned entries.', 'type' => 'array', 'items' => [ - 'description' => 'Details of the returned object.', + 'description' => 'The object details.', 'type' => 'object', 'properties' => [ - 'Id' => [ - 'description' => 'Primary key ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16112', - ], - 'FaceId' => [ - 'description' => 'Face ID.', - 'type' => 'string', - 'example' => '230642938', - ], - 'GmtCreate' => [ - 'description' => 'Creation time.', - 'type' => 'string', - 'example' => '2025-01-15T02:20:28Z', - ], - 'RegistrationType' => [ - 'description' => 'Registration type.', - 'type' => 'string', - 'example' => 'MANUAL', - ], - 'ImgOssUrl' => [ - 'description' => 'Face image URL.', - 'type' => 'string', - 'example' => 'http://www.xxxx.com/1.jpg', - ], - 'MerchantUserId' => [ - 'description' => 'Merchant User ID.', - 'type' => 'string', - 'example' => 'CuN6hiD08qr', - ], + 'Id' => ['description' => 'The primary key ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '162261', 'title' => ''], + 'Name' => ['description' => 'The name of the face library.', 'type' => 'string', 'example' => 'test-888', 'title' => ''], + 'Code' => ['description' => 'The code of the face library.', 'type' => 'string', 'example' => 'faceGroup001', 'title' => ''], + 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'desc', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'MaxResults' => [ - 'description' => 'Maximum number of data entries per page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'NextToken' => [ - 'description' => 'Token for the next query start.', - 'type' => 'string', - 'example' => 'AAAAARfZmVDe9NvRXloR5+8CK9nwqHyx44CQz3pa71+mmu0e', - ], + 'MaxResults' => ['description' => 'The number of entries per page in a paged query.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'NextToken' => ['description' => 'The token for the next query.', 'type' => 'string', 'example' => 'N/zmQeG/x9TDWmaB/pbfBQ==', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query face libraries', + 'summary' => 'Queries face libraries.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7F971622-38C0-5F56-B2EC-315367979B4F\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"TotalCount\\": 6,\\n \\"TotalPage\\": 1,\\n \\"CurrentPage\\": 2,\\n \\"PageSize\\": 10,\\n \\"Items\\": [\\n {\\n \\"Id\\": 16112,\\n \\"FaceId\\": \\"230642938\\",\\n \\"GmtCreate\\": \\"2025-01-15T02:20:28Z\\",\\n \\"RegistrationType\\": \\"MANUAL\\",\\n \\"ImgOssUrl\\": \\"http://www.xxxx.com/1.jpg\\",\\n \\"MerchantUserId\\": \\"CuN6hiD08qr\\"\\n }\\n ],\\n \\"MaxResults\\": 100,\\n \\"NextToken\\": \\"AAAAARfZmVDe9NvRXloR5+8CK9nwqHyx44CQz3pa71+mmu0e\\"\\n}","type":"json"}]', - 'title' => 'Query Face Records', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryFaceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5E63B760-0ECB-5C07-8503-A65C27876968\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"TotalCount\\": 0,\\n \\"TotalPage\\": 1,\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 100,\\n \\"Items\\": [\\n {\\n \\"Id\\": 162261,\\n \\"Name\\": \\"test-888\\",\\n \\"Code\\": \\"faceGroup001\\",\\n \\"Description\\": \\"desc\\"\\n }\\n ],\\n \\"MaxResults\\": 50,\\n \\"NextToken\\": \\"N/zmQeG/x9TDWmaB/pbfBQ==\\"\\n}","type":"json"}]', ], - 'ModifyFaceRecord' => [ - 'summary' => 'Add New Face', + 'QueryFaceRecord' => [ + 'summary' => 'Queries face records.', 'path' => '', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ - 'name' => 'ImgOssInfos', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'JSON', - ], + 'name' => 'FaceId', + 'in' => 'query', + 'schema' => ['description' => 'The face ID.', 'type' => 'string', 'required' => false, 'example' => '5006538', 'title' => ''], + ], + [ + 'name' => 'MerchantUserId', + 'in' => 'query', + 'schema' => ['description' => 'The merchant user ID.', 'type' => 'string', 'required' => false, 'example' => 'CuN6hiD08qr', 'title' => ''], + ], + [ + 'name' => 'RegistrationType', + 'in' => 'query', + 'schema' => ['description' => 'The registration type.', 'type' => 'string', 'required' => false, 'example' => 'MANUAL', 'title' => ''], ], [ 'name' => 'FaceGroupCode', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '4EB35****87', - ], + 'in' => 'query', + 'schema' => ['description' => 'The face library code.', 'type' => 'string', 'required' => true, 'example' => 'Cu****D08q', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of entries per page for a paginated query.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token used to retrieve the next page of results.', 'type' => 'string', 'required' => false, 'example' => 'AAAAARbaCuN6hiD08qrLdwJ9Fh0OP1yH8z+7FV4KKGUw4X32', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '7F971622-38C0-5F56-B2EC-315367979B4F'], + 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Items' => [ + 'description' => 'The list of returned records.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the returned object.', + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The primary key ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '16112', 'title' => ''], + 'FaceId' => ['description' => 'The face ID.', 'type' => 'string', 'example' => '230642938', 'title' => ''], + 'GmtCreate' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2025-01-15T02:20:28Z', 'title' => ''], + 'RegistrationType' => ['description' => 'The registration type.', 'type' => 'string', 'example' => 'MANUAL', 'title' => ''], + 'ImgOssUrl' => ['description' => 'The URL of the face image.', 'type' => 'string', 'example' => 'http://www.xxxx.com/1.jpg', 'title' => ''], + 'MerchantUserId' => ['description' => 'The merchant user ID.', 'type' => 'string', 'example' => 'CuN6hiD08qr', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'MaxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'NextToken' => ['description' => 'The token for the next query.', 'type' => 'string', 'example' => 'AAAAARfZmVDe9NvRXloR5+8CK9nwqHyx44CQz3pa71+mmu0e', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1\\n}","type":"json"}]', - 'title' => 'Edit Face Record', - 'translator' => 'machine', - ], - 'DeleteFaceRecord' => [ - 'summary' => 'Delete Face', - 'path' => '', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query face records', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7F971622-38C0-5F56-B2EC-315367979B4F\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"TotalCount\\": 6,\\n \\"TotalPage\\": 1,\\n \\"CurrentPage\\": 2,\\n \\"PageSize\\": 10,\\n \\"Items\\": [\\n {\\n \\"Id\\": 16112,\\n \\"FaceId\\": \\"230642938\\",\\n \\"GmtCreate\\": \\"2025-01-15T02:20:28Z\\",\\n \\"RegistrationType\\": \\"MANUAL\\",\\n \\"ImgOssUrl\\": \\"http://www.xxxx.com/1.jpg\\",\\n \\"MerchantUserId\\": \\"CuN6hiD08qr\\"\\n }\\n ],\\n \\"MaxResults\\": 100,\\n \\"NextToken\\": \\"AAAAARfZmVDe9NvRXloR5+8CK9nwqHyx44CQz3pa71+mmu0e\\"\\n}","type":"json"}]', + ], + 'TempAccessTokenIntl' => [ + 'summary' => 'Retrieves a temporary token.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthNYJI62'], ], 'parameters' => [ [ - 'name' => 'Id', + 'name' => 'Type', 'in' => 'formData', - 'schema' => [ - 'description' => 'Primary Key ID', - 'type' => 'string', - 'required' => false, - 'example' => '344537', - ], + 'schema' => ['description' => 'The type.', 'type' => 'string', 'required' => false, 'example' => 'none', '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' => '4EB35****87EBA1', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '86C40EC3-5940-5F47-995C-BFE90B70E540'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => [ - 'description' => 'Return result.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'description' => 'The response data.', + 'type' => 'object', + 'properties' => [ + 'AccessKeyId' => ['description' => 'The AccessKeyId of the temporary credential for file upload.', 'type' => 'string', 'example' => '***', 'title' => ''], + 'AccessKeySecret' => ['description' => 'The temporary authorization secret.', 'type' => 'string', 'example' => '3hxuRpEJ3Jv2Rtzyg4HooFCYqps762XcNtzhn19wQymk', 'title' => ''], + 'SecurityToken' => ['description' => 'The security token of the temporary credential for file upload.', 'type' => 'string', 'example' => '***', 'title' => ''], + 'OssEndPoint' => ['description' => 'OssEndPoint。', 'type' => 'string', 'example' => ' ossEndPoint', 'title' => ''], + 'BucketName' => ['description' => 'The bucket name.', 'type' => 'string', 'example' => 'liyi', 'title' => ''], + 'FileNamePrefix' => ['description' => 'The file name prefix.', 'type' => 'string', 'example' => 'test001', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Retrieve a temporary token', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": 1\\n}","type":"json"}]', - 'title' => 'Delete Face Record', - 'translator' => 'machine', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:TempAccessTokenIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"AccessKeyId\\": \\"***\\",\\n \\"AccessKeySecret\\": \\"3hxuRpEJ3Jv2Rtzyg4HooFCYqps762XcNtzhn19wQymk\\",\\n \\"SecurityToken\\": \\"***\\",\\n \\"OssEndPoint\\": \\" ossEndPoint\\",\\n \\"BucketName\\": \\"liyi\\",\\n \\"FileNamePrefix\\": \\"test001\\"\\n }\\n}","type":"json"}]', ], 'TempOssUrlIntl' => [ - 'summary' => 'Get Temporary File URL', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'summary' => 'Retrieves a temporary URL for a file.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -6341,731 +6693,657 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthHJ4WQV', - ], + 'abilityTreeNodes' => ['FEATUREcloudauthHJ4WQV'], ], 'parameters' => [ [ 'name' => 'ObjectName', 'in' => 'formData', - 'schema' => [ - 'description' => 'Object name.', - 'type' => 'string', - 'required' => true, - 'example' => '20250512/pdf/579047.pdf', - ], + 'schema' => ['description' => 'The object name.', 'type' => 'string', 'required' => true, 'example' => '20250512/pdf/579047.pdf', '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' => 'EFA11401-C961-5E89-A2D3-BF9883E5CC3D', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'EFA11401-C961-5E89-A2D3-BF9883E5CC3D'], + 'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => [ - 'description' => 'Result.', + 'description' => 'The result.', 'type' => 'object', 'properties' => [ - 'Url' => [ - 'description' => 'File URL', - 'type' => 'string', - 'example' => 'http://bzxh.cdn.weijin365.com/assets/index-55338127.png', - ], + 'Url' => ['description' => 'The file URL.', 'type' => 'string', 'example' => 'http://bzxh.cdn.weijin365.com/assets/index-55338127.png', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Retrieve a temporary file URL', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EFA11401-C961-5E89-A2D3-BF9883E5CC3D\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Url\\": \\"http://bzxh.cdn.weijin365.com/assets/index-55338127.png\\"\\n }\\n}","type":"json"}]', - 'title' => 'Get Temporary File URL', - 'translator' => 'machine', - ], - 'TempAccessTokenIntl' => [ - 'summary' => 'Get Temporary Token', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:TempOssUrlIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EFA11401-C961-5E89-A2D3-BF9883E5CC3D\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"Url\\": \\"http://bzxh.cdn.weijin365.com/assets/index-55338127.png\\"\\n }\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth-intl.cn-hongkong.aliyuncs.com', 'endpoint' => 'cloudauth-intl.cn-hongkong.aliyuncs.com', 'vpc' => 'cloudauth-intl-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudauth-intl.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudauth-intl.ap-southeast-1.aliyuncs.com', 'vpc' => 'cloudauth-intl-vpc.ap-southeast-1.aliyuncs.com'], + ], + 'errorCodes' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddressVerifyIntl'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FaceCompare'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeepfakeDetectIntl'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FaceLiveness'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FaceGuardRisk'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EkycVerify'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Initialize'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaPeriodVerifyIntl'], + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DocOcrMax'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CardOcr'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BankMetaVerifyIntl'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DocOcr'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckResult'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CredentialVerifyIntl'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FraudResultCallBack'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVerifyResult'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Mobile3MetaVerifyIntl'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckVerifyLog'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'Id2MetaVerifyIntl'], + ], + ], + 'ram' => [ + 'productCode' => 'Cloudauth', + 'productName' => 'ID Verification', + 'ramCodes' => ['yundun-cloudauth', 'antcloudauth'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'TempOssUrlIntl', + 'description' => '', 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthNYJI62', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:TempOssUrlIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'Type', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Type.', - 'type' => 'string', - 'required' => false, - 'example' => 'none', + [ + 'apiName' => 'DeleteFaceGroup', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteFaceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => '86C40EC3-5940-5F47-995C-BFE90B70E540', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'Data' => [ - 'description' => 'Return result.', - 'type' => 'object', - 'properties' => [ - 'AccessKeyId' => [ - 'description' => 'AccessKeyId for temporary file upload credentials.', - 'type' => 'string', - 'example' => '***', - ], - 'AccessKeySecret' => [ - 'description' => 'Temporary authorization secret.', - 'type' => 'string', - 'example' => '3hxuRpEJ3Jv2Rtzyg4HooFCYqps762XcNtzhn19wQymk', - ], - 'SecurityToken' => [ - 'description' => 'Security token for temporary file upload credentials.', - 'type' => 'string', - 'example' => '***', - ], - 'OssEndPoint' => [ - 'description' => 'OSS endpoint.', - 'type' => 'string', - 'example' => ' ossEndPoint', - ], - 'BucketName' => [ - 'description' => 'Bucket name.', - 'type' => 'string', - 'example' => 'liyi', - ], - 'FileNamePrefix' => [ - 'description' => 'File prefix.', - 'type' => 'string', - 'example' => 'test001', - ], - ], - ], - ], + [ + 'apiName' => 'QueryFaceRecord', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"AccessKeyId\\": \\"***\\",\\n \\"AccessKeySecret\\": \\"3hxuRpEJ3Jv2Rtzyg4HooFCYqps762XcNtzhn19wQymk\\",\\n \\"SecurityToken\\": \\"***\\",\\n \\"OssEndPoint\\": \\" ossEndPoint\\",\\n \\"BucketName\\": \\"liyi\\",\\n \\"FileNamePrefix\\": \\"test001\\"\\n }\\n}","type":"json"}]', - 'title' => 'Get Temporary Token', - 'translator' => 'machine', - ], - 'CardOcr' => [ - 'summary' => 'Pure server-side interface for document OCR recognition', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'QueryFaceGroup', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:QueryFaceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => true, - 'systemTags' => [ + [ + 'apiName' => 'TempAccessTokenIntl', + 'description' => '', 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '178782', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCW0JNH', - 'FEATUREcloudauthHOSIED', - 'FEATUREcloudauthWSJE4H', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:TempAccessTokenIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'MerchantBizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'A unique business identifier defined by the merchant, used 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' => 'dso9322***dsjsd22', + [ + 'apiName' => 'ModifyFaceRecord', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'MerchantUserId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Merchant user ID or other identifiers that can be used to identify specific users, such as phone numbers, email addresses, etc. It is strongly recommended to pre-desensitize the value of the userId field, for example, by hashing the value.', - 'type' => 'string', - 'required' => false, - 'example' => '123456789', + ], + [ + 'apiName' => 'ModifyFaceGroup', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:ModifyFaceGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'IdOcrPictureBase64', - 'in' => 'formData', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'Base64 on the front of the document image', - 'example' => 'base64', + ], + [ + 'apiName' => 'DeleteFaceRecord', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'yundun-cloudauth:DeleteFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'IdOcrPictureUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'URL of the front side of the document image', - 'type' => 'string', - 'required' => false, - 'example' => 'https://digital-cardocr-prod8.oss-cn-hangzhou.aliyuncs.com/1669520556530-expo/default/face/20221127114236530_w3kx2e6t.jpg'."\n", + ], + [ + 'apiName' => 'FraudResultCallBack', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'antcloudauth:FraudResultCallBack', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DocType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Document type.', - 'type' => 'string', - 'required' => false, - 'example' => '00000006', + ], + [ + 'apiName' => 'CredentialSubmitIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialSubmitIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Product code', - 'type' => 'string', - 'required' => false, - 'example' => 'ID_OCR_MIN', + ], + [ + 'apiName' => 'AddFaceRecord', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:AddFaceRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Ocr', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to perform document OCR'."\n" - .'- T: Indicates that document OCR is required (default T)'."\n" - .'- F: Indicates that it is not required', - 'type' => 'string', - 'required' => false, - 'example' => 'T', + ], + [ + 'apiName' => 'CheckVerifyLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CheckVerifyLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'IdFaceQuality', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to perform face quality detection on the document'."\n" - .'- T: Indicates that detection is needed'."\n" - .'- F: Indicates that detection is not needed (default F)', - 'type' => 'string', - 'required' => false, - 'example' => 'F', + ], + [ + 'apiName' => 'Id2MetaVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Id2MetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Spoof', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to enable anti-counterfeiting detection'."\n" - .'- T: Indicates to enable anti-counterfeiting'."\n" - .'- F: Indicates to disable (default F)', - 'type' => 'string', - 'required' => false, - 'example' => 'F', + ], + [ + 'apiName' => 'AddressCompareIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:AddressCompareIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => '4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], - 'Result' => [ - 'description' => 'Return result', - 'type' => 'object', - 'properties' => [ - 'TransactionId' => [ - 'description' => 'Unique identifier for the authentication request', - 'type' => 'string', - 'example' => '08573be80f944d95ac812e019e3655a8', - ], - 'Passed' => [ - 'description' => 'Whether the authentication passed.'."\n" - ."\n" - .'- Y: Passed.'."\n" - .'- N: Not passed.', - 'type' => 'string', - 'example' => 'Y', - ], - 'SubCode' => [ - 'description' => 'Sub-result code.', - 'type' => 'string', - 'example' => '200', - ], - 'ExtIdInfo' => [ - 'description' => 'Additional result information', - 'type' => 'string', - 'example' => '**', - ], - 'ExtCardInfo' => [ - 'description' => 'Document recognition result', - 'type' => 'string', - 'example' => '{'."\n" - .' "idFaceQualityScore": 98.90,'."\n" - .' "ocrIdInfo": {'."\n" - .' "expiryDate": "2024-04-20",'."\n" - .' "placeOfIssue": "广东",'."\n" - .' "englishName": "ZHENGJIAN,YANGBEN",'."\n" - .' "originOfIssue": "公安部出入境管理局",'."\n" - .' "sex": "女",'."\n" - .' "name": "证件样本",'."\n" - .' "idNumber": "C00000000",'."\n" - .' "issueDate": "2014-04-21",'."\n" - .' "birthDate": "1981-08-03"'."\n" - .' },'."\n" - .' "spoofInfo": {'."\n" - .' "spoofResult": "N",'."\n" - .' "spoofType": ['."\n" - .' "SCREEN_REMARK"'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], - ], - ], - ], + [ + 'apiName' => 'DeepfakeDetectIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DeepfakeDetectIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'substitutions' => [ - 'Cloudauth-intl::2022-08-09::DocOcr', + [ + 'apiName' => 'CredentialRecognitionIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialRecognitionIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'returnType' => 'synchronous', ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB356FE-BB6A-5DCC-B4C5-E8051787EBA1\\",\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\",\\n \\"Result\\": {\\n \\"TransactionId\\": \\"08573be80f944d95ac812e019e3655a8\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"ExtIdInfo\\": \\"**\\",\\n \\"ExtCardInfo\\": \\"{\\\\n \\\\\\"idFaceQualityScore\\\\\\": 98.90,\\\\n \\\\\\"ocrIdInfo\\\\\\": {\\\\n \\\\\\"expiryDate\\\\\\": \\\\\\"2024-04-20\\\\\\",\\\\n \\\\\\"placeOfIssue\\\\\\": \\\\\\"广东\\\\\\",\\\\n \\\\\\"englishName\\\\\\": \\\\\\"ZHENGJIAN,YANGBEN\\\\\\",\\\\n \\\\\\"originOfIssue\\\\\\": \\\\\\"公安部出入境管理局\\\\\\",\\\\n \\\\\\"sex\\\\\\": \\\\\\"女\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"证件样本\\\\\\",\\\\n \\\\\\"idNumber\\\\\\": \\\\\\"C00000000\\\\\\",\\\\n \\\\\\"issueDate\\\\\\": \\\\\\"2014-04-21\\\\\\",\\\\n \\\\\\"birthDate\\\\\\": \\\\\\"1981-08-03\\\\\\"\\\\n },\\\\n \\\\\\"spoofInfo\\\\\\": {\\\\n \\\\\\"spoofResult\\\\\\": \\\\\\"N\\\\\\",\\\\n \\\\\\"spoofType\\\\\\": [\\\\n \\\\\\"SCREEN_REMARK\\\\\\"\\\\n ]\\\\n }\\\\n}\\"\\n }\\n}","type":"json"}]', - 'title' => 'Card OCR Pure Server Capability API', - 'translator' => 'machine', - ], - 'FraudResultCallBack' => [ - 'summary' => 'Anti-Fraud Callback Interface', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DownloadVerifyRecordIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DownloadVerifyRecordIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeepfakeDetectIntlStream', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DeepfakeDetectIntlStream', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CardOcr', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CardOcr', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => true, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '184671', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthCW0JNH', - 'FEATUREcloudauthHOSIED', - 'FEATUREcloudauthWSJE4H', + [ + 'apiName' => 'DocOcrMax', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DocOcrMax', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'CertifyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Unique identifier for real-person authentication, corresponding to Ant\'s verifyId.', - 'type' => 'string', - 'required' => false, - 'example' => 'shs2b27333914876c01de4cb22f5841f', + [ + 'apiName' => 'Initialize', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Initialize', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ResultCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether the anti-fraud check passed'."\n" - .'- PASS (Passed)'."\n" - .'- REJECT (Rejected)', - 'type' => 'string', - 'required' => false, - 'example' => 'PASS', + ], + [ + 'apiName' => 'IdnAuthorityVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:IdnAuthorityVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'VerifyDeployEnv', - 'in' => 'query', - 'schema' => [ - 'description' => 'Environment routing parameter'."\n" - .'- staging (Staging environment)'."\n" - .'- production (Production environment)', - 'type' => 'string', - 'required' => false, - 'example' => 'production', + ], + [ + 'apiName' => 'DocOcrMaxV2', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DocOcrMaxV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ExtParams', - 'in' => 'query', - 'schema' => [ - 'description' => 'Extended parameters, in JSON string format.', - 'type' => 'string', - 'required' => false, - 'example' => '{}', + ], + [ + 'apiName' => 'FaceVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => '4EB35****87EBA1', - ], - 'Success' => [ - 'description' => 'Whether the call was successful.'."\n" - .'- **true**: Call succeeded.'."\n" - .'- **false**: Call failed.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'Return code', - 'type' => 'string', - 'example' => 'Success', - ], - 'Message' => [ - 'description' => 'Return message', - 'type' => 'string', - 'example' => 'success', - ], - ], + [ + 'apiName' => 'CredentialGetResultIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialGetResultIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', + [ + 'apiName' => 'FaceCompare', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceCompare', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EB35****87EBA1\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"Success\\",\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => 'Anti-Fraud Callback Interface', - 'translator' => 'machine', - ], - 'AddressVerifyIntl' => [ - 'summary' => 'Address Verification', - 'path' => '', - 'methods' => [ - 'post', + [ + 'apiName' => 'Mobile3MetaVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Mobile3MetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'Id2MetaPeriodVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Id2MetaPeriodVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'InitializeV2', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:InitializeV2', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => true, - 'systemTags' => [ + [ + 'apiName' => 'AddressVerifyIntl', + 'description' => '', 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREcloudauthZN5W38', + 'ramAction' => [ + 'action' => 'antcloudauth:AddressVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ProductCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'Fixed value: ADD_VERIFY_PRO', - 'type' => 'string', - 'required' => true, - 'example' => 'ADD_VERIFY_PRO', + [ + 'apiName' => 'BankMetaVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:BankMetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'VerifyType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Address verification method:'."\n" - .'- HOME: Home address verification'."\n" - .'- WORK: Work address verification', - 'type' => 'string', - 'required' => true, - 'example' => 'HOME', + ], + [ + 'apiName' => 'EkycVerify', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:EkycVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Mobile', - 'in' => 'query', - 'schema' => [ - 'description' => 'Supports Chinese mobile phone numbers.', - 'type' => 'string', - 'required' => true, - 'example' => '1872334****', + ], + [ + 'apiName' => 'FaceDuplicationCheckIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceDuplicationCheckIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DefaultCountry', - 'in' => 'query', - 'schema' => [ - 'description' => 'Country name, currently only supports: China', - 'type' => 'string', - 'required' => true, - 'example' => '中国', + ], + [ + 'apiName' => 'DocOcr', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DocOcr', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'AddressType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Verification address type:'."\n" - .'- “0”: Text address'."\n" - .'- “1”: Latitude and longitude', - 'type' => 'string', - 'required' => true, - 'example' => '“0”', + ], + [ + 'apiName' => 'KeepaliveIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:KeepaliveIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Longitude', - 'in' => 'query', - 'schema' => [ - 'description' => 'Longitude.', - 'type' => 'string', - 'required' => false, - 'example' => '“121.4737”', + ], + [ + 'apiName' => 'FaceGuardRisk', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceGuardRisk', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Latitude', - 'in' => 'query', - 'schema' => [ - 'description' => 'Latitude.', - 'type' => 'string', - 'required' => false, - 'example' => '“31.2304”', + ], + [ + 'apiName' => 'CredentialVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:CredentialVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Text', - 'in' => 'query', - 'schema' => [ - 'description' => 'Detailed address text content', - 'type' => 'string', - 'required' => false, - 'example' => '阿里巴巴西溪园区', + ], + [ + 'apiName' => 'CheckResult', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'antcloudauth:CheckResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DefaultProvince', - 'in' => 'query', - 'schema' => [ - 'description' => 'Default province', - 'type' => 'string', - 'required' => false, - 'example' => '浙江省', + ], + [ + 'apiName' => 'Mobile2MetaVerifyIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:Mobile2MetaVerifyIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DefaultCity', - 'in' => 'query', - 'schema' => [ - 'description' => 'Default city', - 'type' => 'string', - 'required' => false, - 'example' => '杭州市', + ], + [ + 'apiName' => 'FaceCrossCompareIntl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceCrossCompareIntl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DefaultDistrict', - 'in' => 'query', - 'schema' => [ - 'description' => 'Default district', - 'type' => 'string', - 'required' => false, - 'example' => '余杭区', + ], + [ + 'apiName' => 'DeleteVerifyResult', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:DeleteVerifyResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => '86C40EC3-5940-5F47-995C-BFE90B70E540', - ], - 'Code' => [ - 'description' => 'Return code.', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'Return message.', - 'type' => 'string', - 'example' => 'success', - ], - 'ResultObject' => [ - 'description' => 'Returned result information.', - 'type' => 'object', - 'properties' => [ - 'TransactionId' => [ - 'description' => 'Unique identifier for the authentication request.', - 'type' => 'string', - 'example' => 'hksb7ba1b28130d24e015d69********', - ], - 'Passed' => [ - 'description' => 'Verification result, values:'."\n" - .'- Y: Yes, the verified address distance is less than or equal to 10KM.'."\n" - .'- N: No, the verified address distance is greater than 10KM.', - 'type' => 'string', - 'example' => 'Y', - ], - 'SubCode' => [ - 'description' => 'Authentication result description.', - 'type' => 'string', - 'example' => '200', - ], - 'AddressInfo' => [ - 'description' => 'Address verification details.', - 'type' => 'string', - 'example' => '0-3000', - ], - 'IspName' => [ - 'description' => 'Operator name:'."\n" - .'- CMCC: China Mobile'."\n" - .'- CTCC: China Telecom'."\n" - .'- CUCC: China Unicom', - 'type' => 'string', - 'example' => 'CMCC', - ], - ], - ], - ], + [ + 'apiName' => 'FaceLiveness', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:FaceLiveness', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'substitutions' => [ - 'Cloudauth-intl::2022-08-09::AddressVerifyV2Intl', + [ + 'apiName' => 'AddressVerifyV2Intl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'antcloudauth:AddressVerifyV2Intl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Cloudauth', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'returnType' => 'synchronous', ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86C40EC3-5940-5F47-995C-BFE90B70E540\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"ResultObject\\": {\\n \\"TransactionId\\": \\"hksb7ba1b28130d24e015d69********\\",\\n \\"Passed\\": \\"Y\\",\\n \\"SubCode\\": \\"200\\",\\n \\"AddressInfo\\": \\"0-3000\\",\\n \\"IspName\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'Address Verification', - 'description' => 'Based on the operator\'s capabilities, input the phone number and address (or latitude and longitude) to verify whether the provided address is the user\'s usual residence.', - 'translator' => 'machine', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'cloudauth-intl.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'cloudauth-intl.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'cloudauth-intl.ap-southeast-5.aliyuncs.com', ], + 'resourceTypes' => [], ], ]; |
