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/dytnsapi | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/dytnsapi')
| -rw-r--r-- | data/en_us/dytnsapi/2020-02-17/api-docs.php | 8843 | ||||
| -rw-r--r-- | data/en_us/dytnsapi/2023-01-01/api-docs.php | 1099 |
2 files changed, 4655 insertions, 5287 deletions
diff --git a/data/en_us/dytnsapi/2020-02-17/api-docs.php b/data/en_us/dytnsapi/2020-02-17/api-docs.php index 0d833e9..9b39a12 100644 --- a/data/en_us/dytnsapi/2020-02-17/api-docs.php +++ b/data/en_us/dytnsapi/2020-02-17/api-docs.php @@ -1,164 +1,91 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dytnsapi', - 'version' => '2020-02-17', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dytnsapi', 'version' => '2020-02-17'], 'directories' => [ [ - 'id' => 346319, - 'title' => null, + 'children' => ['CertNoTwoElementVerification', 'CertNoThreeElementVerification'], 'type' => 'directory', - 'children' => [ - 'CertNoTwoElementVerification', - 'CertNoThreeElementVerification', - ], + 'title' => 'ID card two-factor/three-factor verification', ], [ - 'id' => 346322, - 'title' => null, + 'children' => ['GetUAIDApplyTokenSign', 'UAIDVerification'], 'type' => 'directory', - 'children' => [ - 'GetUAIDApplyTokenSign', - 'UAIDVerification', - ], + 'title' => 'UAID query', ], [ - 'id' => 346325, - 'title' => null, + 'children' => ['CompanyTwoElementsVerification', 'CompanyThreeElementsVerification', 'CompanyFourElementsVerification'], 'type' => 'directory', - 'children' => [ - 'CompanyTwoElementsVerification', - 'CompanyThreeElementsVerification', - 'CompanyFourElementsVerification', - ], + 'title' => 'Enterprise two-factor/three-factor/four-factor verification', ], [ - 'id' => 346329, - 'title' => null, + 'children' => ['DescribePhoneNumberOperatorAttribute'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneNumberOperatorAttribute', - ], + 'title' => 'Number attribution query', ], [ - 'id' => 346331, - 'title' => null, + 'children' => ['PhoneNumberStatusForPublic', 'PhoneNumberStatusForAccount', 'PhoneNumberStatusForReal', 'PhoneNumberStatusForSms', 'PhoneNumberStatusForVoice'], 'type' => 'directory', - 'children' => [ - 'PhoneNumberStatusForPublic', - 'PhoneNumberStatusForAccount', - 'PhoneNumberStatusForReal', - 'PhoneNumberStatusForSms', - 'PhoneNumberStatusForVoice', - ], + 'title' => 'Number status query', ], [ - 'id' => 346337, - 'title' => null, + 'children' => ['DescribePhoneTwiceTelVerify'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneTwiceTelVerify', - ], + 'title' => 'Recycled number query', ], [ - 'id' => 346339, - 'title' => null, + 'children' => ['DescribePhoneNumberOnlineTime'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneNumberOnlineTime', - ], + 'title' => 'Network duration query', ], [ - 'id' => 346341, - 'title' => null, + 'children' => ['DescribePhoneNumberAnalysisAI', 'DescribePhoneNumberAnalysis'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneNumberAnalysisAI', - 'DescribePhoneNumberAnalysis', - ], + 'title' => 'Number analysis query', ], [ - 'id' => 346344, - 'title' => null, + 'children' => ['DescribeEmptyNumber'], 'type' => 'directory', - 'children' => [ - 'DescribeEmptyNumber', - ], + 'title' => 'Empty number detection', ], [ - 'id' => 346346, - 'title' => null, + 'children' => ['HistoryThreeElementsVerification', 'TwoElementsVerification', 'ThreeElementsVerification'], 'type' => 'directory', - 'children' => [ - 'TwoElementsVerification', - 'ThreeElementsVerification', - ], + 'title' => 'Carrier two-factor/three-factor verification', ], [ - 'id' => 346349, - 'title' => null, + 'children' => ['PhoneNumberEncrypt'], 'type' => 'directory', - 'children' => [ - 'PhoneNumberEncrypt', - ], + 'title' => 'Number encryption', ], [ - 'id' => 346351, - 'title' => null, + 'children' => ['InvalidPhoneNumberFilter'], 'type' => 'directory', - 'children' => [ - 'InvalidPhoneNumberFilter', - ], + 'title' => 'Invalid number filtering', ], [ - 'id' => 346353, - 'title' => null, + 'children' => ['QueryTagListPage', 'QueryTagInfoBySelection', 'QueryUsageStatisticsByTagId', 'QueryTagApplyRule'], 'type' => 'directory', - 'children' => [ - 'QueryTagListPage', - 'QueryTagInfoBySelection', - 'QueryUsageStatisticsByTagId', - 'QueryTagApplyRule', - ], + 'title' => 'Tags', ], [ - 'id' => 346358, - 'title' => null, + 'children' => ['QueryAvailableAuthCode'], 'type' => 'directory', - 'children' => [ - 'QueryAvailableAuthCode', - ], + 'title' => 'Authorization codes', ], [ - 'id' => 0, - 'title' => '其它', + 'children' => ['DeleteContacts', 'ListContacts', 'QueryPackageTypeInfo', 'QueryTaskList', 'SaveContacts', 'UpdateContacts', 'VirtualThreeElementsVerification'], 'type' => 'directory', - 'children' => [ - 'ListContacts', - 'SaveContacts', - 'UpdateContacts', - 'DeleteContacts', - 'QueryPackageTypeInfo', - 'QueryTaskList', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CertNoTwoElementVerification' => [ - 'summary' => '身份证二要素认证', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CertNoThreeElementVerification' => [ + 'summary' => 'Three-element (name, ID card number, and ID card photo) verification. Used to compare whether the three pieces of information (the name and ID card number filled in by the user and the uploaded portrait photo) belong to the same user.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -168,41 +95,36 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '200459', - 'abilityTreeNodes' => [ - 'FEATUREdytnsHIUT2Z', - ], + 'abilityTreeCode' => '231962', + 'abilityTreeNodes' => ['FEATUREdytnsOFD0CE'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code. Sources:'."\n" + .'- In the Cell Phone Number Service console, go to the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, select the **ID Card Three Elements** tag, and submit a usage application. After the application is approved, you will obtain the authorization code.'."\n" + .'- On the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page of the Cell Phone Number Service console, view the approved **ID Card Three Elements** authorization ID.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], ], [ 'name' => 'CertName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '示例值', - ], + 'schema' => ['description' => 'The name to be verified.', 'type' => 'string', 'required' => true, 'example' => '张三', 'title' => ''], ], [ 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '331021200001010000', - ], + 'schema' => ['description' => 'The ID card number to be verified.', 'type' => 'string', 'required' => true, 'example' => '3***************0', 'title' => ''], + ], + [ + 'name' => 'CertPicture', + 'in' => 'query', + 'schema' => ['description' => 'The BASE64 encoding of the portrait photo to be verified. **Remove the encoded URI information (such as `data:image/png;base64,`) before submission**. The photo size and the BASE64-encoded size must not exceed 50 KB.', 'type' => 'string', 'required' => true, 'example' => 'iVBOFMKODOFNDFP123DFSMOO...', 'title' => ''], + ], + [ + 'name' => 'Mask', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to encrypt. Currently only unencrypted is supported.', 'type' => 'string', 'required' => false, 'example' => '不加密', 'default' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ @@ -210,74 +132,83 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about why access was denied.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'IsConsistent' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], + 'IsConsistent' => ['description' => 'Indicates whether the verification result is consistent. Returned values:'."\n" + ."\n" + .'- 0: The name matches the ID card number, but they are recognized as not the same person.'."\n" + ."\n" + .'- 1: The name matches the ID card number, and they are recognized as the same person.'."\n" + ."\n" + .'- 2: The name matches the ID card number, and they are suspected to be the same person.'."\n" + ."\n" + .'- 3: The name matches the ID card number, but no portrait information is found in the database.'."\n" + ."\n" + .'- 4: Invalid identity information (the name does not match the ID card number).'."\n" + ."\n" + .'- 5: The photo quality is unqualified.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + .'- OK: The request is successful.'."\n" + .'- For other error codes, see the error code list below.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'ID Card Three Elements Verification', + 'description' => '- Before using this API, log on to the Cell Phone Number Service console, go to the Tag Square page, find the corresponding tag, click Apply to Activate, fill in the application materials, and use the tag after the application is approved.'."\n" + .'- Before using this API, make sure that you have fully understood the [Cell Phone Number Service pricing](~~154751~~).'."\n" + .'- Billing applies only when the API return value is Code="OK". Other return results are not billed.'."\n" + .'- For the verifiable scope, see [ID Card Three Elements Verification](~~2844379~~).'."\n" + .'### QPS limit'."\n" + ."\n" + .'- The per-user QPS limit for this API is 200 calls per second. If you exceed the limit, API calls are throttled, which may affect your business. Call the API reasonably.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoThreeElementVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoThreeElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'CertNoThreeElementVerification' => [ - 'summary' => '身份证三要素', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'CertNoTwoElementVerification' => [ + 'summary' => 'Two-element (name and ID card number) verification. Used to verify whether the name and ID card number entered by a user belong to the same person.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -287,62 +218,26 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '231962', - 'abilityTreeNodes' => [ - 'FEATUREdytnsOFD0CE', - ], + 'abilityTreeCode' => '200459', + 'abilityTreeNodes' => ['FEATUREdytnsHIUT2Z'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> In **Cell Phone Number Service** -> [**Tag Marketplace**](https://dytns.console.aliyun.com/analysis/square), select a tag and submit an application for use. After the application is approved, you will obtain the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], ], [ 'name' => 'CertName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '示例值', - ], + 'schema' => ['description' => 'The name to be verified.', 'type' => 'string', 'required' => true, 'example' => '张三', 'title' => ''], ], [ 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '3***************0', - ], - ], - [ - 'name' => 'CertPicture', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'iVBOFMKODOFNDFP123DFSMOO...', - ], - ], - [ - 'name' => 'Mask', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值', - 'default' => 'NORMAL', - ], + 'schema' => ['description' => 'The ID card number to be verified.', 'type' => 'string', 'required' => true, 'example' => '3***************0', 'title' => ''], ], ], 'responses' => [ @@ -350,75 +245,74 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'IsConsistent' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], + 'IsConsistent' => ['description' => 'Indicates whether the verification result is consistent. Valid values:'."\n" + ."\n" + .'- **1**: Consistent'."\n" + ."\n" + .'- **0**: Inconsistent'."\n" + ."\n" + .'- **2**: Not found', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Two-Element Verification for ID Card', + 'description' => '- Before using this operation, make sure that you have fully understood the pricing of Cell Phone Number Service.'."\n" + .'- Before using this operation, log on to the Cell Phone Number Service console. On the Tag Marketplace page, find the desired tag, click Apply to Activate, and fill in the application information. You can use the operation only after your application is approved.'."\n" + .'- The operation is charged when the response contains Code="OK" and IsConsistent != 2. Other response results are not charged.'."\n" + ."\n" + .'## QPS Limit'."\n" + .'The per-user QPS limit of this operation is 200 calls per second. If the limit is exceeded, the API calls are throttled, which may affect your business. Call the operation properly.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoTwoElementVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoTwoElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'GetUAIDApplyTokenSign' => [ - 'summary' => 'Obtains the signature of an authorization token when China Mobile, China Unicom, or China Telecom provides the Uniform Anonymous Identifier (UAID) capability.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CompanyFourElementsVerification' => [ + 'summary' => 'Verifies the enterprise name, enterprise certificate number, enterprise legal person name, and enterprise legal person ID card number. All four items must be consistent and the enterprise\'s operating status must be active for verification to pass.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -426,77 +320,39 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '195618', + 'abilityTreeNodes' => ['FEATUREdytnsVTODD4'], + ], 'parameters' => [ [ - 'name' => 'AuthCode', + 'name' => 'EpCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'HwD97InG', - ], + 'schema' => ['description' => 'The enterprise certificate number.', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627', 'title' => ''], ], [ - 'name' => 'OutId', + 'name' => 'EpCertName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'b8b5b3a*******0b9893484fdf412c99', - ], + 'schema' => ['description' => 'The enterprise name (required).', 'type' => 'string', 'required' => false, 'example' => '某企业', 'title' => ''], ], [ - 'name' => 'ClientType', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '30300', - ], - ], - [ - 'name' => 'ParamKey', + 'name' => 'LegalPersonCertName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '955EC1A869852EA8BC66F********D7C6E92017BBD5B001C736EFEAFB775C232', - ], + 'schema' => ['description' => 'The name of the enterprise legal person.'."\n" + .'> If the enterprise has multiple legal persons, separate them with a Chinese enumeration comma ("、").', 'type' => 'string', 'required' => true, 'example' => '张三', 'title' => ''], ], [ - 'name' => 'ParamStr', + 'name' => 'LegalPersonCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'B2F0D4CD7A216D16CE2AF4BBC********29A454FDDD991F919106C12CB89ABA8', - ], + 'schema' => ['description' => 'The ID card number of the enterprise legal person.'."\n" + .'> If the enterprise has multiple ID card numbers, separate them with a Chinese enumeration comma ("、").', 'type' => 'string', 'required' => true, 'example' => '610321********0011、510180********0022', 'title' => ''], ], [ - 'name' => 'Time', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '20121227180001165', - ], - ], - [ - 'name' => 'Carrier', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'CM', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + .'>Log on to the [Cell Phone Number Service console](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC) and go to the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page to obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], ], 'responses' => [ @@ -504,86 +360,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The common parameter. The ID returned for each request is unique and can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The structure.', 'type' => 'object', 'properties' => [ - 'OutId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'b8b5b3a*******0b9893484fdf412c99', - ], - 'Sign' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'D2E204D74EEB373E468632********23F592C4C9', + 'DetailInfo' => [ + 'description' => 'The enterprise details.', + 'type' => 'object', + 'properties' => [ + 'OpenTime' => ['description' => 'The business term of the enterprise.', 'type' => 'string', 'example' => '2023-05-25/2053-05-24', 'title' => ''], + 'EnterpriseStatus' => ['description' => 'The operating status of the enterprise.', 'type' => 'string', 'example' => '在营(开业)', 'title' => ''], + ], + 'example' => '{ "enterpriseStatus": "在营(开业)", '."\n" + .'"openTime": "2023-05-25/2053-05-24" }', + 'title' => '', ], - 'Carrier' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CM', + 'InconsistentData' => [ + 'description' => 'The fields that failed verification.', + 'type' => 'array', + 'items' => ['description' => '- EpCertName: enterprise name'."\n" + .'- EpCertNo: enterprise certificate number'."\n" + .'- CertName: enterprise legal person name'."\n" + .'- CertNo: enterprise legal person certificate number', 'type' => 'string', 'example' => 'CertName', 'title' => ''], + 'example' => '', + 'title' => '', ], + 'VerifyResult' => ['description' => 'The verification result. Valid values:'."\n" + .'- true: The information is consistent and the enterprise is operating normally.'."\n" + .'- false: Verification failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ReasonCode' => ['description' => 'The verification result code. Valid values:'."\n" + ."\n" + .'- 0: Verification passed.'."\n" + .'- 1: Verification passed, but the enterprise is not operating normally.'."\n" + .'- 2: The legal person and enterprise information are inconsistent.'."\n" + .'- 3: The enterprise four-element verification failed.'."\n" + .'- 4: The enterprise was not found.'."\n" + .'- 5: The legal person was not found in the database.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Enterprise Four-Element Verification', + 'description' => '- Before you use this API, make sure that you fully understand the billing method and prices of the Enterprise Four-Element Verification product. For billing details, see [Product Billing](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4).'."\n" + .'- Billing applies when VerifyResult returns true/false and ReasonCode is 0, 1, or 2 in the response. Billing does not apply in other cases.'."\n" + .'- Before you use this API, log on to the [Cell Phone Number Service console](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC&lang=zh), go to the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply to Activate**, and submit your application. You can use the API after the application is approved.'."\n" + ."\n" + .'### QPS limit'."\n" + .'The per-user QPS limit for this API is 200 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Call the API appropriately.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyFourElementsVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CompanyFourElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"OutId\\": \\"b8b5b3a*******0b9893484fdf412c99\\",\\n \\"Sign\\": \\"D2E204D74EEB373E468632********23F592C4C9\\",\\n \\"Carrier\\": \\"CM\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'GetUAIDApplyTokenSign', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"true\\",\\n \\"ReasonCode\\": 0\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'UAIDVerification' => [ - 'summary' => 'Obtains a Uniform Anonymous Identifier (UAID) based on the authorization token of a carrier. For more information about how to obtain the authorization token and its signature value, see the GetUAIDApplyTokenSign documentation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CompanyThreeElementsVerification' => [ + 'summary' => 'Used to verify a company name, company certificate number, and the name of the company\'s legal representative. Verification passes only when all three are consistent and the company\'s operating status is in business.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -592,80 +461,33 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '195916', - 'abilityTreeNodes' => [ - 'FEATUREdytnsQNXFTN', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '195616', + 'abilityTreeNodes' => ['FEATUREdytnsRFNMHG'], ], 'parameters' => [ [ - 'name' => 'OutId', + 'name' => 'EpCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'b8b5b3a*******0b9893484fdf412c99'."\n", - ], + 'schema' => ['description' => 'The company certificate number.', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627', 'title' => ''], ], [ - 'name' => 'Carrier', + 'name' => 'EpCertName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'CM', - ], + 'schema' => ['description' => 'The company name.', 'type' => 'string', 'required' => true, 'example' => '某企业', 'title' => ''], ], [ - 'name' => 'Token', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'MIGfMA0********3DQEBAQUAA4GNADCB', - ], - ], - [ - 'name' => 'UserGrantId', + 'name' => 'LegalPersonCertName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'Md****a3Em', - ], + 'schema' => ['description' => 'The name of the company\'s legal representative.'."\n" + .'>If the company has multiple legal representatives, separate the names with the Chinese enumeration comma ("、").', 'type' => 'string', 'required' => true, 'example' => '张三', 'title' => ''], ], [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'HwD97InG', - ], - ], - [ - 'name' => 'Ip', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'example' => '示例值', - ], - ], - [ - 'name' => 'Province', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'>Log on to the [Cell Phone Number Service console](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC) and go to the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page to obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], ], 'responses' => [ @@ -673,76 +495,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '-', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The common parameter. Each request returns a unique ID, which can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177', 'title' => ''], + 'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Uaid' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'B1E0C1********9F757AF52A035', + 'DetailInfo' => [ + 'description' => 'The company details.', + 'type' => 'object', + 'properties' => [ + 'OpenTime' => ['description' => 'The business term of the company.', 'type' => 'string', 'example' => '2023-05-25/2053-05-24', 'title' => ''], + 'EnterpriseStatus' => ['description' => 'The operating status of the company.', 'type' => 'string', 'example' => '在营(开业)', 'title' => ''], + ], + 'example' => '{'."\n" + .' "enterpriseStatus": "在营(开业)",'."\n" + .' "openTime": "2023-05-25/2053-05-24"'."\n" + .'}', + 'title' => '', + ], + 'InconsistentData' => [ + 'description' => 'The fields whose verification results are inconsistent.', + 'type' => 'array', + 'items' => ['description' => '- EpCertName: the company name'."\n" + .'- EpCertNo: the company certificate number'."\n" + .'- CertName: the name of the company\'s legal representative', 'type' => 'string', 'example' => 'CertName', 'title' => ''], + 'example' => '', + 'title' => '', ], + 'VerifyResult' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- true: The information is consistent and the company is operating normally.'."\n" + .'- false: The verification failed.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'ReasonCode' => ['description' => 'The verification result code. Valid values:'."\n" + ."\n" + .'- 0: The verification is consistent.'."\n" + .'- 1: The verification is consistent, but the company is not operating normally.'."\n" + .'- 2: The person-company verification is inconsistent.'."\n" + .'- 3: The two-element company verification failed.'."\n" + .'- 4: The company is not found.'."\n" + .'- 5: The person does not exist in the database.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Three-Element Company Verification', + 'description' => '- Before you use this API, make sure that you have fully understood the billing method and pricing of the Three-Element Company Verification product. For billing details, see [Billing](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4).'."\n" + .'- In the returned result, charges apply when VerifyResult is true/false and ReasonCode is 0/1/2. No charges apply in other cases.'."\n" + .'- Before you use this API, log on to the [Cell Phone Number Service console](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC&lang=zh), go to the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply for Activation**, and submit the application materials. You can use the API after the application is approved.'."\n" + ."\n" + .'### QPS limit'."\n" + .'The per-user QPS limit for this API is 200 calls per second. Requests that exceed this limit are throttled, which may affect your business. Call this API at a reasonable rate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyThreeElementsVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Data\\": {\\n \\"Uaid\\": \\"B1E0C1********9F757AF52A035\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'UAIDVerification', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"false\\",\\n \\"ReasonCode\\": 2\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], 'CompanyTwoElementsVerification' => [ - 'summary' => 'Verifies whether the enterprise name and the business license number belong to the same enterprise. The verification is successful only when the two elements belong to the same enterprise and the business status of the enterprise is Active.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Used to verify the enterprise name and enterprise certificate number. The name and certificate must be fully consistent, and the enterprise must be in operating status for the verification to pass.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -750,41 +597,24 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'EpCertNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The business license number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '9242032*******J627'."\n", - ], + 'schema' => ['description' => 'Enterprise certificate number.', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627'."\n", 'title' => ''], ], [ 'name' => 'EpCertName', 'in' => 'query', - 'schema' => [ - 'description' => 'The enterprise name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '示例值示例值', - ], + 'schema' => ['description' => 'Enterprise name.', 'type' => 'string', 'required' => true, 'example' => '某企业', 'title' => ''], ], [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'Authorization code.'."\n" + ."\n" + .'>Log on to the [Cell Phone Number Service console](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC), and obtain the authorization ID (i.e., authorization code) on the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], ], 'responses' => [ @@ -792,121 +622,102 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => 'The details about the access denial.'."\n", - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The common parameter. Each request returns a unique ID, which can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177', 'title' => ''], + 'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The struct.', 'type' => 'object', 'properties' => [ 'DetailInfo' => [ - 'description' => 'The information about the enterprise.'."\n", + 'description' => 'Enterprise details.'."\n" + ."\n" + .'> This field is not returned for public institutions or civil groups.', 'type' => 'object', 'properties' => [ - 'OpenTime' => [ - 'description' => 'The business term of the enterprise.'."\n", - 'type' => 'string', - 'example' => '2023-05-25/2053-05-24', - ], - 'EnterpriseStatus' => [ - 'description' => 'The business status of the enterprise.'."\n", - 'type' => 'string', - 'example' => 'Active'."\n", - ], + 'OpenTime' => ['description' => 'The business term of the enterprise.', 'type' => 'string', 'example' => '2023-05-25/2053-05-24', 'title' => ''], + 'EnterpriseStatus' => ['description' => 'The operating status of the enterprise.', 'type' => 'string', 'example' => '在营(开业)', 'title' => ''], ], - 'example' => '', + 'example' => '{'."\n" + .' "enterpriseStatus": "在营(开业)",'."\n" + .' "openTime": "2023-05-25/2053-05-24"'."\n" + .'}', + 'title' => '', ], 'InconsistentData' => [ - 'description' => 'The fields to be verified.'."\n", + 'description' => 'The fields that are inconsistent in the verification.', 'type' => 'array', - 'items' => [ - 'description' => '* EpCertName: the enterprise name.'."\n" - .'* EpCertNo: the business license number.'."\n", - 'type' => 'string', - 'example' => 'EpCertName', - ], + 'items' => ['description' => '- EpCertName: Enterprise name'."\n" + .'- EpCertNo: Enterprise certificate number', 'type' => 'string', 'example' => 'EpCertName', 'title' => ''], 'example' => '', + 'title' => '', ], - 'VerifyResult' => [ - 'description' => 'The verification result. Valid values:'."\n" - ."\n" - .'* true: The two elements belong to the same enterprise and the business status of the enterprise is Active.'."\n" - .'* false: The two elements do not belong to the same enterprise.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ReasonCode' => [ - 'description' => 'The code of the verification result. Valid values:'."\n" - ."\n" - .'* 0: The two elements belong to the same enterprise.'."\n" - .'* 1: The two elements belong to the same enterprise, but the business status of the enterprise is abnormal.'."\n" - .'* 3: The two elements do not belong to the same enterprise.'."\n" - .'* 4: No information about the enterprise is found.'."\n", - 'type' => 'string', - 'example' => '0', - ], + 'VerifyResult' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- true: The information is verified to be consistent, and the enterprise is operating normally.'."\n" + .'- false: The verification failed.'."\n" + ."\n" + .'> The operating status verification is not supported for public institutions or civil groups. Only the consistency between the enterprise name and the enterprise certificate number is verified.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ReasonCode' => ['description' => 'The verification result code. Valid values:'."\n" + ."\n" + .'- 0: Verification consistent'."\n" + .'- 1: Verification consistent, the enterprise is not in normal operation'."\n" + .'- 3: The two enterprise elements failed verification'."\n" + .'- 4: No such enterprise found', 'type' => 'string', 'example' => '0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The response code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Enterprise Two-Element Verification', + 'description' => '- Before you use this API, make sure that you fully understand the billing methods and pricing of the Enterprise Two-Element Verification product. For billing details, see [Product billing](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4).'."\n" + .'- Billing applies when Code=OK and ReasonCode=0/1/3 in the returned result. Other cases are not billed.'."\n" + .'- Before you use this API, log on to the [Cell Phone Number Service console](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC&lang=zh), find the corresponding tag on the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page, click **Apply to Activate**, and fill in the application materials. After the application is approved, you can use the API.'."\n" + ."\n" + .'### QPS limit'."\n" + .'The single-user QPS limit for this API is 200 times/second. If the limit is exceeded, API calls will be throttled, which may affect your business. Please call the API reasonably.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyTwoElementsVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyTwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"EpCertName\\"\\n ],\\n \\"VerifyResult\\": \\"true\\",\\n \\"ReasonCode\\": \\"0\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'CompanyTwoElementsVerification', - 'description' => '* Before you call this operation, make sure that you are familiar with the billing of services related to two-element verification for enterprises. For more information, see [Billing](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4).'."\n" - .'* You are charged only if the value of VerifyResult is true or false and the value of ReasonCode is 0 or 1.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the [Cell Phone Number Service console](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC\\&lang=zh). On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n", ], - 'CompanyThreeElementsVerification' => [ - 'summary' => 'Verifies whether the enterprise name, the business license number, and the name of the legal representative belong to the same enterprise. The verification is successful only when the three elements belong to the same enterprise and the business status of the enterprise is Active.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteContacts' => [ + 'summary' => 'Deletes a contact.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -915,1848 +726,1457 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '195616', - 'abilityTreeNodes' => [ - 'FEATUREdytnsRFNMHG', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '35631', + 'abilityTreeNodes' => ['FEATUREdytnsVCETJO'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'EpCertNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'The business license number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '9242032*******J627', - ], - ], - [ - 'name' => 'EpCertName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The enterprise name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '示例值', - ], - ], - [ - 'name' => 'LegalPersonCertName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the legal representative.'."\n" - ."\n" - .'> If an enterprise has multiple legal representatives, separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '示例值示例值', - ], - ], - [ - 'name' => 'AuthCode', + 'name' => 'ContactId', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The ID of the contact.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '5454735262', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => 'The details about the access denial.'."\n", - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'DetailInfo' => [ - 'description' => 'The information about the enterprise.'."\n", - 'type' => 'object', - 'properties' => [ - 'OpenTime' => [ - 'description' => 'The business term of the enterprise.'."\n", - 'type' => 'string', - 'example' => '2023-05-25/2053-05-24', - ], - 'EnterpriseStatus' => [ - 'description' => 'The business status of the enterprise.'."\n", - 'type' => 'string', - 'example' => 'Active'."\n", - ], - ], - 'example' => '', - ], - 'InconsistentData' => [ - 'description' => 'The fields to be verified.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '* EpCertName: the enterprise name.'."\n" - .'* EpCertNo: the business license number.'."\n" - .'* CertName: the name of the legal representative.'."\n", - 'type' => 'string', - 'example' => 'CertName', - ], - 'example' => '', - ], - 'VerifyResult' => [ - 'description' => 'The verification result. Valid values:'."\n" - ."\n" - .'* true: The three elements belong to the same enterprise and the business status of the enterprise is Active.'."\n" - .'* false: The three elements do not belong to the same enterprise.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ReasonCode' => [ - 'description' => 'The code of the verification result. Valid values:'."\n" - ."\n" - .'* 0: The three elements belong to the same enterprise.'."\n" - .'* 1: The three elements belong to the same enterprise, and the business status of the enterprise is abnormal.'."\n" - .'* 2: The legal representative information cannot match the enterprise information.'."\n" - .'* 3: The three elements do not belong to the same enterprise.'."\n" - .'* 4: No information about the enterprise is found.'."\n" - .'* 5: No information about the legal representative is found.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - 'Code' => [ - 'description' => 'The response code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Code' => ['description' => 'The response code. `OK` indicates a successful request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => ['description' => 'Indicates whether the operation succeeded. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'title' => '', 'example' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Delete a contact', + 'description' => '- Make sure you have activated Phone Number Identity Service before calling this operation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:DeleteContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"false\\",\\n \\"ReasonCode\\": 2\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'CompanyThreeElementsVerification', - 'description' => '* Before you call this operation, make sure that you are familiar with the billing of services related to three-element verification for enterprises. For more information, see [Billing](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4).'."\n" - .'* You are charged only if the value of VerifyResult is true or false and the value of ReasonCode is 0, 1, or 2.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the [Cell Phone Number Service console](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC\\&lang=zh). On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": false\\n}","type":"json"}]', ], - 'CompanyFourElementsVerification' => [ - 'summary' => 'Verifies whether the enterprise name, the business license number, and the name and ID card of the legal representative belong to the same enterprise. The verification is successful only when the preceding four elements belong to the same enterprise and the business status of the enterprise is Active.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeEmptyNumber' => [ + 'summary' => 'Predicts whether a phone number is invalid by using AI algorithms.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '195618', - 'abilityTreeNodes' => [ - 'FEATUREdytnsVTODD4', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '162520', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ - 'name' => 'EpCertNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'The business license number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '9242032*******J627', - ], - ], - [ - 'name' => 'EpCertName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The enterprise name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值', - ], - ], - [ - 'name' => 'LegalPersonCertName', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the legal representative.'."\n" - ."\n" - .'> If an enterprise has multiple legal representatives, separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '示例值', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page of the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'."\n", 'title' => ''], ], [ - 'name' => 'LegalPersonCertNo', + 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID card number of the legal representative.'."\n" - ."\n" - .'> If an enterprise has multiple legal representatives, separate the ID card numbers with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '331021********0011', - ], + 'schema' => ['description' => 'The phone number to query.'."\n" + ."\n\n" + .'> Only single-number queries are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => '189****1234', 'title' => ''], ], [ - 'name' => 'AuthCode', + 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The encryption method for the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: no encryption.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**.', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => 'The details about the access denial.'."\n", - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'DetailInfo' => [ - 'description' => 'The information about the enterprise.'."\n", - 'type' => 'object', - 'properties' => [ - 'OpenTime' => [ - 'description' => 'The business term of the enterprise.'."\n", - 'type' => 'string', - 'example' => '2023-05-25/2053-05-24', - ], - 'EnterpriseStatus' => [ - 'description' => 'The business status of the enterprise.'."\n", - 'type' => 'string', - 'example' => 'Active'."\n", - ], - ], - 'example' => '', - ], - 'InconsistentData' => [ - 'description' => 'The fields to be verified.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '* EpCertName: the enterprise name.'."\n" - .'* EpCertNo: the business license number.'."\n" - .'* CertName: the name of the legal representative.'."\n" - .'* CertNo: the ID card number of the legal representative.'."\n", - 'type' => 'string', - 'example' => 'CertName', - ], - 'example' => '', - ], - 'VerifyResult' => [ - 'description' => 'The verification result. Valid values:'."\n" - ."\n" - .'* true: The four elements belong to the same enterprise and the business status of the enterprise is Active.'."\n" - .'* false: The four elements do not belong to the same enterprise.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'ReasonCode' => [ - 'description' => 'The code of the verification result. Valid values:'."\n" - ."\n" - .'* 0: The four elements belong to the same enterprise.'."\n" - .'* 1: The four elements belong to the same enterprise, but the business status of the enterprise is abnormal.'."\n" - .'* 2: The legal representative information cannot match the enterprise information.'."\n" - .'* 3: The four elements do not belong to the same enterprise.'."\n" - .'* 4: No information about the enterprise is found.'."\n" - .'* 5: No information about the legal representative is found.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], + 'Status' => ['description' => '检测手机号返回状态。取值:'."\n" + ."\n" + .'- **EMPTY**:空号。'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + ."\n" + .'- **SUSPECT_EMPTY**:疑似空号。'."\n" + ."\n" + .'- **UNKNOWN**:未知。'."\n", 'type' => 'string', 'example' => 'EMPTY', 'title' => ''], + 'Number' => ['description' => '传入的手机号。', 'type' => 'string', 'example' => '189****1234', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The response code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '返回状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + ."\n" + .'- **InvalidPhoneNumber.Check**:手机号非法。', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Detect invalid phone numbers', + 'description' => '- 本接口用于验证号码是否为空号。发起调用该接口验证号码请求时,系统会根据验证次数计费,标准价为0.01元/次。**请确保在使用该接口前,已充分了解本产品的收费方式和价格。**'."\n" + .'- 当返回结果中:Code="OK" 且 Status != UNKNOWN 时计费,其他情况不计费。 '."\n" + .'- 由于本产品通过AI算法预测手机号的空号概率,所以无法做到100%准确。当前评估的准确率和召回率约为95%左右。**调用时请注意差别**。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + ."\n" + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。'."\n" + ."\n" + .'### 授权信息'."\n" + .'默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。具体请参见[为RAM用户授权](~~154006~~)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEmptyNumber'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribeEmptyNumber', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"true\\",\\n \\"ReasonCode\\": 0\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'CompanyFourElementsVerification', - 'description' => '* Before you call this operation, make sure that you are familiar with the billing of services related to four-element verification for enterprises. For more information, see [Billing](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4).'."\n" - .'* You are charged only if the value of VerifyResult is true or false and the value of ReasonCode is 0, 1, or 2.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the [Cell Phone Number Service console](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC\\&lang=zh). On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"EMPTY\\",\\n \\"Number\\": \\"189****1234\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'DescribePhoneNumberOperatorAttribute' => [ - 'summary' => 'Queries the attribute information about a phone number, including the registration province, registration city, basic carrier (such as China Mobile, China Unicom, China Telecom, or China Broadnet), reseller of mobile communications services (such as Alibaba Communications), mobile number portability, and the number segment to which the phone number belongs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribePhoneNumberAnalysis' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '139022', - 'abilityTreeNodes' => [ - 'FEATUREdytnsK1J228', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'InputNumber', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify an 11-digit phone number in plaintext.'."\n" - .'* If the value of Mask is MD5, specify a 32-bit string that is encrypted by using MD5.'."\n" - .'* If the value of Mask is SHA256, specify a 64-bit string that is encrypted by using SHA256.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '139****1234', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> Log on to the [Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), go to the **My Applications** page, and obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], ], [ - 'name' => 'AuthCode', + 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The phone number to be queried.', 'type' => 'string', 'required' => true, 'example' => '187****5620', 'title' => ''], ], [ - 'name' => 'Mask', + 'name' => 'NumberType', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**: The phone number is MD5-encrypted.'."\n" - .'* **SHA256**: The phone number is SHA256-encrypted.'."\n" - ."\n" - .'> Letters in the string must be uppercase.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'MD5', - ], + 'schema' => ['description' => 'The type of the phone number. Valid values:'."\n" + ."\n" + .'- **0**: mobile phone number'."\n" + ."\n" + .'- **1**: mobile IMEI number', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'FlowName', + 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'example' => '示例值', - ], + 'schema' => ['description' => 'The encryption method of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: no encryption'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', 'type' => 'string', 'required' => false, 'example' => 'NORMAL', 'title' => ''], ], [ - 'name' => 'ResultCount', + 'name' => 'Rate', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值示例值', - ], + 'schema' => ['description' => 'The score threshold of the phone number. Valid values: **0 to 100**.'."\n" + ."\n" + .'><notice>Whether the specified score threshold is accepted is determined by the server. When the specified score threshold is not accepted, the data entered in this field is invalid.></notice>', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'type' => 'string', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This parameter is returned only if RAM verification fails.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The description of the phone number status.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The information about the phone number analysis result.', 'type' => 'object', 'properties' => [ - 'BasicCarrier' => [ - 'description' => 'The basic carrier. Valid values:'."\n" - ."\n" - .'* **China Mobile**'."\n" - .'* **China Unicom**'."\n" - .'* **China Telecom**'."\n" - .'* **China Broadnet**'."\n", - 'type' => 'string', - 'example' => 'China Mobile', - ], - 'NumberSegment' => [ - 'description' => 'The number segment to which the phone number belongs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '139', - ], - 'IsNumberPortability' => [ - 'description' => 'Indicates whether the phone number involves mobile number portability. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Carrier' => [ - 'description' => 'The actual carrier, including the virtual network operator (VNO). If the phone number involves mobile number portability, the value of this parameter is the carrier after mobile number portability.'."\n", - 'type' => 'string', - 'example' => 'China Mobile', - ], - 'City' => [ - 'description' => 'The city where the phone number is registered.'."\n", - 'type' => 'string', - 'example' => 'hangzhou', - ], - 'Province' => [ - 'description' => 'The province where the phone number is registered.'."\n", - 'type' => 'string', - 'example' => 'zhejiang', + 'List' => [ + 'description' => 'The data list.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Number' => ['description' => 'The mobile phone number that is passed in.', 'type' => 'string', 'example' => '187****5620', 'title' => ''], + 'Code' => ['description' => 'The result code returned.'."\n" + .'- YES: valid'."\n" + .'- NO: invalid'."\n" + .'- UNKNOWN: unknown', 'type' => 'string', 'example' => 'NO', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'example' => '', + 'title' => '', ], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **InvalidParameter**: The specified phone number is invalid or the parameter format is invalid.'."\n" - .'* **PhoneNumberNotfound**: No attribute information can be found for the specified phone number.'."\n" - .'* **isp.UNKNOWN**: An unknown exception occurred.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + ."\n" + .' **OK**: The request was successful.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified mobile phone number is invalid.', - ], - [ - 'errorCode' => 'PhoneNumberNotfound', - 'errorMessage' => 'The queried number is not found.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The authorization code application failed and cannot be used.', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => ''], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => ''], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => ''], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'Phone number and encryption type do not match', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'RateIllegal', 'errorMessage' => 'Illegal threshold parameter', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'invalid parameter', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The authorization code application failed and cannot be used.', 'description' => 'Failed to apply for an authorization code.'], + ['errorCode' => 'TagNotExist', 'errorMessage' => 'The label does not exist.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"NumberSegment\\": 139,\\n \\"IsNumberPortability\\": false,\\n \\"Carrier\\": \\"中国移动\\",\\n \\"City\\": \\"杭州\\",\\n \\"Province\\": \\"浙江\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'DescribePhoneNumberOperatorAttribute', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154008~~) of Cell Phone Number Service.'."\n" - .'* By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" - .'* You can call this operation to obtain the carrier, registration location, and mobile number portability information about a phone number. You can query phone numbers in **plaintext** and phone numbers that are encrypted by using **MD5** and **SHA256**.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n", - 'responseParamsDescription' => '### Causes of returning response codes and solutions'."\n" + 'title' => 'Query phone number analysis results', + 'summary' => 'Obtains the result returned by phone number analysis.', + 'description' => '- Before you use this API, log on to the Phone Number Service console, go to the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply to Activate**, fill in the application materials, and then use the API after the application is approved.'."\n" + .'- Before you use this API, make sure that you fully understand the [billing](~~154008~~) of Phone Number Service.'."\n" ."\n" - .'|Response code|Cause|Solution|'."\n" - .'|---|---|---|'."\n" - .'|OK|The request parameters meet the requirements.|This indicates that the request is successful.|'."\n" - .'|InvalidParameter|The format of the specified phone number is invalid or the request parameter does not meet the requirements of the API operation.|Enter a correct phone number or modify the format of the request parameter, and then resubmit the request. For example, you can delete the invisible characters and white-space characters in the phone number, and change the characters to half-width characters.|'."\n" - .'|PhoneNumberNotfound|No attribute information can be found for the specified phone number.|Specify another phone number.|'."\n" - .'|isp.UNKNOWN|An unknown exception is returned.|Call the operation again. We recommend that you do not call the operation more than three times.|'."\n" + .'### QPS limit'."\n" + .'The QPS limit of this API is 1,000 calls per second per user. If the limit is exceeded, API calls are throttled, which may affect your business. Make calls properly.'."\n" ."\n" - .'### Description of BasicCarrier and Carrier'."\n" + .'### Authorization information'."\n" + .'By default, only Alibaba Cloud accounts can use this API. RAM users can use this API only after they are granted the related API operation permissions. For more information, see [Authorize a RAM user](~~154006~~).', + 'responseParamsDescription' => '### Status code reasons and solutions'."\n" + .'|HttpCode|Return code|Description|Solution|'."\n" + .'| ------- | ------- | ------- | ------- |'."\n" + .'|200|OK|Success.|Indicates that the API call is successful.|'."\n" ."\n" - .'|Phone number segment|Mobile number portability|Returned value of BasicCarrier|Returned value of Carrier|'."\n" - .'|---|---|---|---|'."\n" - .'|Phone number segment managed by basic carriers|Yes|Basic carriers after mobile number portability, such as China Mobile, China Unicom, China Telecom, and China Broadnet|Basic carriers after mobile number portability, such as China Mobile, China Unicom, China Telecom, and China Broadnet|'."\n" - .'|Phone number segment managed by basic carriers|No|Basic carriers such as China Mobile, China Unicom, China Telecom, and China Broadnet|Basic carriers such as China Mobile, China Unicom, China Telecom, and China Broadnet|'."\n" - .'|Phone number segment managed by VNOs|Not supported|Basic carriers such as China Mobile, China Unicom, China Telecom, and China Broadnet|VNOs such as Alibaba Cloud Communications|', - ], - 'PhoneNumberStatusForPublic' => [ - 'summary' => 'Queries the real-time service state of a phone number. The state includes NORMAL, SHUTDOWN, and NOT_EXIST. You can choose an encryption method for your phone number query, including plaintext, MD5, and SHA256.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'### Exception reasons and solutions'."\n" + .'|HttpCode|Error code|Description|Solution|'."\n" + .'| ------- | ------- | ------- | ------- |'."\n" + .'|400|MobileNumberIllegal|The mobile phone number is invalid.|If the mobile phone number is not encrypted, enter a valid 11-digit phone number. If the mobile phone number is encrypted with MD5, this field is a 32-character encrypted string. If the mobile phone number is encrypted with SHA256, this field is a 64-character encrypted string.|'."\n" + .'|400|EncyrptTypeIllegal|The encryption type is invalid.|Only NORMAL, MD5, and SHA256 encryption methods are supported, and the value must be in uppercase characters.|'."\n" + .'|400|MobileNumberTypeNotMatch|The mobile phone number does not match the encryption type.|Enter the correct mobile phone number format and encryption type.|'."\n" + .'|400|AuthCodeNotExist|The authorization code does not exist or is unavailable.|The authorization code does not exist or has not passed the review. Verify the correctness of the authorization code.|'."\n" + .'|400|TagNotExist|The tag or business resource does not exist.|The tag does not exist or the business resource does not exist. Verify the availability of the tag.|'."\n" + .'|400|RateIllegal|The threshold parameter is invalid.|The threshold parameter is invalid. Check whether the threshold parameter complies with the requirements.|'."\n" + .'|400|InvalidParameter|Invalid parameter.|A request parameter is incorrect. Check whether the parameters are correct.|'."\n" + .'|400|System.LimitControl|Throttling error.|Limit the query frequency within the normal range. For phone numbers that return this error code, perform appropriate re-queries. We recommend that you do not repeat the query more than three times.|'."\n" + .'|500|SystemError|System exception.|A system error occurred. Try again later.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysis'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"List\\": [\\n {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"NO\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'DescribePhoneNumberAnalysisAI' => [ + 'summary' => 'Get the phone number analysis result.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '157166', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'AuthCode', + 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The phone number to query.', 'type' => 'string', 'required' => true, 'example' => '187****5620', 'title' => ''], ], [ - 'name' => 'InputNumber', + 'name' => 'Rate', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, the value of this field is an 11-digit phone number.'."\n" - .'* If the value of Mask is MD5, the value of this field is a 32-bit encrypted string.'."\n" - .'* If the value of Mask is SHA256, the value of this field is a 64-bit encrypted string.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139****1234', - ], + 'schema' => ['description' => 'The phone number score threshold. Valid values: **0 to 100**.'."\n" + ."\n" + .'> Whether to accept the specified score threshold is determined by the server. When the specified score threshold is not accepted, the data entered in this field is invalid.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '96', 'title' => ''], ], [ - 'name' => 'Mask', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> In **Cell Phone Number Service** -> [**Tag Square**](https://dytns.console.aliyun.com/analysis/square), select a tag and submit a usage application. After the application is approved, you will receive the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'HwD***nG', 'title' => ''], + ], + [ + 'name' => 'ModelConfig', + 'in' => 'query', + 'schema' => ['description' => 'The model parameter configuration (required by some tag capabilities).', 'type' => 'string', 'required' => false, 'example' => '{"trainingJobId": "17**********48"}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The returned status for the queried phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The queried phone number can be reached.'."\n" - .'* **SHUTDOWN**: The queried phone number is suspended.'."\n" - .'* **POWER_OFF**: The phone is powered off.'."\n" - .'* **NOT_EXIST**: The queried phone number is a nonexistent number.'."\n" - .'* **SUSPECTED_POWER_OFF**: The phone is suspected to be powered off.'."\n" - .'* **BUSY**: The queried phone number is busy.'."\n" - .'* **UNKNOWN**: The queried phone number is unknown.'."\n" - ."\n" - .'> Due to system adjustment of the carrier, the BUSY and POWER_OFF states cannot be returned for the numbers assigned by China Telecom. [For more information, see the official announcements](https://help.aliyun.com/document_detail/2489709.html).'."\n", - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => 'The basic carrier who assigns the phone number. If the queried phone number involves mobile number portability, the carrier after mobile number portability is returned.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* **CMCC**: China Mobile'."\n" - .'* **CUCC**: China Unicom'."\n" - .'* **CTCC**: China Telecom'."\n" - ."\n" - .'> You are not allowed to query the phone numbers assigned by China Broadnet.'."\n", - 'type' => 'string', - 'example' => 'CMCC', - ], + 'Number' => ['description' => 'The phone number that was passed in.', 'type' => 'string', 'example' => '187****5620', 'title' => ''], + 'Code' => ['description' => 'The returned result code.'."\n" + ."\n" + .'- YES: valid'."\n" + .'- NO: invalid'."\n" + .'- UNKNOWN: unknown', 'type' => 'string', 'example' => 'YES', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **OperatorLimit**: The carrier prohibits the query of the phone number.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n" - ."\n" - .'> For a list of error codes, see [Service error codes](https://next.api.aliyun.com/document/Dytnsapi/2020-02-17/errorCode).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + .'- OK: success', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator', - ], - ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'PhoneNumberStatusForPublic', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 300 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'PhoneNumberStatusForAccount' => [ - 'summary' => 'Queries the real-time service state of a phone number. The state includes NORMAL, SHUTDOWN, and NOT_EXIST. You can choose an encryption method for your phone number query, including plaintext, MD5, and SHA256.', - 'methods' => [ - 'post', - 'get', + 'title' => 'Cell Phone Number AI Analysis Service', + 'description' => 'Before using this operation, log on to the Cell Phone Number Service console, go to the Tag Square page, find the corresponding tag, click Apply to activate, and fill in the application materials. You can use the operation after the application is approved.'."\n" + .'Make sure that you fully understand the billing of the Cell Phone Number Service before you use this operation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysisAI'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysisAI', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"YES\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'DescribePhoneNumberOnlineTime' => [ + 'summary' => 'Queries the duration for which a mobile user has been registered on the carrier\'s network.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '142578', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + .'> Log on to the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), go to the **My Applications** page, and obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify an 11-digit phone number in plaintext.'."\n" - .'* If the value of Mask is MD5, specify a 32-bit string that is encrypted by using MD5.'."\n" - .'* If the value of Mask is SHA256, specify a 64-bit string that is encrypted by using SHA256.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '139****1234', - ], + 'schema' => ['description' => 'The phone number to be queried.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is an 11-digit phone number.'."\n" + .'- If Mask is set to MD5, this field is a 32-character encrypted string.'."\n" + .'- If Mask is set to SHA256, this field is a 64-character encrypted string.'."\n" + ."\n" + .'><notice>Letters in the encrypted string are case-insensitive.></notice>', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The encryption method of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: no encryption'."\n" + .'- **MD5**'."\n" + .'- **SHA256**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], + ], + [ + 'name' => 'Carrier', + 'in' => 'query', + 'schema' => ['description' => 'The external carrier. Valid values:'."\n" + ."\n" + .'- **MOBILE**: China Mobile.'."\n" + .'- **UNICOM**: China Unicom.'."\n" + .'- **TELECOM**: China Telecom.'."\n" + ."\n" + .'><notice>This parameter is optional. Alibaba Cloud automatically determines the carrier type based on the phone number. The value of this field has no impact on the query result.></notice>', 'type' => 'string', 'required' => false, 'example' => 'UNICOM', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **OperatorLimit**: The carrier prohibits the query of the phone number.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + .'- **PortabilityNumberNotSupported**: The mobile number portability number is not supported.'."\n" + .'- **RequestFrequencyLimit**: Due to carrier restrictions, frequent repeated queries on the same number within a short period are prohibited. If this error code is returned, try again later.'."\n" + ."\n" + .'> Charges are incurred when Code is OK and VerifyResult is not -1. For billing details, see [Cell Phone Number Service Pricing](~~154751~~).'."\n" + .'>', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the number status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The returned status for the queried phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The queried phone number is valid.'."\n" - .'* **SHUTDOWN**: The queried phone number is suspended.'."\n" - .'* **POWER_OFF**: The queried phone number cannot be connected.'."\n" - .'* **NOT_EXIST**: The queried phone number is a nonexistent number.'."\n" - .'* **DEFECT**: The queried phone number is invalid.'."\n" - .'* **UNKNOWN**: The queried phone number is unknown.'."\n" - ."\n" - .'> Due to system adjustment of the carrier, the BUSY and POWER_OFF states cannot be returned for the numbers assigned by China Telecom. [For more information, see the official announcements](https://help.aliyun.com/document_detail/2489709.html).'."\n", - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => 'The basic carrier who assings the phone number. If the queried phone number involves mobile number portability, the carrier after mobile number portability is returned. Valid values:'."\n" - ."\n" - .'* **CMCC**: China Mobile'."\n" - .'* **CUCC**: China Unicom'."\n" - .'* **CTCC**: China Telecom'."\n" - ."\n" - .'> You are not allowed to query the phone numbers assigned by China Broadnet.'."\n", - 'type' => 'string', - 'example' => 'CMCC', - ], + 'VerifyResult' => ['description' => 'The enumeration value of the network registration duration. Valid values:'."\n" + ."\n" + .'- **-1**: No duration was found.'."\n" + .'- **0**: Abnormal phone status, for example, a non-existent number.'."\n" + .'- **1**: [0-3) months.'."\n" + .'- **2**: [3-6) months.'."\n" + .'- **3**: [6-12) months.'."\n" + .'- **4**: [12-24) months.'."\n" + .'- **5**: [24,+∞) months.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'CarrierCode' => ['description' => 'The carrier SMS status code. Valid values:'."\n" + .'- **CMCC**: China Mobile'."\n" + .'- **CUCC**: China Unicom'."\n" + .'- **CTCC**: China Telecom'."\n" + .'- **CBN**: China Broadnet', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], + ['errorCode' => 'PortabilityNumberNotSupported', 'errorMessage' => 'Number portability is not supported', 'description' => ''], ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Insufficient.Balance', 'errorMessage' => 'You have an insufficient balance.', 'description' => 'Your account does not have sufficient balance.'], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => ''], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => ''], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'Authorization code does not exist', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'Phone number and encryption type do not match', 'description' => ''], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Query Network Registration Duration', + 'description' => '- Before using this API, log on to the Cell Phone Number Service console, go to the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply for Activation**, fill in the application materials, and use the API after the application is approved.'."\n" + .'- Make sure that you fully understand the [product pricing](~~154751~~) of Cell Phone Number Service before using this API.'."\n" + .'### QPS limit'."\n" + .'The per-user QPS limit for this API is 200 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Call this API at a reasonable rate.', + 'responseParamsDescription' => '### Causes and solutions for status codes'."\n" + .'|HttpCode|Status Code|Cause|Solution|'."\n" + .'| ------- | ------- | ------- | ------ |'."\n" + .'|200|OK: success.|The request parameters meet the requirements.|Indicates that the API call was successful.|'."\n" + .'|200|PortabilityNumberNotSupported: The number query is not supported.|A small number of mobile number portability numbers return this error code.|We recommend that you query other numbers. The mobile number portability number has been deregistered on the original carrier side, and the new carrier regards the porting time as the account opening time. Therefore, the real status of the mobile number portability number cannot be accurately queried.|'."\n" + ."\n" + .'### Causes and solutions for exceptions'."\n" + .'|HttpCode|Status Code|Cause|Solution|'."\n" + .'| ------- | ------- | ------- | ------- |'."\n" + .'|400|AuthCodeNotExist: The authorization code does not exist.|The authorization code does not exist.|Apply for the required tag in the Cell Phone Number Service. After the application is approved and the authorization code is obtained, call the DescribePhoneNumberOnlineTime API.|'."\n" + .'|400|CarrierIllegal: Invalid carrier type.|Invalid carrier type.|Enter the correct carrier type. For encrypted numbers, this field is required and must be in uppercase.|'."\n" + .'|400|MobileNumberIllegal: Invalid phone number format in the request parameter.|The phone number format is incorrect.|If the phone number is not encrypted, enter 11 correct digits. If the phone number is encrypted with MD5, this field is a 32-character encrypted string. If the phone number is encrypted with SHA256, this field is a 64-character encrypted string.|'."\n" + .'|400|MobileNumberTypeNotMatch: The phone number format does not match the encryption type.|The phone number does not match the encryption type.|Enter the correct phone number format and encryption type.|'."\n" + .'|400|MobileNumberTypeIllegal: Invalid encryption type.|The encryption method is not supported or the encryption type is non-standard.|Only NORMAL, MD5, and SHA256 are supported as encryption methods, and they must be in uppercase.|'."\n" + .'|500|Unknown: Unknown error.|The system returned an unknown error.|Try to call the API again. We recommend that you do not retry more than 3 times.|'."\n" + .'|500|SystemError: Network element system error.|System error.|Try to call the API again. We recommend that you do not retry more than 3 times.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOnlineTime'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOnlineTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'PhoneNumberStatusForAccount', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 300 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"CarrierCode\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', ], - 'PhoneNumberStatusForReal' => [ - 'summary' => 'Queries the real-time service state of a phone number. The state includes NORMAL, SHUTDOWN, and NOT_EXIST. You can choose an encryption method for your phone number query, including plaintext, MD5, and SHA256.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribePhoneNumberOperatorAttribute' => [ + 'summary' => 'Queries the carrier information of a phone number, including the province, city, basic carrier (China Mobile, China Unicom, China Telecom, or China Broadnet), mobile virtual network operator (such as Alibaba Cloud Communication), whether the number has been ported, and the number segment.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '142581', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '139022', + 'abilityTreeNodes' => ['FEATUREdytnsK1J228'], ], 'parameters' => [ [ - 'name' => 'AuthCode', + 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The phone number that you want to query.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is an 11-digit phone number.'."\n" + .'- If Mask is set to MD5, this field is a 32-character encrypted string.'."\n" + .'- If Mask is set to SHA256, this field is a 64-character encrypted string.'."\n" + .'- If Mask is set to SM3, this field is a 64-character encrypted string.'."\n" + ."\n" + .'><notice>The letters in the encrypted string are not case-sensitive.</notice>', 'type' => 'string', 'required' => true, 'example' => '139****1234', 'title' => ''], ], [ - 'name' => 'InputNumber', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, the value of this field is an 11-digit phone number.'."\n" - .'* If the value of Mask is MD5, the value of this field is a 32-bit encrypted string.'."\n" - .'* If the value of Mask is SHA256, the value of this field is a 64-bit encrypted string.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '189****8999', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page of the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The encryption method of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: no encryption'."\n" + .'- **MD5**: MD5 encryption'."\n" + .'- **SHA256**: SHA256 encryption'."\n" + .'- **SM3**: SM3 encryption'."\n" + ."\n" + .'><notice>All letters in the string must be uppercase.</notice>', 'type' => 'string', 'required' => true, 'example' => 'MD5', 'title' => ''], + ], + [ + 'name' => 'FlowName', + 'in' => 'query', + 'schema' => ['description' => 'A system parameter. You do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], + ], + [ + 'name' => 'ResultCount', + 'in' => 'query', + 'schema' => ['description' => 'A system parameter. You do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **OperatorLimit**: The carrier prohibits the query of the phone number.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This parameter is returned only if the request is denied because the RAM user or RAM role does not have the required permissions.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The returned status for the queried phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The queried phone number can be reached.'."\n" - .'* **SHUTDOWN**: The queried phone number is suspended.'."\n" - .'* **POWER_OFF**: The phone is powered off.'."\n" - .'* **NOT_EXIST**: The queried phone number is a nonexistent number.'."\n" - .'* **BUSY**: The queried phone number is busy.'."\n" - .'* **SUSPECTED_POWER_OFF**: The phone is suspected to be powered off.'."\n" - .'* **DEFECT**: The queried phone number is invalid.'."\n" - .'* **UNKNOWN**: The queried phone number is unknown.'."\n" - ."\n" - .'> Due to system adjustment of the carrier, the BUSY and POWER_OFF states cannot be returned for the numbers assigned by China Telecom. [For more information, see the official announcements](https://help.aliyun.com/document_detail/2489709.html).'."\n", - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => 'The basic carrier who assigns the phone number. If the queried phone number involves mobile number portability, the carrier after mobile number portability is returned. Valid values:'."\n" - ."\n" - .'* **CMCC**: China Mobile'."\n" - .'* **CUCC**: China Unicom'."\n" - .'* **CTCC**: China Telecom'."\n" - ."\n" - .'> You are not allowed to query the phone numbers assigned by China Broadnet.'."\n", - 'type' => 'string', - 'example' => 'CMCC', - ], + 'BasicCarrier' => ['description' => 'The basic carrier. Valid values:'."\n" + ."\n" + .'- **China Mobile**.'."\n" + .'- **China Unicom**.'."\n" + .'- **China Telecom**.'."\n" + .'- **China Broadnet**.', 'type' => 'string', 'example' => '中国移动', 'title' => ''], + 'NumberSegment' => ['description' => 'The number segment to which the phone number belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '139', 'title' => ''], + 'IsNumberPortability' => ['description' => 'Indicates whether the number has been ported. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false**: no', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Carrier' => ['description' => 'The actual carrier (including the mobile virtual network operator). If number portability is enabled, the value indicates the carrier after number portability.', 'type' => 'string', 'example' => '中国移动', 'title' => ''], + 'City' => ['description' => 'The city to which the phone number belongs.', 'type' => 'string', 'example' => '杭州', 'title' => ''], + 'Province' => ['description' => 'The province to which the phone number belongs.', 'type' => 'string', 'example' => '浙江', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" + ."\n" + .'- **OK**: The request is successful.'."\n" + .'- **InvalidParameter**: The phone number is invalid or the format of the parameter is invalid.'."\n" + .'- **PhoneNumberNotfound**: The carrier information of the phone number is not found.'."\n" + .'- **isp.UNKNOWN**: An unknown error occurred.'."\n" + .'- **RequestFrequencyLimit**: Due to carrier restrictions, you cannot frequently query the same number in a short period of time. If this error code is returned, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], - ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified mobile phone number is invalid.', 'description' => 'Invalid Phone Number'], + ['errorCode' => 'PhoneNumberNotfound', 'errorMessage' => 'The queried number is not found.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The authorization code application failed and cannot be used.', 'description' => 'Failed to apply for an authorization code.'], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'PhoneNumberStatusForReal', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" + 'title' => 'Phone number carrier query (encrypted version)', + 'description' => '- Before you use this API, make sure that you are familiar with the [billing](~~154008~~) of Cell Phone Number Service.'."\n" + .'- By default, only Alibaba Cloud accounts can use this API. RAM users can use this API only after they are granted the required permissions. For more information, see [Grant permissions to a RAM user](~~154006~~).'."\n" + .'- This API is used to obtain the current carrier, location, and number portability information of a phone number. The API supports queries for **plaintext**, **MD5**, and **SHA256** encrypted phone numbers.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- Before you use this API, log on to the Cell Phone Number Service console, go to the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply for Activation**, and submit the application materials. You can use the API after your application is approved.'."\n" ."\n" - .'You can call this operation up to 300 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'PhoneNumberStatusForSms' => [ - 'summary' => 'Queries the real-time service state of a phone number. The state includes NORMAL, SHUTDOWN, and NOT_EXIST. You can choose an encryption method for your phone number query, including plaintext, MD5, and SHA256.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'### QPS limit'."\n" + .'The QPS limit per user for this API is 2,000 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Make calls reasonably.', + 'responseParamsDescription' => '### Causes of status codes and solutions'."\n" + ."\n" + .'|Status code|Cause|Solution|'."\n" + .'|------------- |------------|-----|'."\n" + .'|OK: The request is successful.|The request parameters meet the requirements.|The API call is successful.|'."\n" + .'|InvalidParameter: The phone number is invalid or the format of the parameter is invalid.|The format of the phone number in the request parameter is invalid, or the request parameter does not meet the requirements of the API.|Enter a correct phone number or adjust the format of the request parameter, and then resubmit the request. For example, remove invisible characters and spaces from the phone number, or change full-width characters to half-width characters.|'."\n" + .'|PhoneNumberNotfound: The carrier information of the phone number is not found.|The carrier information of the phone number is not found.|Use another phone number to query.|'."\n" + .'|isp.UNKNOWN: An unknown error occurred.|The system returned an unknown error.|Try to call the API again. We recommend that you do not retry more than three times.|'."\n" + ."\n" + .'### Meanings of the BasicCarrier and Carrier fields'."\n" + ."\n" + .'|Carrier of the phone number segment|Whether number portability is enabled|Returned result of the BasicCarrier field|Returned result of the Carrier field|'."\n" + .'|--|--|--|--|'."\n" + .'|Basic carrier number segment|Yes|The basic carrier after number portability (China Mobile, China Unicom, China Telecom, or China Broadnet)|The basic carrier after number portability (China Mobile, China Unicom, China Telecom, or China Broadnet)|'."\n" + .'|Basic carrier number segment|No|Basic carrier (China Mobile, China Unicom, China Telecom, or China Broadnet)|Basic carrier (China Mobile, China Unicom, China Telecom, or China Broadnet)|'."\n" + .'|Virtual carrier number segment|Not supported|Basic carrier (China Mobile, China Unicom, China Telecom, or China Broadnet)|Virtual carrier (such as Alibaba Cloud Communication)|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOperatorAttribute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOperatorAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"NumberSegment\\": 139,\\n \\"IsNumberPortability\\": false,\\n \\"Carrier\\": \\"中国移动\\",\\n \\"City\\": \\"杭州\\",\\n \\"Province\\": \\"浙江\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'DescribePhoneTwiceTelVerify' => [ + 'summary' => 'Quickly verify in a single request if a mobile phone number is a carrier\'s secondary number assignment.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', + 'abilityTreeCode' => '154743', + 'abilityTreeNodes' => ['FEATUREdytnsHYEZ9Z'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'zf08***pi6', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page in the [Phone Number Verification Service console](https://dytns.console.aliyun.com/analysis/apply), get the Authorization ID. This ID is your authorization code.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify an 11-digit phone number in plaintext.'."\n" - .'* If the value of Mask is MD5, specify a 32-bit string that is encrypted by using MD5.'."\n" - .'* If the value of Mask is SHA256, specify a 64-bit string that is encrypted by using SHA256.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '181****1234', - ], + 'schema' => ['description' => 'The phone number to be queried. The number can be a mobile phone number or an encrypted string.'."\n" + ."\n" + .'- If the value of **Mask** is **NORMAL**, **InputNumber** is an 11-digit mobile phone number.'."\n" + ."\n" + .'- If the value of **Mask** is **MD5**, **InputNumber** is a 32-bit encrypted string.'."\n" + ."\n" + .'- If the value of **Mask** is **SHA256**, **InputNumber** is a 64-bit encrypted string.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'The encrypted string is not case-sensitive.'."\n" + ."\n" + .'></notice>', 'type' => 'string', 'required' => true, 'example' => '139*******', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: plaintext'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The encryption method of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The phone number is not encrypted.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The registration time of a phone number. The time must be in the `yyyy-MM-dd HH:mm:ss` format. The value of this parameter is the registration time of a mobile phone user in your business. If the registration time is later than the time when a carrier assigns a number, the number is not a recycled number. Otherwise, the number is a recycled number.'."\n" + ."\n" + .'> - If a phone number is assigned for multiple times, the system uses the last assignment time as the criterion.'."\n" + .'>'."\n" + .'> - The registration time must be later than `1970-01-01 00:00:00`.', 'type' => 'string', 'required' => true, 'example' => '2018-01-01 00:00:00', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'A data structure.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **OperatorLimit**: The carrier prohibits the query of the phone number.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], + 'RequestId' => ['description' => 'The unique ID of the request. This common parameter is returned with each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177', 'title' => ''], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- **PortabilityNumberNotSupported**: Queries for this ported number are not supported.'."\n" + ."\n" + .'- **RequestNumberNotSupported**: Queries are not supported for numbers from China Broadnet (starting with 192), mobile virtual network operators, and other unsupported carriers.'."\n" + ."\n" + .'- **RequestFrequencyLimit**: Carriers limit frequent queries for the same number. If you receive this error code, try again later.'."\n" + ."\n" + .'> A charge applies when the value of `Code` is `OK` and the value of `VerifyResult` is not `0`. For more information, see [Phone Number Service pricing](~~154751~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'A description of the returned status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'A data structure that contains the verification results.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The returned status for the queried phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The queried phone number can be reached.'."\n" - .'* **SHUTDOWN**: The queried phone number is suspended.'."\n" - .'* **POWER_OFF**: The phone is powered off.'."\n" - .'* **NOT_EXIST**: The queried phone number is a nonexistent number.'."\n" - .'* **DEFECT**: The queried phone number is invalid.'."\n" - .'* **UNKNOWN**: The queried phone number is unknown.'."\n" - ."\n" - .'> Due to system adjustment of the carrier, the BUSY, SUSPECTED_POWER_OFF, and POWER_OFF states cannot be returned for the numbers assigned by China Telecom. [For more information, see the official announcements](https://help.aliyun.com/document_detail/2489709.html).'."\n", - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => 'The basic carrier who assigns the phone number. If the queried phone number involves mobile number portability, the carrier after mobile number portability is returned. Valid values:'."\n" - ."\n" - .'* **CMCC**: China Mobile'."\n" - .'* **CUCC**: China Unicom'."\n" - .'* **CTCC**: China Telecom'."\n" - ."\n" - .'> You are not allowed to query the phone numbers assigned by China Broadnet.'."\n", - 'type' => 'string', - 'example' => 'CMCC', - ], + 'VerifyResult' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- **0**: Cannot be determined.'."\n" + ."\n" + .'- **1**: The number is a recycled number.'."\n" + ."\n" + .'- **2**: The number is not a recycled number.'."\n" + ."\n" + .'- **3**: The number has been deactivated.'."\n" + ."\n" + .'- **4**: Unknown: The number was transferred to a new owner.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Carrier' => ['description' => 'The carrier that provides service for the number. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile.'."\n" + ."\n" + .'- **CUCC**: China Unicom.'."\n" + ."\n" + .'- **CTCC**: China Telecom.'."\n" + ."\n" + .'> The carrier that currently provides service for the number. For a ported number, this is the destination carrier.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], + ['errorCode' => 'PortabilityNumberNotSupported', 'errorMessage' => '不支持2021年6月前携号转网的号码查询', 'description' => ''], + ['errorCode' => 'RequestNumberNotSupported', 'errorMessage' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', 'description' => ''], + ['errorCode' => 'RequestFrequencyLimit', 'errorMessage' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', 'description' => ''], ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'isp.UNKNOWN', - 'errorMessage' => 'An error occurred due to unknown reasons.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => ''], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => ''], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => ''], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'Phone number and encryption type do not match', 'description' => ''], + ['errorCode' => 'InputParamIllegal', 'errorMessage' => 'Wrong format of input parameter', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ['errorCode' => 'ThresholdIllegal', 'errorMessage' => 'Please fill in the threshold range from 0 to 100 correctly.', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => ''], + ['errorCode' => 'TagNotExist', 'errorMessage' => 'The label does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'PhoneNumberStatusForSms', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'DescribePhoneTwiceTelVerify', + 'description' => '- Before you use this API, make sure you understand the [pricing](~~154751~~) for Phone Number Verification Service.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- You are charged only when the API response returns `Code="OK"` and `VerifyResult` is not `0`. No charge is incurred in any other case.'."\n" ."\n" - .'You can call this operation up to 300 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'PhoneNumberStatusForVoice' => [ - 'summary' => 'Queries the real-time service state of a phone number. The state includes NORMAL, SHUTDOWN, and NOT_EXIST. You can choose an encryption method for your phone number query, including plaintext, MD5, and SHA256.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- Before you use this API, log in to the Phone Number Verification Service console. On the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the tag you need, click **Request Activation**, and complete the application form. You can use the API once your application is approved.'."\n" + ."\n" + .'## QPS limits'."\n" + ."\n" + .'The QPS limit is 100 per user. If you exceed this limit, the system throttles your API calls, which may affect your business. Plan your API calls accordingly.'."\n" + ."\n" + .'## Authorization'."\n" + ."\n" + .'By default, only an Alibaba Cloud account can call this API. A RAM user must be granted the required permissions to call the API. For more information, see [Grant permissions to a RAM user](~~154006~~).', + 'responseParamsDescription' => '### Status codes'."\n" + ."\n" + .'| Http code | Status code | Reason | Solution |'."\n" + .'| --------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| 200 | OK: The request was successful. | The request parameters are valid. | Indicates a successful API call. |'."\n" + .'| 200 | PortabilityNumberNotSupported: The specified number has been ported and is not supported. | This error code is returned for some ported numbers. | Try querying a different number. For a ported number, the original carrier has deactivated the account, and the new carrier treats the port-in date as the account opening date. This makes it impossible to accurately determine the number\'s true status. |'."\n" + .'| 200 | RequestNumberNotSupported: Queries for the specified number are not supported. | The service does not support queries for numbers from China Broadcasting Network (starting with 192), virtual operators, or other unsupported carriers. | Try again with a number from a supported carrier. |'."\n" + ."\n" + .'### Exceptions'."\n" + ."\n" + .'| Http code | Status code | Reason | Solution |'."\n" + .'| --------- | ------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| 400 | AuthCodeNotExist: The authorization code does not exist. | The specified authorization code does not exist. | Apply for the required tag in the Phone Number Verification Service console. After your application is approved, use the received authorization code to retry the API call. |'."\n" + .'| 400 | MobileNumberIllegal: The mobile number has an invalid format. | The mobile number is in an invalid format. | If the number is not encrypted, provide a valid 11-digit number. If the number is MD5-encrypted, provide a 32-character string. If the number is SHA256-encrypted, provide a 64-character string. |'."\n" + .'| 400 | MobileNumberTypeIllegal: The encryption method is invalid. | The specified encryption method is unsupported or incorrectly formatted. | Use one of the following uppercase values for the encryption method: NORMAL, MD5, or SHA256. |'."\n" + .'| 500 | Unknown: An unknown exception occurred. | The system returned an unknown exception. | Retry the API call up to three times. |'."\n" + .'| 500 | SystemError: A network element system exception occurred. | A system error occurred. | Retry the API call up to three times. |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneTwiceTelVerify'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneTwiceTelVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetUAIDApplyTokenSign' => [ + 'summary' => 'This API only provides the signing functionality for acquiring an authorization token during UAID retrieval from the three-network operators.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '142576', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], - ], + 'systemTags' => [], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> To obtain this authorization code, navigate to **Tag Plaza** in the [**Phone Number Verification Service**](https://dytns.console.aliyun.com/analysis/square) console, select a tag, and submit an application. You receive the code after your application is approved.', 'type' => 'string', 'required' => true, 'example' => 'HwD97InG', 'title' => ''], ], [ - 'name' => 'InputNumber', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify an 11-digit phone number in plaintext.'."\n" - .'* If the value of Mask is MD5, specify a 32-bit string that is encrypted by using MD5.'."\n" - .'* If the value of Mask is SHA256, specify a 64-bit string that is encrypted by using SHA256.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '139****1234', - ], + 'schema' => ['description' => 'The external ID.'."\n" + ."\n" + .'> For China Mobile (CM), this parameter corresponds to `traceId` and `msgId`. The values of `OutId`, `traceId`, and `msgId` must be the same.', 'type' => 'string', 'required' => true, 'example' => 'b8b5b3a*******0b9893484fdf412c99', 'title' => ''], ], [ - 'name' => 'Mask', + 'name' => 'ClientType', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method. Valid values:'."\n" - ."\n" - .'* **NORMAL**: plaintext'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The client type. Valid values:'."\n" + ."\n" + .'- `30100`: Android'."\n" + ."\n" + .'- `30300`: iOS'."\n" + ."\n" + .'- `20200`: H5'."\n" + ."\n" + .'- `10010`: Web', 'type' => 'string', 'required' => true, 'example' => '30300', 'title' => ''], + ], + [ + 'name' => 'ParamKey', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is required if the carrier is China Telecom (CT). For details, see the China Telecom documentation.', 'type' => 'string', 'required' => false, 'example' => '955EC1A869852EA8BC66F********D7C6E92017BBD5B001C736EFEAFB775C232', 'title' => ''], + ], + [ + 'name' => 'ParamStr', + 'in' => 'query', + 'schema' => ['description' => 'This parameter is required if the carrier is China Telecom (CT). For details, see the China Telecom documentation.', 'type' => 'string', 'required' => false, 'example' => 'B2F0D4CD7A216D16CE2AF4BBC********29A454FDDD991F919106C12CB89ABA8', 'title' => ''], + ], + [ + 'name' => 'Time', + 'in' => 'query', + 'schema' => ['description' => 'The event timestamp, accurate to the millisecond.<br>'."\n" + .'Format: `yyyyMMddHHmmssSSS`.<br>', 'type' => 'string', 'required' => true, 'example' => '20121227180001165', 'title' => ''], + ], + [ + 'name' => 'Carrier', + 'in' => 'query', + 'schema' => ['description' => 'The mobile carrier. Valid values:'."\n" + ."\n" + .'- **CM**: China Mobile'."\n" + ."\n" + .'- **CU**: China Unicom'."\n" + ."\n" + .'- **CT**: China Telecom', 'type' => 'string', 'required' => true, 'example' => 'CM', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **OperatorLimit**: The carrier prohibits the query of the phone number.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The returned status for the queried phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The queried phone number can be reached.'."\n" - .'* **SHUTDOWN**: The queried phone number is suspended.'."\n" - .'* **POWER_OFF**: The phone is powered off.'."\n" - .'* **NOT_EXIST**: The queried phone number is a nonexistent number.'."\n" - .'* **SUSPECTED_POWER_OFF**: The phone is suspected to be powered off.'."\n" - .'* **DEFECT**: The queried phone number is invalid.'."\n" - .'* **UNKNOWN**: The queried phone number is unknown.'."\n" - ."\n" - .'> Due to system adjustment of the carrier, the BUSY, SUSPECTED_POWER_OFF, and POWER_OFF states cannot be returned for the numbers assigned by China Telecom. [For more information, see the official announcements](https://help.aliyun.com/document_detail/2489709.html).'."\n", - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => 'The basic carrier who assigns the phone number. If the queried phone number involves mobile number portability, the carrier after mobile number portability is returned. Valid values:'."\n" - ."\n" - .'* **CMCC**: China Mobile'."\n" - .'* **CUCC**: China Unicom'."\n" - .'* **CTCC**: China Telecom'."\n" - ."\n" - .'> You are not allowed to query the phone numbers assigned by China Broadnet.'."\n", - 'type' => 'string', - 'example' => 'CTCC', - ], + 'OutId' => ['description' => 'The external ID.', 'type' => 'string', 'example' => 'b8b5b3a*******0b9893484fdf412c99', 'title' => ''], + 'Sign' => ['description' => 'The signature value.', 'type' => 'string', 'example' => 'D2E204D74EEB373E468632********23F592C4C9', 'title' => ''], + 'Carrier' => ['description' => 'The mobile carrier. Valid values:'."\n" + ."\n" + .'- **CM**: China Mobile'."\n" + ."\n" + .'- **CU**: China Unicom'."\n" + ."\n" + .'- **CT**: China Telecom', 'type' => 'string', 'example' => 'CM', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The response status code. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], - ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'EncryptTypeIllegal', - 'errorMessage' => 'Invalid encryption type.', - ], - [ - 'errorCode' => 'isp.UNKNOWN', - 'errorMessage' => 'An error occurred due to unknown reasons.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CTCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'PhoneNumberStatusForVoice', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"OutId\\": \\"b8b5b3a*******0b9893484fdf412c99\\",\\n \\"Sign\\": \\"D2E204D74EEB373E468632********23F592C4C9\\",\\n \\"Carrier\\": \\"CM\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'Obtain the signature value for the UAID authorization token', + 'description' => 'This API provides only the **signing function for obtaining an authorization token** as part of the UAID retrieval process for China\'s three major operators.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- To generate the other parameters required to obtain the authorization token, refer to the respective operator\'s documentation.'."\n" ."\n" - .'You can call this operation up to 300 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'DescribePhoneTwiceTelVerify' => [ - 'summary' => 'Verifies whether a phone number is a reassigned phone number by calling this operation.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + .'- To request the authorization token, refer to the respective operator\'s documentation. Note that the request must be sent from the user\'s mobile device over a cellular network.'."\n" + ."\n" + .'- After obtaining the authorization token, call the [UAIDVerification](~~UAIDVerification~~) API to complete the UAID retrieval.'."\n" + ."\n" + .'### How to request an authorization token'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'When you request an authorization token, the client or H5 page must be connected to a cellular network.'."\n" + ."\n" + .'></notice>'."\n" + ."\n" + .'#### China Mobile (CM)'."\n" + ."\n" + .'Protocol: HTTPS + application/json<br>'."\n" + .'Method: POST<br>'."\n" + .'URL: https\\://msg.cmpassport.com/h5/getMobile<br><br>'."\n" + ."\n" + .'##### Request parameters'."\n" + ."\n" + .'Request example:'."\n" + ."\n" + .'`{ "traceId": "mfawsxtcmyplwzpayzzvdvbsowxmkynr", "appId": "300011580392", "sign": "2c61b3c58ffbeed97461e31be4fd931a", "msgId": "redbyxsdetddwaaffajcwwapspykftzx", "expandParams": "", "businessType": "3", "version": "1.0", "timestamp": "20201125101540980" }`'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'- `version`: Use `1.0`.'."\n" + ."\n" + .'- `timestamp`: The request timestamp, with millisecond precision. This value and its format must match the `Time` input parameter for this API.'."\n" + ."\n" + .'- `appId`: Use `300011580392`.'."\n" + ."\n" + .'- `businessType`: Use `3`.'."\n" + ."\n" + .'- `traceId`: The trace ID. This value must match this API\'s `OutId` input parameter.'."\n" + ."\n" + .'- `sign`: Obtained by calling this API.'."\n" + ."\n" + .'- `msgId`: A unique message identifier.'."\n" + ."\n" + .'##### Response parameters'."\n" + ."\n" + .'Response example:<br>'."\n" + .'`{ "header": { "appId": "300011580392", "msgId": "redbyxsdetddwaaffajcwwapspykftzx", "timestamp": "20201125101607932" }, "body": { "resultCode": "103000", "expandParams": "", "resultDesc": "成功", "token": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01" } }`<br>'."\n" + ."\n" + .'Retrieve the `token` from the response `body`.'."\n" + ."\n" + .'#### China Unicom (CU)'."\n" + ."\n" + .'Obtain the token in two steps.'."\n" + ."\n" + .'##### Step 1: Obtain the authurl'."\n" + ."\n" + .'Send a request to the portal server to get the authentication server address (`authurl`).'."\n" + ."\n" + .'Protocol: HTTPS + application/json<br>'."\n" + .'Method: GET<br>'."\n" + .'URL: https\\://nisportal.10010.com:9001/api<br><br>'."\n" + ."\n" + .'###### Request parameters'."\n" + ."\n" + .'Request examples:<br>'."\n" + .'JSON request: `?appid=1554778161153`<br>'."\n" + .'JSONP request: `?appid=1554778161153&callback=callbackFunction`<br><br>'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'- `appid`: Use 1554778161153.'."\n" + ."\n" + .'- `callback`: The name of the JSONP callback function. This parameter is required only for JSONP requests.'."\n" + ."\n" + .'###### Response parameters'."\n" + ."\n" + .'Response examples:<br>'."\n" + .'JSON response:'."\n" + .'`{"authurl": "https://enrichgw.10010.com/d93222629f52ec79"}`<br>'."\n" + .'JSONP response:'."\n" + .'`callbackFunction({"authurl":"https://enrichgw.10010.com/d93222629f52ec79"})`<br><br>'."\n" + ."\n" + .'Retrieve the `authurl` from the response.'."\n" + ."\n" + .'##### Step 2: Obtain the token'."\n" + ."\n" + .'Protocol: HTTPS + application/json<br>'."\n" + .'Method: GET<br>'."\n" + .'URL: The authurl from Step 1, with /api appended.<br><br>'."\n" + ."\n" + .'Request URL example: `https://enrichgw.10010.com/d93222629f52ec79/api`'."\n" + ."\n" + .'###### Request parameters'."\n" + ."\n" + .'Request examples:<br>'."\n" + .'JSON request: `?appid=1554778161153`<br>'."\n" + .'JSONP request: `?appid=1554778161153&callback=callbackFunction`<br><br>'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'- `appid`: Use 1554778161153.'."\n" + ."\n" + .'- `callback`: The name of the JSONP callback function. This parameter is required only for JSONP requests.'."\n" + ."\n" + .'###### Response parameters'."\n" + ."\n" + .'Response examples:<br>'."\n" + .'JSON response:'."\n" + .'`{ "province": "1", "code": "7nHS1nggx2WP613750206700RN6oiRN1" }`<br>'."\n" + .'JSONP response:'."\n" + .'`callbackFunction({"province":"1","code":"7nHS3Dnkd1BS701851092400RN6oiRN1"})`<br><br>'."\n" + ."\n" + .'Retrieve the `code` from the response.'."\n" + ."\n" + .'#### China Telecom (CT)'."\n" + ."\n" + .'Protocol: HTTPS + application/x-www-form-urlencoded;charset=UTF-8<br>'."\n" + .'Method: GET<br>'."\n" + .'URL: https\\://id6.me/gw/preuniq.do<br><br>'."\n" + ."\n" + .'##### Request parameters'."\n" + ."\n" + .'Request example:<br>'."\n" + .'`?clientType=30100&appId=9390188202&format=json&sign=D63C166FA19E1996EF********09C6A5397C10B4¶mKey=1D7C25EB8B0B8B4CB3CF8DC60628F6549********786B0AF1FEF93FA1335057A35BF5F0B39A3867EAA9BE14B3898********8B01DE34965060445B6E1F66401D714650E4AB161CD6DCF4A72********3B856F22A192B8B0C39D7A55B961062E68C89C928894F119B25********7C548355FE9DB82852EB93C939F2200B48CD17¶mStr=140********95AF8E138B94754CB4CF83BA6FB********52B258BFDFD38BF233&version=1.1`<br>'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'- `appId`: Use `9390188202`.'."\n" + ."\n" + .'- `clientType`: The client type. This value must match the `ClientType` input parameter for this API.'."\n" + ."\n" + .'- `format`: Use `json` or `jsonp`.'."\n" + ."\n" + .'- `version`: Use `1.1`.'."\n" + ."\n" + .'- `sign`: Obtained by calling this API.'."\n" + ."\n" + .'- `paramKey`: The ciphertext of key A. Key A is a 16-character random string generated by the client. To generate paramKey, encrypt key A using the RSA algorithm and the China Telecom public key. The padding mode is `RSA/ECB/PKCS1Padding`. Download the [China Telecom RSA public key](https://id.189.cn/source/files/API.pem).'."\n" + ."\n" + .'- `paramStr`: The ciphertext of a parameter string. This string contains `timeStamp` (a Unix timestamp with millisecond precision, for example `1697791988302`, that corresponds to the value of the `Time` parameter of this API) and `callback` (the name of the JSONP callback function, required only when `format` is set to `jsonp`). To generate `paramStr`, encrypt the string using AES with key A. The padding mode is `AES/CBC/PKCS5Padding`, and the initialization vector is `0000000000000000`.'."\n" + ."\n" + .'##### Response parameters'."\n" + ."\n" + .'Response example:<br>'."\n" + .'`callback?result=10000&msg=success&data=a35336711c70456cb883f4f224e9a259`<br>'."\n" + ."\n" + .'The `data` parameter contains the ciphertext of the business result. To get the result, decrypt the data value using key A, the `AES/CBC/PKCS5Padding` mode, and an initialization vector of `0000000000000000`.'."\n" + ."\n" + .'Decrypted business result example:<br>'."\n" + .'`{"accessCode": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01"}`<br>'."\n" + ."\n" + .'Retrieve the `accessCode` from the decrypted result.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUAIDApplyTokenSign'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dytns:GetUAIDApplyTokenSign', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'HistoryThreeElementsVerification' => [ + 'summary' => 'Verifies whether a name, phone number, and ID number belonged to the same user at a specific point in time.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'abilityTreeCode' => '154743', - 'abilityTreeNodes' => [ - 'FEATUREdytnsHYEZ9Z', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREdytns9WIVIU'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => 'The authorization code. You can obtain it from the following sources:'."\n" + ."\n" + .'- On the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page in the Phone Number Intelligence console, select the **three-element ID verification** tag and submit an application. You will receive an authorization code after the application is approved.'."\n" + ."\n" + .'- On the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page in the Phone Number Intelligence console, find the authorization ID for your approved **three-element ID verification** service.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify an 11-digit phone number in plaintext.'."\n" - .'* If the value of Mask is MD5, specify a 32-bit string that is encrypted by using MD5.'."\n" - .'* If the value of Mask is SHA256, specify a 64-bit string that is encrypted by using SHA256.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '139*******', - ], + 'schema' => ['description' => 'The phone number to query.'."\n" + ."\n" + .'- If `Mask` is set to `NORMAL`, this parameter must be an 11-digit mobile phone number.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The encryption method. Valid value:'."\n" + ."\n" + .'- **NORMAL**: The phone number is not encrypted.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The registration time. Specify the time in the yyyy-MM-dd HH:mm:ss format. This time is the service registration time of the mobile phone user. If the service registration time is later than the time when the phone number is assigned by a carrier, it indicates that the phone number is not a reassigned number. Otherwise, the phone number is a reassigned number.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If a carrier allocates a single number multiple times, the system will determine whether the phone number is a reassigned number based on the time when the carrier last allocated the phone number.'."\n" - ."\n" - .'* The service registration time must be later than 00:00:00 on January 1, 1970.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2018-01-01 00:00:00', - ], + 'schema' => ['description' => 'The name to verify.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], + ], + [ + 'name' => 'CertCode', + 'in' => 'query', + 'schema' => ['description' => 'The ID number to verify.'."\n" + ."\n" + .'- If `Mask` is set to `NORMAL`, the value of this parameter is in plaintext.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], + ], + [ + 'name' => 'VerificationTime', + 'in' => 'query', + 'schema' => ['description' => 'The historical point in time to verify, in `yyyyMMddHHmmss` format. If the specific time of day is unknown, set the `HHmmss` portion to `000000`. For example, `20230615000000` verifies ownership as of June 15, 2023.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], + ], + [ + 'name' => 'Carrier', + 'in' => 'query', + 'schema' => ['description' => 'The carrier to query. By default, the system queries the number\'s carrier of record. Specify this parameter to route the query to a specific carrier.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- `CMCC`: China Mobile'."\n" + ."\n" + .'- `CUCC`: China Unicom'."\n" + ."\n" + .'- `CTCC`: China Telecom'."\n" + ."\n" + .'> Due to number portability, a ported number\'s historical carrier may be unknown. Use this parameter to explicitly query a specific carrier. If omitted, the query defaults to the number\'s current carrier of record.'."\n" + .'>'."\n" + .'> **Important** Specifying China Broadcasting Network is not supported and results in an HTTP 400 error.', 'type' => 'string', 'required' => false, 'example' => 'CMCC', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot and locate issues.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **PortabilityNumberNotSupported**: The phone number that is involved in mobile number portability is not supported.'."\n" - .'* **RequestNumberNotSupported**: You are not allowed to query phone numbers assigned by China Broadnet (that is, phone numbers start with 192) and phone numbers assigned by virtual network operators (VNOs).'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n" - ."\n" - .'> You are charged for phone number verifications if the value of Code is OK and the value of VerifyResult is not 0. For more information, see [Pricing](~~154751~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'Details about why access is denied.'."\n" + ."\n" + .'> This parameter is returned only when RAM authentication fails.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'VerifyResult' => [ - 'description' => 'The result of the request. Valid values:'."\n" - ."\n" - .'* **0**: It is unable to judge whether the phone number is a reassigned number.'."\n" - .'* **1**: The phone number is a reassigned number.'."\n" - .'* **2**: The phone number is not a reassigned number.'."\n" - .'* **3**: The phone number has been canceled.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Carrier' => [ - 'description' => 'The carrier. Valid values:'."\n" - ."\n" - .'* **CMCC**: China Mobile'."\n" - .'* **CUCC**: China Unicom'."\n" - .'* **CTCC**: China Telecom'."\n" - ."\n" - .'> The returned result indicates the carrier who assigns the phone number. If the phone number involves mobile number portability, the carrier after mobile number portability is returned.'."\n", - 'type' => 'string', - 'example' => 'CMCC', - ], + 'IsConsistent' => ['description' => 'The consistency of the verification result. Valid values:'."\n" + ."\n" + .'- `0`: No record found.'."\n" + ."\n" + .'- `1`: The phone number, ID number, and name match the carrier\'s records.'."\n" + ."\n" + .'- `2`: The phone number and ID number match the carrier\'s records, but the name does not.'."\n" + ."\n" + .'- `3`: The phone number and name match the carrier\'s records, but the ID number does not.'."\n" + ."\n" + .'- `4`: The phone number matches the carrier\'s records, but the name and ID number do not.', 'type' => 'integer', 'format' => 'int64', 'example' => '72', 'title' => ''], + 'RequestCarrier' => ['description' => 'The carrier to which the request was routed.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], + 'description' => 'The query results.', + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The status code of the request.'."\n" + ."\n" + .'- A value of `OK` indicates the request was successful.'."\n" + ."\n" + .'- For other values, see the Error Codes section.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'PortabilityNumberNotSupported', - 'errorMessage' => '不支持2021年6月前携号转网的号码查询', - ], - [ - 'errorCode' => 'RequestNumberNotSupported', - 'errorMessage' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', - ], - [ - 'errorCode' => 'RequestFrequencyLimit', - 'errorMessage' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', - ], - ], 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'Phone number and encryption type do not match', - ], - [ - 'errorCode' => 'InputParamIllegal', - 'errorMessage' => 'Wrong format of input parameter', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], - [ - 'errorCode' => 'ThresholdIllegal', - 'errorMessage' => 'Please fill in the threshold range from 0 to 100 correctly.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'TagNotExist', - 'errorMessage' => 'The label does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'Number is limited by the operator.', 'description' => 'Number prohibited by the operator'], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => '运营商类型非法', 'description' => ''], + ['errorCode' => 'CertCodeIllegal', 'errorMessage' => 'Invalid CertCode value.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => '请求参数非法', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => '系统异常', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'DescribePhoneTwiceTelVerify', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* You are charged for phone number verifications only if the value of Code is OK and the value of VerifyResult is not 0.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'HistoryThreeElementsVerification', + 'description' => '## Usage notes'."\n" ."\n" - .'## [](#qps)QPS limits'."\n" + .'- Before you use this API, ensure you understand its [pricing](https://help.aliyun.com/zh/cpns/product-overview/pricing-of-cpns).'."\n" ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n" + .'- Before you use this API, log on to the Phone Number Intelligence console and apply for the required tag on the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page.'."\n" ."\n" - .'## [](#)Authorization information'."\n" + .'- You are charged for a call only when the response returns `Code=\'OK\'` and `IsConsistent != 0`. No charges are incurred for any other results.'."\n" ."\n" - .'By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n", - 'responseParamsDescription' => '### Causes of returning response codes and solutions'."\n" + .'- Verification of China Broadcasting Network numbers (numbers with the 192 prefix) is not supported. If you provide a number with the 192 prefix, an HTTP 400 error is returned.'."\n" ."\n" - .'|HTTP status code|Response code|Cause|Solution|'."\n" - .'|---|---|---|---|'."\n" - .'|200|OK|The request parameters meet the requirements.|This indicates that the request is successful.|'."\n" - .'|200|PortabilityNumberNotSupported|This error code is returned for some phone numbers that involve mobile number portability.|We recommend that you query another phone number. A phone number that involves mobile number portability has been canceled in the system of the original carrier, and the new carrier considers that the time of performing mobile number portability is the time of activating the phone number. Therefore, the system cannot query the actual details of the phone number that involves mobile number portability.|'."\n" + .'- Due to number portability, the actual carrier may differ from the current carrier of record. You can use the `Carrier` parameter to route the query to a specific carrier.'."\n" ."\n" - .'### Exception causes and solutions'."\n" + .'- The queries per second (QPS) limit per user is 200. Requests that exceed this limit are throttled.'."\n" ."\n" - .'|HTTP status code|Response code|Cause|Solution|'."\n" - .'|---|---|---|---|'."\n" - .'|400|AuthCodeNotExist|The authorization code does not exist.|On the Labels page, apply for the required labels first. After your application is approved and you obtain an authorization code, call this operation again.|'."\n" - .'|400|MobileNumberIllegal|The format of the specified phone number is invalid.|If the phone number is not encrypted, enter a valid 11-digit phone number. If the phone number is MD5-encrypted, enter a 32-bit encrypted string. If the phone number is SHA256-encrypted, enter a 64-bit encrypted string.|'."\n" - .'|400|MobileNumberTypeIllegal|The encryption method or encryption type is not supported.|The encryption method can be only NORMAL, MD5, or SHA256, and the value of Mask must be uppercase characters.|'."\n" - .'|500|Unknown|An unknown exception is returned.|Call this operation again. We recommend that you do not call this operation more than three times.|'."\n" - .'|500|SystemError|A system error occurred.|Call this operation again. We recommend that you do not call this operation more than three times.|', - ], - 'DescribePhoneNumberOnlineTime' => [ - 'summary' => 'Queries the usage period of a phone number of a user.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + .'- In the authorization information, the action is `dytns:HistoryThreeElementsVerification`, the access level is Read, and the resource type is All Resources.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:HistoryThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 72,\\n \\"RequestCarrier\\": \\"CMCC\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'InvalidPhoneNumberFilter' => [ + 'summary' => 'Performs invalid phone number filtering operations.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2766,65 +2186,28 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', + 'abilityTreeCode' => '132665', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> Log on to the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply). On the **My Applications** page, obtain the authorization ID, which serves as the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify an 11-digit phone number in plaintext.'."\n" - .'* If the value of Mask is MD5, specify a 32-bit string that is encrypted by using MD5.'."\n" - .'* If the value of Mask is SHA256, specify a 64-bit string that is encrypted by using SHA256.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => 'The phone number to be queried.', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], - ], - [ - 'name' => 'Carrier', - 'in' => 'query', - 'schema' => [ - 'description' => 'The carrier. Valid values:'."\n" - ."\n" - .'* **MOBILE**: China Mobile'."\n" - .'* **UNICOM**: China Unicom'."\n" - .'* **TELECOM**: China Telecom'."\n" - ."\n" - .'> Alibaba Cloud automatically determines the carrier based on the carrier who assigns the phone number. Therefore, the value of this field does not affect the query result.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'UNICOM', - ], + 'schema' => ['description' => 'The encryption method of the phone number.'."\n" + ."\n" + .'><notice>Only the NORMAL encryption method is supported.></notice>', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ @@ -2832,919 +2215,679 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **PortabilityNumberNotSupported**: The phone number that is involved in mobile number portability is not supported.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n" - ."\n" - .'> You are charged if the value of Code is OK and the value of VerifyResult is not -1. For more information, see [Pricing](~~154751~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" + ."\n" + .'- **OK**: The request is successful.'."\n" + ."\n" + .'- **MobileNumberIllegal**: The mobile number is invalid.'."\n" + ."\n" + .'- **EncyrptTypeIllegal**: The encryption type is invalid.'."\n" + ."\n" + .'- **MobileNumberTypeNotMatch**: The mobile number does not match the encryption type.'."\n" + ."\n" + .'- **CarrierIllegal**: The carrier type is invalid.'."\n" + ."\n" + .'- **AuthCodeNotExist**: The authorization code does not exist.'."\n" + ."\n" + .'- **PortabilityNumberNotSupported**: Mobile number portability is not supported.'."\n" + ."\n" + .'- **Unknown**: An unknown exception occurred.'."\n" + ."\n" + .'- **AuthCodeAndApiNotMatch**: A system exception occurred.'."\n" + ."\n" + .'- **AuthCodeAndApiNotMatch**: The AuthCode does not match the API operation.'."\n" + .'- **RequestFrequencyLimit**: Due to carrier restrictions, repeated high-frequency queries against the same phone number within a short period of time are prohibited. If this error code is returned, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'VerifyResult' => [ - 'description' => 'The enumerated value of the usage period of a phone number. Valid values:'."\n" + 'description' => 'The array of returned data.', + 'type' => 'array', + 'items' => [ + 'description' => 'The structure.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The filtering result.'."\n" ."\n" - .'* **-1**: No usage period information is available for the phone number.'."\n" - .'* **0**: The phone number status is abnormal. For example, the phone number is a nonexistent number.'."\n" - .'* **1** :\\[0-3) months.'."\n" - .'* **2** :\\[3-6] months.'."\n" - .'* **3** :(6-12] months.'."\n" - .'* **4** :(12-24] months.'."\n" - .'* **5** :(24,+) months.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'CarrierCode' => [ - 'description' => 'The carrier code. Valid values:'."\n" + .'- **YES**: A valid phone number. The mapping relationship is returned.'."\n" ."\n" - .'* **CMCC**: China Mobile'."\n" - .'* **CUCC**: China Unicom'."\n" - .'* **CTCC**: China Telecom'."\n" - .'* **CBN**: China Broadnet'."\n", - 'type' => 'string', - 'example' => 'CMCC', + .'- **NO**: An invalid phone number. The mapping relationship is not returned.', 'type' => 'string', 'example' => 'YES', 'title' => ''], + 'OriginalNumber' => ['description' => 'The original phone number.', 'type' => 'string', 'example' => '1390000****', 'title' => ''], + 'EncryptedNumber' => ['description' => 'The encrypted phone number.', 'type' => 'string', 'example' => '1400513****', 'title' => ''], + 'ExpireTime' => ['description' => 'The expiration time of the phone number.', 'type' => 'string', 'example' => '2022-05-27 16:05:23', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'PortabilityNumberNotSupported', - 'errorMessage' => 'Number portability is not supported', - ], - ], 400 => [ - [ - 'errorCode' => 'Insufficient.Balance', - 'errorMessage' => 'You have an insufficient balance.', - ], - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'Authorization code does not exist', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'Phone number and encryption type do not match', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => ''], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => ''], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"CarrierCode\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => 'DescribePhoneNumberOnlineTime', - 'description' => '* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" - .'* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 200 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'responseParamsDescription' => '### Causes of returning response codes and solutions'."\n" - ."\n" - .'|HTTP status code|Response code|Cause|Solution|'."\n" - .'|---|---|---|---|'."\n" - .'|200|OK|The request parameters meet the requirements.|This indicates that the request is successful.|'."\n" - .'|200|PortabilityNumberNotSupported|This error code is returned for a few of phone numbers that involve mobile number portability.|We recommend that you query another phone number. A phone number that involves mobile number portability has been canceled in the system of the original carrier, and the new carrier considers that the time of performing mobile number portability is the time of activating the phone number. Therefore, the system cannot query the actual details of the phone number that involves mobile number portability.|'."\n" + 'title' => 'Filter invalid phone numbers', + 'description' => 'Before you call this operation, log on to the Cell Phone Number Service console. On the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply for Activation**, and submit the application materials. You can use this operation after the application is approved.'."\n" ."\n" - .'### Exception causes and solutions'."\n" - ."\n" - .'|HTTP status code|Response code|Cause|Solution|'."\n" - .'|---|---|---|---|'."\n" - .'|400|AuthCodeNotExist|The authorization code does not exist.|On the Labels page, apply for the required labels first. After your application is approved and you obtain an authorization code, call this operation again.|'."\n" - .'|400|CarrierIllegal|The carrier type is invalid.|Enter a valid carrier type. For encrypted phone numbers, you must specify Carrier and its value must be uppercase letters.|'."\n" - .'|400|MobileNumberIllegal|The format of the specified phone number is invalid.|If the phone number is not encrypted, enter a valid 11-digit phone number. If the phone number is MD5-encrypted, enter a 32-bit encrypted string. If the phone number is SHA256-encrypted, enter a 64-bit encrypted string.|'."\n" - .'|400|MobileNumberTypeNotMatch|The specified phone number does not match the encryption type.|Enter a valid phone number and a correct number encryption type.|'."\n" - .'|400|MobileNumberTypeIllegal|The encryption method or encryption type is not supported.|The encryption method can be only NORMAL, MD5, or SHA256, and the value of Mask must be uppercase characters.|'."\n" - .'|500|Unknown|An unknown exception is returned.|Call this operation again. We recommend that you do not call this operation more than three times.|'."\n" - .'|500|SystemError|A system error occurred.|Call this operation again. We recommend that you do not call this operation more than three times.|', - ], - 'DescribePhoneNumberAnalysisAI' => [ - 'summary' => 'Obtains the analysis results of a phone number.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'### QPS limit'."\n" + .'The QPS limit per user for this operation is 1,000 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Call the operation at a reasonable frequency.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvalidPhoneNumberFilter'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:InvalidPhoneNumberFilter', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"Code\\": \\"YES\\",\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListContacts' => [ + 'summary' => 'Lists the alert contacts for Number Encyclopedia.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'InputNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '187****5620', - ], - ], - [ - 'name' => 'Rate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The score threshold for the phone number. Valid values: **0 to 100**.'."\n" - ."\n" - .'> The system provided by Alibaba Cloud determines whether to accept the specified score threshold. When the system does not accept the specified score threshold, the value of this field is invalid.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '96', - ], - ], - [ - 'name' => 'AuthCode', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the ****[**Labels**](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click Activate Now, enter the required information, and then submit your application. After your application is approved, you can obtain an authorization code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'HwD***nG', - ], + 'schema' => ['description' => 'The business type. Set the value to `dytns`.', 'type' => 'string', 'required' => false, 'example' => 'dytns', 'title' => ''], ], [ - 'name' => 'ModelConfig', + 'name' => 'ContactId', 'in' => 'query', - 'schema' => [ - 'description' => 'The model parameter configuration. This field is required by some labels.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"trainingJobId": "17**********48"}', - ], + 'schema' => ['description' => 'The contact ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1298647', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response body.', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Code' => ['description' => 'The status code. `OK` indicates a successful request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'Number' => [ - 'description' => 'The specified phone number.'."\n", - 'type' => 'string', - 'example' => '187****5620', - ], - 'Code' => [ - 'description' => 'The returned code.'."\n" + 'description' => 'An array of contact information objects.', + 'type' => 'array', + 'items' => [ + 'description' => 'The contact information.', + 'type' => 'object', + 'properties' => [ + 'ContactId' => ['description' => 'The contact ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'ContactName' => ['description' => 'The contact name.', 'type' => 'string', 'example' => '黄勇', 'title' => ''], + 'ContactPhone' => ['description' => 'The contact mobile number.', 'type' => 'string', 'example' => '19211111111', 'title' => ''], + 'ContactEmail' => ['description' => 'The contact email.', 'type' => 'string', 'example' => 'xxxx @alibaba-inc.com', 'title' => ''], + 'OpentAttributionWarning' => ['description' => 'Specifies whether the number attribution query warning is enabled.'."\n" ."\n" - .'* YES: The specified phone number is valid.'."\n" - .'* NO: The specified phone number is invalid.'."\n" - .'* UNKNOWN: The specified phone number is unknown'."\n", - 'type' => 'string', - 'example' => 'YES', + .'- **true**: Enabled.'."\n" + ."\n" + .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'OpenStatusWarning' => ['description' => 'Specifies whether the number status warning is enabled.'."\n" + ."\n" + .'- **true**: Enabled.'."\n" + ."\n" + .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Main' => ['description' => 'The calling number.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PhoneStatus' => ['description' => 'The number status.'."\n" + ."\n" + .'- 1: Normal'."\n" + ."\n" + .'- 0: Abnormal', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MailStatus' => ['description' => 'The email status.'."\n" + ."\n" + .'- 1: Normal'."\n" + ."\n" + .'- 0: Abnormal', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* OK: The request is successful.'."\n", - 'type' => 'string', - 'example' => 'OK', + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"YES\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'DescribePhoneNumberAnalysisAI', - 'description' => 'Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the Labels page, find the label that you want to use, click Activate Now, enter the required information, and then submit your application. After your application is approved, you can use the label. Before you call this operation, make sure that you are familiar with the billing of Cell Phone Number Service.'."\n", - ], - 'DescribePhoneNumberAnalysis' => [ - 'summary' => 'Obtains the analysis results of a number.', - 'methods' => [ - 'post', - 'get', + 'title' => 'List alert contacts for the Cell Phone Number Service', + 'description' => '- Before using this API, ensure that you have activated Number Encyclopedia.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dytns:ListContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"ContactId\\": 0,\\n \\"ContactName\\": \\"黄勇\\",\\n \\"ContactPhone\\": \\"19211111111\\",\\n \\"ContactEmail\\": \\"xxxx @alibaba-inc.com\\",\\n \\"OpentAttributionWarning\\": true,\\n \\"OpenStatusWarning\\": true,\\n \\"Main\\": 0,\\n \\"PhoneStatus\\": 1,\\n \\"MailStatus\\": 1\\n }\\n ]\\n}","type":"json"}]', + ], + 'PhoneNumberEncrypt' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '133477', + 'abilityTreeNodes' => ['FEATUREdytns6A4MC8'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page of the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '1310000****', - ], - ], - [ - 'name' => 'NumberType', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The phone number to be queried.'."\n" + ."\n" + .'> Currently, only single phone number queries are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'MD5', - ], + 'schema' => ['description' => 'The encryption method of the phone number. Valid value: **NORMAL**.'."\n" + ."\n\n" + .'><notice>Currently, only the NORMAL encryption method is supported.></notice>', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], ], [ - 'name' => 'Rate', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The user-defined outId. This parameter is optional. The format is not limited, and the length must be less than or equal to 64 characters.', 'type' => 'string', 'required' => false, 'example' => '213e367117422635749191493eea68', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The struct.', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'object', + 'description' => 'The array.', + 'type' => 'array', 'items' => [ + 'description' => 'The struct.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'name' => 'Code', - 'description' => '', - 'type' => 'string', - 'example' => 'YES', - 'backendName' => 'code', - ], - 'Number' => [ - 'name' => 'Number', - 'description' => '', - 'type' => 'string', - 'example' => '1310000****', - 'backendName' => 'number', - ], - ], - 'extendType' => 'true', - 'description' => '', - ], - 'properties' => [ - 'List' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Number' => [ - 'type' => 'string', - 'example' => '18752785620', - ], - 'Code' => [ - 'type' => 'string', - 'example' => 'NO', - ], - ], - ], - 'example' => '', + 'OriginalNumber' => ['description' => 'The original phone number.', 'type' => 'string', 'example' => '1390000****', 'title' => ''], + 'EncryptedNumber' => ['description' => 'The encrypted phone number.', 'type' => 'string', 'example' => '1400513****', 'title' => ''], + 'ExpireTime' => ['description' => 'The expiration time of the phone number.', 'type' => 'string', 'example' => '2022-05-27 16:05:23', 'title' => ''], + 'OutId' => ['description' => 'The custom ID reserved for the caller when the request was initiated. This ID is eventually returned to the caller.'."\n" + ."\n" + .'The value is of the string type. The maximum length is 64 characters.', 'type' => 'string', 'example' => '215044c917374256269257695e9d22', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The status code of the request.'."\n" + ."\n" + .'- The value OK indicates that the request was successful.'."\n" + ."\n" + .'- For information about other error codes, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'Phone number and encryption type do not match', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'RateIllegal', - 'errorMessage' => 'Illegal threshold parameter', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'invalid parameter', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The authorization code application failed and cannot be used.', - ], - [ - 'errorCode' => 'TagNotExist', - 'errorMessage' => 'The label does not exist.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => ''], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => ''], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Encrypt a phone number', + 'summary' => 'Encrypts an original phone number into a virtual phone number that starts with 140. By integrating with Alibaba Cloud communication services, you can use the encrypted 140 phone number to initiate voice calls, achieving the effect of a virtual phone number call.', + 'description' => 'Before you use this API, log on to the Cell Phone Number Service console, go to the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply for Activation**, and fill in the application materials. You can use this API after the application is approved.'."\n" + ."\n" + .'### QPS limit'."\n" + .'The per-user QPS limit of this API is 1,000 calls per second. If the number of API calls exceeds the limit, the calls will be throttled, which may affect your business. Call the API properly.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberEncrypt'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberEncrypt', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"List\\": [\\n {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"NO\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribePhoneNumberAnalysisResponse>\\n <RequestId>CC3BB6D2-2FDF-4321-9DCE-B38165CE****</RequestId>\\n <Code>OK</Code>\\n <Message>OK</Message>\\n <Data>\\n <Code>YES</Code>\\n <Number>1310000****</Number>\\n </Data>\\n</DescribePhoneNumberAnalysisResponse>","errorExample":""}]', - 'title' => 'DescribePhoneNumberAnalysis', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\",\\n \\"OutId\\": \\"215044c917374256269257695e9d22\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'DescribeEmptyNumber' => [ - 'summary' => 'Predicts whether a phone number is a nonexistent number by using AI algorithms.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'PhoneNumberStatusForAccount' => [ + 'summary' => 'Retrieves the real-time network status of a mobile phone number, such as active, shutdown, or non-existent. You can query numbers that are in plaintext or hashed using MD5 or SHA256.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'abilityTreeCode' => '162520', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], + 'abilityTreeCode' => '142578', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id'."\n", - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page in the [Phone Number Intelligence console](https://dytns.console.aliyun.com/analysis/apply), obtain the authorization ID. This ID is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'> You can query only one phone number a time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '189****1234', - ], + 'schema' => ['description' => 'The phone number to query.'."\n" + ."\n" + .'- If `Mask` is set to `NORMAL`, this parameter is an 11-digit mobile phone number.'."\n" + ."\n" + .'- If `Mask` is set to `MD5`, this parameter is a 32-character hashed string.'."\n" + ."\n" + .'- If `Mask` is set to `SHA256`, this parameter is a 64-character hashed string.'."\n" + ."\n" + .'- If `Mask` is set to `SM3`, this parameter is a 64-character hashed string.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'The letters in the hashed string are case-insensitive.'."\n" + ."\n" + .'></notice>', 'type' => 'string', 'required' => true, 'example' => '139****1234', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is not encrypted.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The unique request ID. It is a common parameter and can be used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The response code. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- **OperatorLimit**: The query is prohibited by the carrier.'."\n" + ."\n" + .'- **RequestFrequencyLimit**: Carriers restrict frequent queries for the same number within a short period. If you receive this error code, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request. This ID is unique to each request and can be used for troubleshooting.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The returned status for the queried phone number. Valid values:'."\n" - ."\n" - .'* **EMPTY**: The queried phone number is a nonexistent number.'."\n" - .'* **NORMAL**: The queried phone number is valid.'."\n" - .'* **SUSPECT_EMPTY**: The queried phone number is suspected to be a nonexistent number.'."\n" - .'* **UNKNOWN**: The queried phone number is unknown.'."\n", - 'type' => 'string', - 'example' => 'EMPTY', - ], - 'Number' => [ - 'description' => 'The specified phone number.'."\n", - 'type' => 'string', - 'example' => '189****1234', - ], + 'Status' => ['description' => 'The status of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is active.'."\n" + ."\n" + .'- **SHUTDOWN**: The number is suspended or temporarily out of service.'."\n" + ."\n" + .'- **POWER\\_OFF**: The phone is powered off.'."\n" + ."\n" + .'- **NOT\\_EXIST**: The number is non-existent.'."\n" + ."\n" + .'- **DEFECT**: The number is invalid.'."\n" + ."\n" + .'- **UNKNOWN**: The status is unknown.'."\n" + ."\n" + .'> Due to adjustments in the carrier\'s system, China Telecom numbers do not return the `busy` and `powered off` statuses. For more information, [see the official announcement](https://help.aliyun.com/document_detail/2489709.html).', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'Carrier' => ['description' => 'The number\'s current carrier. If the number has been ported to a new carrier through mobile number portability, the new carrier is returned. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile'."\n" + ."\n" + .'- **CUCC**: China Unicom'."\n" + ."\n" + .'- **CTCC**: China Telecom'."\n" + ."\n" + .'> Queries for China Broadnet numbers are not supported.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **InvalidPhoneNumber.Check**: The phone number is invalid.'."\n", - 'type' => 'string', - 'example' => 'OK', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => 'This mobile phone number is restricted by the carrier.'], + ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"EMPTY\\",\\n \\"Number\\": \\"189****1234\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'DescribeEmptyNumber', - 'description' => '* You can call this operation to verify whether a phone number is a nonexistent number. When you call this operation to verify a number, the system charges you CNY 0.01 per verification based on the number of verifications. **Before you call this operation, make sure that you are familiar with the billing of Cell Phone Number Service.**'."\n" - .'* You are charged only if the value of Code is OK and the value of Status is not UNKNOWN.'."\n" - .'* The prediction is not strictly accurate because Cell Phone Number Service predicts the nonexistent number probability by using AI algorithms. The accuracy rate of the prediction and the recall rate of empty numbers are about 95%. **Pay attention to this point when you call this operation**.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'PhoneNumberStatusForAccount', + 'description' => '- **Before you use this operation, make sure that you fully understand the [pricing](~~154751~~) of Phone Number Intelligence.**'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- By default, only an Alibaba Cloud account can call this operation. A RAM user can call this operation only after receiving the required permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n" + .'- Before you use this operation, log on to the Phone Number Intelligence console. On the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page, find the required tag, click **Apply**, and then submit the required information. You can use this operation once your application is approved.'."\n" ."\n" - .'### [](#)Authorization information'."\n" + .'- The phone number status query feature supports numbers from China Telecom, China Unicom, and China Mobile. This feature does not support numbers from China Broadnet. If you call this operation to query a China Broadnet number, the API returns the error code `OperatorLimit`, which indicates that the query is prohibited by the carrier.'."\n" ."\n" - .'By default, only Alibaba Cloud accounts can call this operation. RAM users can call this operation only after the RAM users are granted the related permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n", - ], - 'TwoElementsVerification' => [ - 'summary' => 'Verifies whether the name and phone number entered by a user belong to the same user.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'### QPS limit'."\n" + ."\n" + .'This operation has a queries per second (QPS) limit of 300 per user. If you exceed this limit, your API calls are throttled, which may affect your services. We recommend that you call this operation at a reasonable frequency.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForAccount'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'PhoneNumberStatusForPublic' => [ + 'summary' => 'Queries the real-time status of a mobile phone number to determine whether it is in service, suspended, or non-existent. This operation supports queries for plaintext numbers or numbers encrypted with MD5 or SHA256.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '136682', - 'abilityTreeNodes' => [ - 'FEATUREdytnsNQKUF2', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '157166', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page of the [Phone Number Intelligence console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization ID and use it as the authorization code.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be verified.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify a value in plaintext for this field.'."\n" - .'* If the value of Mask is MD5, specify a MD5-encrypted value for this field.'."\n" - .'* If the value of Mask is SHA256, specify a SHA256-encrypted value for this field.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The phone number to be queried.'."\n" + ."\n" + .'- If `Mask` is set to `NORMAL`, this parameter must be an 11-digit mobile phone number.'."\n" + ."\n" + .'- If `Mask` is set to `MD5`, this parameter must be a 32-character encrypted string.'."\n" + ."\n" + .'- If `Mask` is set to `SHA256`, this parameter must be a 64-character encrypted string.'."\n" + ."\n" + .'- If `Mask` is set to `SM3`, this parameter must be a 64-character encrypted string.'."\n" + ."\n" + .'> The encrypted strings are case-insensitive.', 'type' => 'string', 'required' => false, 'example' => '139****1234', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method. Valid values:'."\n" - ."\n" - .'* **NORMAL**: plaintext'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'MD5', - 'enum' => [], - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name to be verified.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify a value in plaintext for this field.'."\n" - .'* If the value of Mask is MD5, specify a MD5-encrypted value for this field.'."\n" - .'* If the value of Mask is SHA256, specify a SHA256-encrypted value for this field.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Aliyun', - ], + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The phone number is not encrypted.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* For more information, see Error codes in this documentation.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number or name at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'IsConsistent' => [ - 'description' => 'Indicates whether the specified name and phone number belong to the same user. Valid values:'."\n" - ."\n" - .'* **1**: The specified name and phone number belong to the same user.'."\n" - ."\n" - .'* **0**: The specified name and phone number do not belong to the same user.'."\n" - ."\n" - .'* **2**: The specified name and phone number cannot be found.'."\n" - ."\n" - .'The phone number registration data of a user is usually updated one or three days after registration. The registration data can be queried only after the update. The following table shows the verification results under different phone number states.'."\n" - ."\n" - .'|Carrier/Phone number state|Out-of-service|Nonexistent|Canceled|'."\n" - .'|---|---|---|---|'."\n" - .'|China Mobile|Verifications can be carried out normally.|The specified name and phone number cannot be found.|The specified name and phone number cannot be found.|'."\n" - .'|China Unicom|Verifications can be carried out normally.|The specified name and phone number do not belong to the same user.|The specified name and phone number do not belong to the same user.|'."\n" - .'|China Telecom|Verifications can be carried out normally.|The specified name and phone number cannot be found.|The specified name and phone number cannot be found.|', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'BasicCarrier' => [ - 'description' => 'The basic carriers. Valid values:'."\n" - ."\n" - .'* **China Mobile**'."\n" - .'* **China Unicom**'."\n" - .'* **China Telecom**'."\n" - ."\n" - .'> You are not allowed to verify numbers assigned by China Broadnet.'."\n", - 'type' => 'string', - 'example' => 'China Mobile', - ], + 'Status' => ['description' => 'The status of the queried phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is in service.'."\n" + ."\n" + .'- **SHUTDOWN**: The service for the number is suspended.'."\n" + ."\n" + .'- **POWER\\_OFF**: The phone is powered off.'."\n" + ."\n" + .'- **NOT\\_EXIST**: The number is non-existent.'."\n" + ."\n" + .'- **SUSPECTED\\_POWER\\_OFF**: The phone is suspected to be powered off.'."\n" + ."\n" + .'- **BUSY**: The line is busy.'."\n" + ."\n" + .'- **UNKNOWN**: The status is unknown.'."\n" + ."\n" + .'> Due to carrier system adjustments, the `BUSY`, `SUSPECTED_POWER_OFF`, and `POWER_OFF` statuses are not returned for China Telecom numbers. For more information, see the [official announcement](https://help.aliyun.com/document_detail/2489709.html).', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'Carrier' => ['description' => 'The basic carrier of the number. If the number has been ported, this parameter returns the current carrier.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile'."\n" + ."\n" + .'- **CUCC**: China Unicom'."\n" + ."\n" + .'- **CTCC**: China Telecom'."\n" + ."\n" + .'- **CBN**: China Broadnet', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- **OperatorLimit**: The query for the phone number is prohibited by the carrier.'."\n" + ."\n" + .'- **RequestFrequencyLimit**: Carrier restrictions prohibit frequent queries for the same number in a short period. If this error code is returned, try again later.'."\n" + ."\n" + .'> For a list of other error codes, see [API Error Center](https://next.api.aliyun.com/document/Dytnsapi/2020-02-17/errorCode).', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator', 'description' => ''], ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE****\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 1,\\n \\"BasicCarrier\\": \\"中国移动\\"\\n }\\n}","type":"json"}]', - 'title' => 'TwoElementsVerification', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" - .'* You are charged only if the value of Code is OK and the value of IsConsistent is not 2.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'PhoneNumberStatusForPublic', + 'description' => '- **Before you call this operation, make sure that you fully understand the [pricing](~~154751~~) of Phone Number Intelligence.**'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- By default, only an Alibaba Cloud account can call this operation. A RAM user must be granted the required permissions before calling this operation. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" ."\n" - .'You can call this operation up to 200 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'ThreeElementsVerification' => [ - 'summary' => 'Verifies whether the name, phone number, and ID card number entered by a user belong to the same user.', - 'methods' => [ - 'post', - 'get', + .'- Before calling this operation, log on to the Phone Number Intelligence console. On the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the required tag, click **Apply**, and submit your application. You can use the operation after your application is approved.'."\n" + ."\n" + .'- The number status query feature supports numbers from China Telecom, China Unicom, and China Mobile, but does not support numbers from China Broadnet. If you call this operation to query the status of a China Broadnet number, the `OperatorLimit` error code is returned, which indicates that the query is prohibited by the carrier.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The queries per second (QPS) limit for each user is 300. API calls that exceed this limit are throttled. To avoid business disruptions, plan your calls accordingly.', + 'changeSet' => [ + ['createdAt' => '2025-09-15T12:08:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-15T12:08:45.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForPublic'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'PhoneNumberStatusForReal' => [ + 'summary' => 'Queries the real-time status of a mobile phone number, such as normal, suspended, or not in service. This operation supports queries for phone numbers that are in plaintext or encrypted by using MD5, SHA256, or SM3.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3752,418 +2895,326 @@ ], 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '136769', - 'abilityTreeNodes' => [ - 'FEATUREdytns9WIVIU', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '142581', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page in the [Phone Number Intelligence console](https://dytns.console.aliyun.com/analysis/apply), you can find the authorization code for your API calls.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be verified.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify a value in plaintext for this field.'."\n" - .'* If the value of Mask is MD5, specify a MD5-encrypted value for this field.'."\n" - .'* If the value of Mask is SHA256, specify a SHA256-encrypted value for this field.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => 'The phone number to query.'."\n" + ."\n" + .'- If `Mask` is set to `NORMAL`, this parameter specifies an 11-digit mobile phone number.'."\n" + ."\n" + .'- If `Mask` is set to `MD5`, this parameter specifies a 32-character encrypted string.'."\n" + ."\n" + .'- If `Mask` is set to `SHA256`, this parameter specifies a 64-character encrypted string.'."\n" + ."\n" + .'- If `Mask` is set to `SM3`, this parameter specifies a 64-character encrypted string.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'The encrypted string is not case-sensitive.'."\n" + ."\n" + .'></notice>', 'type' => 'string', 'required' => true, 'example' => '189****8999', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method. Valid values:'."\n" - ."\n" - .'* **NORMAL**: The phone number is not encrypted.'."\n" - .'* **MD5**'."\n" - .'* **SHA256**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'MD5', - 'enum' => [], - ], - ], - [ - 'name' => 'CertCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID card number to be verified.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify a value in plaintext for this field.'."\n" - .'* If the value of Mask is MD5, specify a MD5-encrypted value for this field.'."\n" - .'* If the value of Mask is SHA256, specify a SHA256-encrypted value for this field.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '83d8040d3cb2181e04****dc6ff5566d4493876a4a5da782887446356b0a787e', - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name to be verified.'."\n" - ."\n" - .'* If the value of Mask is NORMAL, specify a value in plaintext for this field.'."\n" - .'* If the value of Mask is MD5, specify a MD5-encrypted value for this field.'."\n" - .'* If the value of Mask is SHA256, specify a SHA256-encrypted value for this field.'."\n" - ."\n" - .'> Letters in the encrypted strings are not case-sensitive.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Aliyun', - ], + 'schema' => ['description' => 'The encryption method of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is not encrypted.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* For more information, see Error codes in this documentation.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- **OperatorLimit**: The query for the phone number is restricted by the carrier.'."\n" + ."\n" + .'- **RequestFrequencyLimit**: Carriers prohibit high-frequency queries for the same number within a short period. If this error code is returned, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'A unique identifier for the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned for the request.', 'type' => 'object', 'properties' => [ - 'BasicCarrier' => [ - 'description' => 'The basic carrier. Valid values:'."\n" - ."\n" - .'* **China Mobile**'."\n" - .'* **China Unicom**'."\n" - .'* **China Telecom**'."\n", - 'type' => 'string', - 'example' => 'China Mobile', - ], - 'IsConsistent' => [ - 'description' => 'Indicates whether the specified name, phone number, and ID card number belong to the same user. Valid values:'."\n" - ."\n" - .'* **1**: The specified name, phone number, and ID card number belong to the same user.'."\n" - .'* **0**: The specified name, phone number, and ID card number do not belong to the same user.'."\n" - .'* **2**: The specified name, phone number, and ID card number cannot be found.'."\n" - ."\n" - .'**Note** The phone number registration data of a user is usually updated one or three days after registration. The registration data can be queried only after the update. The following table shows the verification results under different phone number states.'."\n" - ."\n" - .'|Carrier/Phone number state|Out-of-service|Nonexistent|Canceled|'."\n" - .'|---|---|---|---|'."\n" - .'|China Mobile|Verifications can be carried out normally.|The specified name, phone number, and ID card number cannot be found.|The specified name, phone number, and ID card number cannot be found.|'."\n" - .'|China Unicom|Verifications can be carried out normally.|The specified name, phone number, and ID card number do not belong to the same user.|The specified name, phone number, and ID card number do not belong to the same user.|'."\n" - .'|China Telecom|Verifications can be carried out normally.|The specified name, phone number, and ID card number cannot be found.|The specified name, phone number, and ID card number cannot be found.|', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'Status' => ['description' => 'The status of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is in service.'."\n" + ."\n" + .'- **SHUTDOWN**: The service for the number is suspended.'."\n" + ."\n" + .'- **POWER\\_OFF**: The phone is powered off.'."\n" + ."\n" + .'- **NOT\\_EXIST**: The number is not in service.'."\n" + ."\n" + .'- **BUSY**: The line is busy.'."\n" + ."\n" + .'- **SUSPECTED\\_POWER\\_OFF**: The phone is suspected to be powered off.'."\n" + ."\n" + .'- **DEFECT**: The number is invalid.'."\n" + ."\n" + .'- **UNKNOWN**: The status is unknown.'."\n" + ."\n" + .'> Due to carrier system adjustments, China Telecom numbers no longer return the `BUSY`, `SUSPECTED_POWER_OFF`, and `POWER_OFF` statuses. For more information, see the [official announcement](https://help.aliyun.com/document_detail/2489709.html).', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'Carrier' => ['description' => 'The carrier that provides service for the phone number. If the number has been ported through mobile number portability (MNP), this field returns the new carrier. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile.'."\n" + ."\n" + .'- **CUCC**: China Unicom.'."\n" + ."\n" + .'- **CTCC**: China Telecom.'."\n" + ."\n" + .'> Queries for China Broadnet numbers are not supported.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => 'This mobile phone number is restricted by the carrier.'], ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'CertCodeIllegal', - 'errorMessage' => 'Invalid CertCode value.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"IsConsistent\\": 1\\n }\\n}","type":"json"}]', - 'title' => 'ThreeElementsVerification', - 'description' => '* Before you call this operation, make sure that you are familiar with the [billing](~~154751~~) of Cell Phone Number Service.'."\n" - .'* Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" - .'* You are charged only if the value of Code is OK and the value of IsConsistent is not 2.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'PhoneNumberStatusForReal', + 'description' => '- **Before calling this operation, ensure you fully understand the [pricing](~~154751~~) of Phone Number Intelligence.**'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- By default, only an Alibaba Cloud account can call this operation. To allow a RAM user to call this operation, you must first grant the required permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" ."\n" - .'You can call this operation up to 200 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'PhoneNumberEncrypt' => [ - 'summary' => 'Encrypts the original phone number into a virtual number that starts with 140. Cell Phone Number Service integrates the communications services provided by Alibaba Cloud. This allows you to initiate a call by using a virtual number that starts with 140.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- Before you call this operation, log on to the Phone Number Intelligence console. On the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the required tag, click **Request Activation**, and then submit your application. You can call this operation only after your application is approved.'."\n" + ."\n" + .'- This operation supports phone numbers from China Telecom, China Unicom, and China Mobile. Numbers from China Broadnet are not supported. If you call this operation to query a China Broadnet number, the API returns the error code `OperatorLimit` and an error message indicating that the query is restricted by the carrier.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The QPS limit for this operation is 300 queries per second (QPS) per user. The system throttles calls that exceed this limit, which may affect your business. Plan your calls accordingly.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForReal'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForReal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'PhoneNumberStatusForSms' => [ + 'summary' => 'Retrieves the real-time network status of a phone number, such as active, shutdown, or non-existent. This operation supports queries for numbers in plaintext or numbers encrypted by using MD5, SHA256, or SM3.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '133477', - 'abilityTreeNodes' => [ - 'FEATUREdytns6A4MC8', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page in the [Phone Number Pedia console](https://dytns.console.aliyun.com/analysis/apply), obtain the authorization ID and use it as the value for this parameter.', 'type' => 'string', 'required' => true, 'example' => 'zf08***pi6', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n" - ."\n" - .'> You can query only one phone number at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => 'The phone number to query.'."\n" + ."\n" + .'- If `Mask` is set to `NORMAL`, specify an 11-digit phone number.'."\n" + ."\n" + .'- If `Mask` is set to `MD5`, specify a 32-character encrypted string.'."\n" + ."\n" + .'- If `Mask` is set to `SHA256`, specify a 64-character encrypted string.'."\n" + ."\n" + .'- If `Mask` is set to `SM3`, specify a 64-character encrypted string.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'The encrypted string is not case-sensitive.'."\n" + ."\n" + .'></notice>', 'type' => 'string', 'required' => true, 'example' => '181****1234', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number. Set the value to **NORMAL**.'."\n" - ."\n" - .'> Only the NORMAL encryption method is supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], - ], - [ - 'name' => 'OutId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The encryption method for the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is not encrypted.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- **OperatorLimit**: The carrier restricts queries for this phone number.'."\n" + ."\n" + .'- **RequestFrequencyLimit**: Indicates that requests for a single number are too frequent. Due to carrier restrictions, repeated queries for the same number within a short period are prohibited. If you receive this error code, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The unique ID of the request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177', 'title' => ''], 'Data' => [ - 'description' => 'Details about the returned entries.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'OriginalNumber' => [ - 'description' => 'The original phone number.'."\n", - 'type' => 'string', - 'example' => '1390000****', - ], - 'EncryptedNumber' => [ - 'description' => 'The encrypted phone number.'."\n", - 'type' => 'string', - 'example' => '1400513****', - ], - 'ExpireTime' => [ - 'description' => 'The time when the phone number expires.'."\n", - 'type' => 'string', - 'example' => '2022-05-27 16:05:23', - ], - 'OutId' => [ - 'type' => 'string', - ], - ], + 'description' => 'A container for the returned data.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: Active.'."\n" + ."\n" + .'- **SHUTDOWN**: Shutdown.'."\n" + ."\n" + .'- **POWER\\_OFF**: Powered off.'."\n" + ."\n" + .'- **NOT\\_EXIST**: Non-existent number.'."\n" + ."\n" + .'- **DEFECT**: Invalid number.'."\n" + ."\n" + .'- **UNKNOWN**: Unknown.'."\n" + ."\n" + .'> Due to carrier system adjustments, the statuses for busy, suspected to be powered off, and powered off are not returned for China Telecom numbers. For more information, see the [official announcement](https://help.aliyun.com/document_detail/2489709.html).', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'Carrier' => ['description' => 'The carrier of the phone number. If the number has been ported, this parameter returns the current carrier. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile.'."\n" + ."\n" + .'- **CUCC**: China Unicom.'."\n" + ."\n" + .'- **CTCC**: China Telecom.'."\n" + ."\n" + .'> Queries for China Broadnet numbers are not supported.', 'type' => 'string', 'example' => 'CMCC', 'title' => ''], ], - ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => 'This mobile phone number is restricted by the carrier.'], ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + 400 => [ + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => ''], + ['errorCode' => 'isp.UNKNOWN', 'errorMessage' => 'An error occurred due to unknown reasons.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\",\\n \\"OutId\\": \\"215044c917374256269257695e9d22\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'PhoneNumberEncrypt', - 'description' => 'Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'PhoneNumberStatusForSms', + 'description' => '- **Before you call this operation, make sure you understand the [Product Pricing](~~154751~~) of Phone Number Pedia**.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- By default, only an Alibaba Cloud account can call this operation. A RAM user can call this operation only after being granted the required permissions. For more information, see [Grant permissions to a RAM user](~~154006~~).'."\n" ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'InvalidPhoneNumberFilter' => [ - 'summary' => 'Filters invalid phone numbers.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + .'- Before calling this operation, log on to the Phone Number Pedia console. On the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the required tag, click **Request Activation**, and then complete the application form. You can use this operation only after your application is approved.'."\n" + ."\n" + .'- This feature supports phone numbers from China Telecom, China Unicom, and China Mobile, but does not support phone numbers from China Broadnet. If you call this operation to query the status of a China Broadnet number, the `OperatorLimit` error code and the "The number is limited by the operator." message are returned.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'This operation is limited to 300 queries per second (QPS) for each user. Calls that exceed this limit are throttled, which may affect your business. Plan your calls accordingly.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForSms'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForSms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'PhoneNumberStatusForVoice' => [ + 'summary' => 'Queries the real-time network status of a mobile phone number, such as normal, shutdown, or non-existent. This operation supports queries for numbers in plaintext and numbers encrypted by using MD5, SHA256, or SM3.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4173,183 +3224,164 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'abilityTreeCode' => '132665', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], + 'abilityTreeCode' => '142576', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n" - ."\n" - .'> On the **My Applications** page in the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code (also known as authorization ID).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> The authorization code is the authorization ID that you can find on the **My Applications** page of the [Phone Number Encyclopedia console](https://dytns.console.aliyun.com/analysis/apply).', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id', 'title' => ''], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be queried.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => 'The phone number to query.'."\n" + ."\n" + .'- If you set `Mask` to `NORMAL`, specify an 11-digit mobile number.'."\n" + ."\n" + .'- If you set `Mask` to `MD5`, specify a 32-bit encrypted string.'."\n" + ."\n" + .'- If you set `Mask` to `SHA256`, specify a 64-bit encrypted string.'."\n" + ."\n" + .'- If you set `Mask` to `SM3`, specify a 64-bit encrypted string.'."\n" + ."\n" + .'><notice>'."\n" + ."\n" + .'The letters in the encrypted string are not case-sensitive.'."\n" + ."\n" + .'></notice>', 'type' => 'string', 'required' => true, 'example' => '139****1234', 'title' => ''], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption method of the phone number.'."\n" - ."\n" - .'> Only the NORMAL encryption method is supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is in plaintext.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **MobileNumberIllegal**: The phone number is invalid.'."\n" - .'* **EncyrptTypeIllegal**: The encryption type is invalid.'."\n" - .'* **MobileNumberTypeNotMatch**: The phone number does not match the encryption type.'."\n" - .'* **CarrierIllegal**: The carrier type is invalid.'."\n" - .'* **AuthCodeNotExist**: The authorization code does not exist.'."\n" - .'* **PortabilityNumberNotSupported**: Mobile number portability is not supported.'."\n" - .'* **Unknown**: An unknown exception occurred.'."\n" - .'* **AuthCodeAndApiNotMatch**: A system exception occurred.'."\n" - .'* **AuthCodeAndApiNotMatch**: The authorization code does not match the API operation.'."\n" - .'* **RequestFrequencyLimit**: Repeated queries for the same phone number at a high frequency within a short period of time are prohibited due to restrictions that are set by carriers. If this error code is returned, please try again later.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- **OperatorLimit**: The carrier restricts queries for this phone number.'."\n" + ."\n" + .'- **RequestFrequencyLimit**: Carrier restrictions limit how frequently you can query the same number. If you receive this error, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID. This is a common parameter. Each request has a unique ID that you can use to troubleshoot issues.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], 'Data' => [ - 'description' => 'Details about the returned entries.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The returned filter results.'."\n" - ."\n" - .'* **YES**: the valid phone number. The mappings are returned.'."\n" - .'* **NO**: the invalid phone number. No mappings are returned.'."\n", - 'type' => 'string', - 'example' => 'YES', - ], - 'OriginalNumber' => [ - 'description' => 'The original phone number.'."\n", - 'type' => 'string', - 'example' => '1390000****', - ], - 'EncryptedNumber' => [ - 'description' => 'The encrypted phone number.'."\n", - 'type' => 'string', - 'example' => '1400513****', - ], - 'ExpireTime' => [ - 'description' => 'The time when the phone number expires.'."\n", - 'type' => 'string', - 'example' => '2022-05-27 16:05:23', - ], - ], + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the phone number. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The number is active.'."\n" + ."\n" + .'- **SHUTDOWN**: The service for the number is suspended.'."\n" + ."\n" + .'- **POWER\\_OFF**: The phone is powered off.'."\n" + ."\n" + .'- **NOT\\_EXIST**: The number does not exist.'."\n" + ."\n" + .'- **SUSPECTED\\_POWER\\_OFF**: The phone is likely powered off.'."\n" + ."\n" + .'- **DEFECT**: The number is invalid.'."\n" + ."\n" + .'- **UNKNOWN**: The status is unknown.'."\n" + ."\n" + .'> Due to carrier system adjustments, the `SUSPECTED_POWER_OFF` and `POWER_OFF` statuses are not returned for China Telecom numbers. [For more information, see the official announcement.](https://help.aliyun.com/document_detail/2489709.html)', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'Carrier' => ['description' => 'The current carrier for the number. If the number has been ported, this field returns the new carrier. Valid values:'."\n" + ."\n" + .'- **CMCC**: China Mobile'."\n" + ."\n" + .'- **CUCC**: China Unicom'."\n" + ."\n" + .'- **CTCC**: China Telecom'."\n" + ."\n" + .'> Queries for China Broadnet numbers are not supported.', 'type' => 'string', 'example' => 'CTCC', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => 'This mobile phone number is restricted by the carrier.'], ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + 400 => [ + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => ''], + ['errorCode' => 'EncryptTypeIllegal', 'errorMessage' => 'Invalid encryption type.', 'description' => ''], + ['errorCode' => 'isp.UNKNOWN', 'errorMessage' => 'An error occurred due to unknown reasons.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"Code\\": \\"YES\\",\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'InvalidPhoneNumberFilter', - 'description' => 'Before you call this operation, perform the following operations: Log on to the Cell Phone Number Service console. On the [Labels](https://dytns.console.aliyun.com/analysis/square) page, find the label that you want to use, click **Activate Now**, enter the required information, and then submit your application. After your application is approved, you can use the label.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CTCC\\"\\n }\\n}","type":"json"}]', + 'title' => 'PhoneNumberStatusForVoice', + 'description' => '- **Before you use this API, make sure that you understand the [pricing](~~154751~~) of Phone Number Encyclopedia**.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- By default, only Alibaba Cloud accounts can call this API. To allow a RAM user to do so, you must grant them the required permissions. For more information, see [Grant permissions to RAM users](~~154006~~).'."\n" ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'QueryTagListPage' => [ - 'summary' => 'Queries a list of tags by page.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- Before you use this API, log in to the Phone Number Encyclopedia console. On the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the required tag, click **Apply for Access**, and then complete the application form. You can call this API after your application is approved.'."\n" + ."\n" + .'- This feature supports phone numbers from China Telecom, China Unicom, and China Mobile, but not from China Broadnet. If you query a China Broadnet number, the `OperatorLimit` error code and an error message are returned: The number is limited by the operator.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The QPS limit for a single user is 300 queries per second. If you exceed this limit, the system throttles your API calls, which may impact your business. To avoid interruptions, call this API at a reasonable rate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForVoice'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForVoice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryAvailableAuthCode' => [ + 'summary' => 'Queries available authorization codes.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4357,236 +3389,251 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'PageNo', + 'name' => 'TagId', 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The tag ID. You can call the [QueryTagListPage](~~QueryTagListPage~~) operation to query tag IDs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '22'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6ADDCD31-6BC7-5913-A47F-E29A07E37FEE'], + 'Message' => ['description' => 'The description of the status code returned.', 'type' => 'string', 'title' => '', 'example' => 'OK'], + 'Data' => [ + 'title' => '', + 'description' => 'The data returned.', + 'type' => 'array', + 'items' => ['description' => 'The data returned.', 'type' => 'string', 'example' => '[\'n81Q8M63rg\']', 'title' => ''], + 'example' => '', + ], + 'Code' => ['description' => 'The status code returned. **OK** indicates that the request was successful.', 'type' => 'string', 'title' => '', 'example' => 'OK'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: successful.'."\n" + ."\n" + .'- false: failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + ], + 'description' => '', 'title' => '', - 'description' => 'The page number. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '18', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Query available authorization codes', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryAvailableAuthCode'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryAvailableAuthCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6ADDCD31-6BC7-5913-A47F-E29A07E37FEE\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n \\"[\'n81Q8M63rg\']\\"\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'QueryPackageTypeInfo' => [ + 'summary' => 'Queries package type information.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PageSize', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'ProductName', 'in' => 'query', + 'schema' => ['title' => 'Product name, such as dysms.', 'description' => 'The product name. The value must be dytns.', 'type' => 'string', 'required' => false, 'example' => 'dytns'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'Example'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'Example'], + 'Data' => ['description' => 'The response data.', 'type' => 'object', 'title' => '', 'example' => '{"efactorVerification":"平台风控-二要素核验查询套餐包"}'], + 'Code' => ['description' => 'The status code.'."\n" + ."\n" + .'- OK indicates that the request is successful.'."\n" + ."\n" + .'- For other error codes, see the [error code list](~~109196~~).', 'type' => 'string', 'title' => '', 'example' => 'Example'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: The request was successful.'."\n" + ."\n" + .'- false: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + ], 'title' => '', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '66', + 'example' => '', ], ], ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'QueryPackageTypeInfo', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryPackageTypeInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"Example\\",\\n \\"RequestId\\": \\"Example\\",\\n \\"Data\\": {\\n \\"efactorVerification\\": \\"平台风控-二要素核验查询套餐包\\"\\n },\\n \\"Code\\": \\"Example\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'QueryTagApplyRule' => [ + 'summary' => 'Queries tag application rules.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'TagId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The tag ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '61'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A4475657-BB7E-585D-9E09-37934F096103', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47'], + 'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'title' => '', - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => '', - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '32', - ], - 'TotalPage' => [ - 'title' => '', - 'description' => 'The total number of returned pages.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '91', - ], - 'PageSize' => [ - 'title' => '', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '24', - ], - 'PageNo' => [ - 'title' => '', - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '11', - ], - 'Records' => [ - 'title' => '', - 'description' => 'The retruned data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SceneId' => [ - 'title' => '场景id', - 'description' => 'The scene ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '13', - ], - 'SceneName' => [ - 'title' => '场景名称', - 'description' => 'The scene name.'."\n", - 'type' => 'string', - 'example' => 'check', - ], - 'IndustryId' => [ - 'title' => '行业id', - 'description' => 'The industry ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Introduction' => [ - 'title' => '标签介绍', - 'description' => 'The tag description.'."\n", - 'type' => 'string', - 'example' => 'for autotest new', - ], - 'SaleStatusStr' => [ - 'title' => '0 隐藏 1 公开', - 'description' => '* 0: The number is hidden.'."\n" - .'* 1: The number is public.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'ApiName' => [ - 'title' => '前端调用的api名称', - 'description' => 'The API operation that is called by the frontend.'."\n", - 'type' => 'string', - 'example' => 'TwoElementsVerification', - ], - 'Id' => [ - 'title' => '标签 id', - 'description' => 'The tag ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '75', - ], - 'IndustryName' => [ - 'title' => '行业名称', - 'description' => 'The industry name.'."\n", - 'type' => 'string', - 'example' => 'Test', - ], - 'Code' => [ - 'title' => 'code', - 'description' => 'Code'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'DocAddress' => [ - 'title' => 'API文档链接', - 'description' => 'The URL for the API documentation.'."\n", - 'type' => 'string', - 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP', - ], - 'Name' => [ - 'title' => '标签名称', - 'description' => 'The tag name.'."\n", - 'type' => 'string', - 'example' => 'Aliyun', - ], - 'IsOpen' => [ - 'title' => '是否已经申请开通', - 'description' => 'Indicates whether the number is activated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '45', - ], - ], - ], - 'example' => '', - ], + 'NeedApplyMaterial' => ['title' => '', 'description' => 'Indicates whether application materials need to be provided. Valid values:'."\n" + ."\n" + .'- 0: not required.'."\n" + ."\n" + .'- 1: required.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'EncryptedQuery' => ['title' => '', 'description' => 'Indicates whether encrypted query is supported. Valid values:'."\n" + ."\n" + .'- 0: not supported.'."\n" + ."\n" + .'- 1: supported.', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'SlaLink' => ['title' => '', 'description' => 'The service agreement link.', 'type' => 'string', 'example' => 'example.aliyundoc.com'], + 'ApplyMaterialDesc' => ['title' => '', 'description' => 'The application material requirements. This parameter is returned when NeedApplyMaterial=1.', 'type' => 'string', 'example' => '申请材料的要求是XXX'], + 'AutoAudit' => ['title' => '', 'description' => 'Indicates whether to automatically approve. Valid values:'."\n" + ."\n" + .'- 0: do not automatically approve.'."\n" + ."\n" + .'- 1: automatically approve.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'ChargingStandardLink' => ['title' => '', 'description' => 'The billing standard description link.', 'type' => 'string', 'example' => 'aliyundoc.com'], ], 'example' => '', ], - 'Code' => [ - 'title' => '', - 'description' => 'The response code. **OK** indicates that the request is successful.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The request status code. **OK** indicates success.', 'type' => 'string', 'title' => '', 'example' => 'OK'], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- true: successful.'."\n" + ."\n" + .'- false: failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Queries tag application rules', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagApplyRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagApplyRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A4475657-BB7E-585D-9E09-37934F096103\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 32,\\n \\"TotalPage\\": 91,\\n \\"PageSize\\": 24,\\n \\"PageNo\\": 11,\\n \\"Records\\": [\\n {\\n \\"SceneId\\": 13,\\n \\"SceneName\\": \\"查询\\",\\n \\"IndustryId\\": 2,\\n \\"Introduction\\": \\"这个标签是查询号码状态的。\\",\\n \\"SaleStatusStr\\": \\"1\\",\\n \\"ApiName\\": \\"TwoElementsVerification\\",\\n \\"Id\\": 75,\\n \\"IndustryName\\": \\"测试\\",\\n \\"Code\\": \\"OK\\",\\n \\"DocAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP\\",\\n \\"Name\\": \\"阿里云\\",\\n \\"IsOpen\\": 0\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryTagListPage', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"NeedApplyMaterial\\": 1,\\n \\"EncryptedQuery\\": 0,\\n \\"SlaLink\\": \\"example.aliyundoc.com\\",\\n \\"ApplyMaterialDesc\\": \\"申请材料的要求是XXX\\",\\n \\"AutoAudit\\": 1,\\n \\"ChargingStandardLink\\": \\"aliyundoc.com\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'QueryTagInfoBySelection' => [ - 'summary' => 'Queries information about tags.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Queries tag information.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4594,45 +3641,22 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'IndustryId', 'in' => 'query', - 'schema' => [ - 'title' => '行业id', - 'description' => 'The industry ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '58', - ], + 'schema' => ['title' => '', 'description' => 'The industry ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '58'], ], [ 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'title' => '场景id', - 'description' => 'The scene ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '83', - ], + 'schema' => ['title' => '', 'description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '83'], ], [ 'name' => 'TagId', 'in' => 'query', - 'schema' => [ - 'title' => '标签id', - 'description' => 'The tag ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '71', - ], + 'schema' => ['title' => '', 'description' => 'The tag ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '71'], ], ], 'responses' => [ @@ -4640,235 +3664,126 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1C3B8084-3A7D-570B-BC84-BF945A9CF65E', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '1C3B8084-3A7D-570B-BC84-BF945A9CF65E'], + 'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'title' => '', - 'description' => 'The returned data.'."\n", + 'description' => 'The data returned.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'SceneId' => [ - 'title' => '场景id', - 'description' => 'The scene ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '41', - ], - 'IndustryId' => [ - 'title' => '行业id', - 'description' => 'The industry ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '83', - ], - 'SceneName' => [ - 'title' => '场景名称', - 'description' => 'The scene name.'."\n", - 'type' => 'string', - 'example' => 'General scenario', - ], - 'TagName' => [ - 'title' => '标签名称', - 'description' => 'The tag name.'."\n", - 'type' => 'string', - 'example' => 'Number ownership', - ], - 'FlowName' => [ - 'title' => '流程名称', - 'description' => 'The flow name.'."\n", - 'type' => 'string', - 'example' => 'process name', - ], - 'EnumDefinitionAddress' => [ - 'title' => '枚举值定义链接', - 'description' => 'The URL for the definitions of the enumerated values.'."\n", - 'type' => 'string', - 'example' => 'example.aliyundoc.com'."\n", - ], - 'TagId' => [ - 'title' => '标签id', - 'description' => 'The tag ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '31', - ], + 'SceneId' => ['title' => '', 'description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '41'], + 'IndustryId' => ['title' => '', 'description' => 'The industry ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '83'], + 'SceneName' => ['title' => '', 'description' => 'The scene name.', 'type' => 'string', 'example' => '通用'], + 'TagName' => ['title' => '', 'description' => 'The tag name.', 'type' => 'string', 'example' => '号码归属'], + 'FlowName' => ['title' => '', 'description' => 'The flow name.', 'type' => 'string', 'example' => '查询'], + 'EnumDefinitionAddress' => ['title' => '', 'description' => 'The link to the enumerated value definition.', 'type' => 'string', 'example' => 'example.aliyundoc.com'."\n"], + 'TagId' => ['title' => '', 'description' => 'The tag ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '31'], 'AuthCodeList' => [ - 'title' => '可用的授权码列表', - 'description' => 'The list of available authorization codes.'."\n", + 'title' => '', + 'description' => 'The list of available authorization codes.', 'type' => 'array', - 'items' => [ - 'description' => 'None'."\n", - 'type' => 'string', - 'example' => 'None', - ], + 'items' => ['description' => 'None', 'type' => 'string', 'example' => '无', 'title' => ''], 'example' => '', ], - 'IndustryName' => [ - 'title' => '行业名称', - 'description' => 'The industry name.'."\n", - 'type' => 'string', - 'example' => 'logistics', - ], - 'DocAddress' => [ - 'title' => 'API文档链接', - 'description' => 'The URL for the API documentation.'."\n", - 'type' => 'string', - 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz', - ], - 'DemoAddress' => [ - 'title' => 'API demo链接', - 'description' => 'The URL for the API demo.'."\n", - 'type' => 'string', - 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz', - ], + 'IndustryName' => ['title' => '', 'description' => 'The industry name.', 'type' => 'string', 'example' => '物流'], + 'DocAddress' => ['title' => '', 'description' => 'The link to the API documentation.', 'type' => 'string', 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz'], + 'DemoAddress' => ['title' => '', 'description' => 'The link to the API demo.', 'type' => 'string', 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz'], 'ParamList' => [ - 'title' => '标签参数列表', - 'description' => 'The list of tag parameters.'."\n", + 'title' => '', + 'description' => 'The list of tag parameters.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tag parameter.', 'type' => 'object', 'properties' => [ 'ValueDict' => [ - 'title' => '枚举值定义,code:desc', - 'description' => 'The definitions of the enumerated values such as Code or Desc.'."\n", + 'title' => '', + 'description' => 'The definition of an enumerated value, in the format of code:desc.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The definition of an enumerated value, in the format of code:desc.', 'type' => 'object', 'properties' => [ - 'Desc' => [ - 'title' => '中文名', - 'description' => 'The Chinese name.'."\n", - 'type' => 'string', - 'example' => '阿里云', - ], - 'Code' => [ - 'title' => '英文名', - 'description' => 'The English name.'."\n", - 'type' => 'string', - 'example' => 'Aliyun', - ], + 'Desc' => ['title' => '', 'description' => 'The Chinese name.', 'type' => 'string', 'example' => '阿里云'], + 'Code' => ['title' => '', 'description' => 'The English name.', 'type' => 'string', 'example' => 'Aliyun'], ], + 'title' => '', + 'example' => '', ], 'example' => '', ], - 'Type' => [ - 'title' => '类型EnumUIWidgetTypes对应的code', - 'description' => 'The type. The code that corresponds to EnumUIWidgetTypes.'."\n", - 'type' => 'string', - 'example' => 'aqzx', - ], - 'Hint' => [ - 'title' => '输入提示', - 'description' => 'The input hint.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'Code' => [ - 'title' => '参数英文名', - 'description' => 'The English name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'preame', - ], - 'Must' => [ - 'title' => '是否必填', - 'description' => 'Indicates whether the parameter is required.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Name' => [ - 'title' => '参数中文名', - 'description' => 'The Chinese name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'none', - ], + 'Type' => ['title' => '', 'description' => 'The code corresponding to the type EnumUIWidgetTypes.', 'type' => 'string', 'example' => 'aqzx'], + 'Hint' => ['title' => '', 'description' => 'The input hint.', 'type' => 'string', 'example' => '无'], + 'Code' => ['title' => '', 'description' => 'The English name of the parameter.', 'type' => 'string', 'example' => 'preame'], + 'Must' => ['title' => '', 'description' => 'Indicates whether the parameter is required.', 'type' => 'boolean', 'example' => 'false'], + 'Name' => ['title' => '', 'description' => 'The Chinese name of the parameter.', 'type' => 'string', 'example' => '无'], ], + 'title' => '', + 'example' => '', ], 'example' => '', ], - 'RichTextDescription' => [ - 'type' => 'string', - ], - 'ComplexityType' => [ - 'type' => 'string', - ], + 'RichTextDescription' => ['description' => 'The rich text description. This field is available only for complex tags.', 'type' => 'string', 'example' => '无', 'title' => ''], + 'ComplexityType' => ['description' => 'The tag type.', 'type' => 'string', 'example' => 'SINGLE_STAGE', 'title' => ''], ], + 'title' => '', + 'example' => '', ], 'example' => '', ], - 'Code' => [ - 'title' => '', - 'description' => 'The response code. **OK** indicates that the request is successful.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], + 'Code' => ['description' => 'The request status code. The value **OK** indicates that the request was successful.', 'type' => 'string', 'title' => '', 'example' => 'OK'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: The request was successful.'."\n" + ."\n" + .'- false: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Queries tag information', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagInfoBySelection'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagInfoBySelection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1C3B8084-3A7D-570B-BC84-BF945A9CF65E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"SceneId\\": 41,\\n \\"IndustryId\\": 83,\\n \\"SceneName\\": \\"通用\\",\\n \\"TagName\\": \\"号码归属\\",\\n \\"FlowName\\": \\"查询\\",\\n \\"EnumDefinitionAddress\\": \\"example.aliyundoc.com\\\\n\\",\\n \\"TagId\\": 31,\\n \\"AuthCodeList\\": [\\n \\"无\\"\\n ],\\n \\"IndustryName\\": \\"物流\\",\\n \\"DocAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz\\",\\n \\"DemoAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz\\",\\n \\"ParamList\\": [\\n {\\n \\"ValueDict\\": [\\n {\\n \\"Desc\\": \\"阿里云\\",\\n \\"Code\\": \\"Aliyun\\"\\n }\\n ],\\n \\"Type\\": \\"aqzx\\",\\n \\"Hint\\": \\"无\\",\\n \\"Code\\": \\"preame\\",\\n \\"Must\\": false,\\n \\"Name\\": \\"无\\"\\n }\\n ],\\n \\"RichTextDescription\\": \\"无\\",\\n \\"ComplexityType\\": \\"SINGLE_STAGE\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryTagInfoBySelection', ], - 'QueryUsageStatisticsByTagId' => [ - 'summary' => 'Queries the usage statistics based on tag IDs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'QueryTagListPage' => [ + 'summary' => 'Queries the tag list by page.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4876,67 +3791,17 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'BeginTime', - 'in' => 'query', - 'schema' => [ - 'title' => '开始时间', - 'description' => 'The beginning of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '20230308', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'title' => '结束时间', - 'description' => 'The end of the time range to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '20230406', - ], - ], - [ - 'name' => 'TagId', - 'in' => 'query', - 'schema' => [ - 'title' => '结束时间', - 'description' => 'The tag ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '14', - ], - ], - [ 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => 'The page number. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '18'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '66'], ], ], 'responses' => [ @@ -4944,161 +3809,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D45CC751-34DF-5797-81FB-9A2ED6DC024B', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'A4475657-BB7E-585D-9E09-37934F096103'], + 'Message' => ['description' => 'The description of the response code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'title' => '', - 'description' => 'The returned data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AuthorizationCode' => [ - 'title' => '授权码', - 'description' => 'The authorization code.'."\n", - 'type' => 'string', - 'example' => 'g61I8UV5zd', - ], - 'SuccessTotal' => [ - 'title' => '查询成功号码数', - 'description' => 'The numbers for which the query succeeded.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '93', - ], - 'FailTotal' => [ - 'title' => '查询失败号码数', - 'description' => 'The numbers for which the query failed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '71', - ], - 'TagName' => [ - 'title' => '标签名称', - 'description' => 'The tag name.'."\n", - 'type' => 'string', - 'example' => 'Alibaba Cloud Query', - ], - 'SceneName' => [ - 'title' => '场景名称', - 'description' => 'The scene name.'."\n", - 'type' => 'string', - 'example' => 'Return visit', - ], - 'Total' => [ - 'title' => '查询总号码数', - 'description' => 'The total quantity of numbers that are involved in the query.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '41', - ], - 'TagId' => [ - 'title' => '标签名称', - 'description' => 'The tag name.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '69', - ], - 'PartnerId' => [ - 'title' => '客户 pid', - 'description' => 'The customer product ID (PID).'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '89', - ], - 'Id' => [ - 'title' => '授权码使用记录 id', - 'description' => 'The ID of the authorization code usage record.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '17', - ], - 'GmtDateStr' => [ - 'title' => '创建时间', - 'description' => 'The creation time.'."\n", - 'type' => 'string', - 'example' => '20230312', - ], - 'IndustryName' => [ - 'title' => '行业名称', - 'description' => 'The industry name.'."\n", - 'type' => 'string', - 'example' => 'Home security', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => 'The total count.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '32'], + 'TotalPage' => ['description' => 'The total number of pages.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '91'], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '24'], + 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '11'], + 'Records' => [ + 'title' => '', + 'description' => 'The data list.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data.', + 'type' => 'object', + 'properties' => [ + 'SceneId' => ['title' => '', 'description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '13'], + 'SceneName' => ['title' => '', 'description' => 'The scene name.', 'type' => 'string', 'example' => '查询'], + 'IndustryId' => ['title' => '', 'description' => 'The industry ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'Introduction' => ['title' => '', 'description' => 'The tag introduction.', 'type' => 'string', 'example' => '这个标签是查询号码状态的。'], + 'SaleStatusStr' => ['title' => '', 'description' => '- 0: hidden.'."\n" + .' '."\n" + .'- 1: public.', 'type' => 'string', 'example' => '1'], + 'ApiName' => ['title' => '', 'description' => 'The name of the API called by the frontend.', 'type' => 'string', 'example' => 'TwoElementsVerification'], + 'Id' => ['title' => '', 'description' => 'The tag ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '75'], + 'IndustryName' => ['title' => '', 'description' => 'The industry name.', 'type' => 'string', 'example' => '测试'], + 'Code' => ['title' => '', 'description' => 'The response code. OK indicates success.', 'type' => 'string', 'example' => 'OK'], + 'DocAddress' => ['title' => '', 'description' => 'The API document link.', 'type' => 'string', 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP'], + 'Name' => ['title' => '', 'description' => 'The tag name.', 'type' => 'string', 'example' => '阿里云'], + 'IsOpen' => ['title' => '', 'description' => 'Indicates whether the activation has been applied for.', 'type' => 'integer', 'format' => 'int64', 'example' => '是'], + ], + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], 'example' => '', ], - 'Code' => [ - 'title' => '', - 'description' => 'The response code. **OK** indicates that the request is successful.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the call is successful.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The response code. **OK** indicates success.', 'type' => 'string', 'title' => '', 'example' => 'OK'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: successful.'."\n" + ."\n" + .'- false: failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D45CC751-34DF-5797-81FB-9A2ED6DC024B\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"AuthorizationCode\\": \\"g61I8UV5zd\\",\\n \\"SuccessTotal\\": 93,\\n \\"FailTotal\\": 71,\\n \\"TagName\\": \\"阿里云查询\\",\\n \\"SceneName\\": \\"电话回访1\\",\\n \\"Total\\": 41,\\n \\"TagId\\": 69,\\n \\"PartnerId\\": 0,\\n \\"Id\\": 0,\\n \\"GmtDateStr\\": \\"20230312\\",\\n \\"IndustryName\\": \\"家政安保\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryUsageStatisticsByTagId', - ], - 'QueryTagApplyRule' => [ - 'summary' => 'Queries tag application rules.', - 'methods' => [ - 'post', - 'get', + 'title' => 'Queries the tag list by page', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagListPage'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagListPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A4475657-BB7E-585D-9E09-37934F096103\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 32,\\n \\"TotalPage\\": 91,\\n \\"PageSize\\": 24,\\n \\"PageNo\\": 11,\\n \\"Records\\": [\\n {\\n \\"SceneId\\": 13,\\n \\"SceneName\\": \\"查询\\",\\n \\"IndustryId\\": 2,\\n \\"Introduction\\": \\"这个标签是查询号码状态的。\\",\\n \\"SaleStatusStr\\": \\"1\\",\\n \\"ApiName\\": \\"TwoElementsVerification\\",\\n \\"Id\\": 75,\\n \\"IndustryName\\": \\"测试\\",\\n \\"Code\\": \\"OK\\",\\n \\"DocAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP\\",\\n \\"Name\\": \\"阿里云\\",\\n \\"IsOpen\\": 0\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'QueryTaskList' => [ + 'summary' => 'Queries a list of offline tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5106,146 +3908,142 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => ['description' => 'The task name.', 'type' => 'string', 'required' => false, 'example' => 'Example', 'title' => ''], + ], + [ 'name' => 'TagId', 'in' => 'query', + 'schema' => ['description' => 'The tag ID. You can call the [QueryTagListPage](~~QueryTagListPage~~) operation to query tag IDs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '15', 'title' => ''], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => ['description' => 'The task ID. You can call the DescribeTasks operation to query the list of task IDs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '91', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The page size. Maximum value: 1000.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'TaskType', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '标签id', - 'description' => 'The tag ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'An array of task types.', + 'type' => 'array', + 'items' => ['description' => '- 0: Filter task'."\n" + ."\n" + .'- 1: Sort task'."\n" + ."\n" + .'- 2: Batch task', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '[0]', 'title' => ''], 'required' => false, - 'example' => '61', + 'example' => '', + 'title' => '', + ], + ], + [ + 'name' => 'Result', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The task statuses.', + 'type' => 'array', + 'items' => ['description' => '- 0: Running'."\n" + ."\n" + .'- 1: Succeeded'."\n" + ."\n" + .'- 2: Failed', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '[0]', 'title' => ''], + 'required' => false, + 'example' => '', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Message' => ['description' => 'The status code description.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'title' => '', - 'description' => 'The returned data.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'NeedApplyMaterial' => [ - 'title' => '是否需要提供申请材料', - 'description' => 'Indicates whether application materials are required.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '46', - ], - 'EncryptedQuery' => [ - 'title' => '是否支持加密查询', - 'description' => 'indicates whether encrypted queries are supported.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '99', - ], - 'SlaLink' => [ - 'title' => '服务协议链接', - 'description' => 'The URL for the service agreement.'."\n", - 'type' => 'string', - 'example' => 'example.aliyundoc.com', - ], - 'ApplyMaterialDesc' => [ - 'title' => '申请材料要求', - 'description' => 'The requirements for application materials.'."\n", - 'type' => 'string', - 'example' => 'Requirements for application materials', - ], - 'AutoAudit' => [ - 'title' => '是否自动审批', - 'description' => 'Indicates whether the application is automatically approved.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - 'ChargingStandardLink' => [ - 'title' => '计费标准说明链接', - 'description' => 'The URL for the billing documentation.'."\n", - 'type' => 'string', - 'example' => 'aliyundoc.com', + 'TotalCount' => ['description' => 'The total count.', 'type' => 'integer', 'format' => 'int64', 'example' => '22', 'title' => ''], + 'Data' => [ + 'description' => 'The details of the tasks.', + 'type' => 'array', + 'items' => ['description' => 'The details of a task, returned as a JSON string.', 'type' => 'string', 'example' => '{"createDate":"创建时间"}', 'title' => ''], + 'example' => '', + 'title' => '', ], + 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '62', 'title' => ''], ], - 'example' => '', - ], - 'Code' => [ - 'title' => '', - 'description' => 'The response code. **OK** indicates that the request is successful.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ 'title' => '', - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', + 'example' => '', ], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- **isv.INVALID\\_PARAMETERS**: The specified parameter is invalid.'."\n" + ."\n" + .'- **isp.SYSTEM\\_ERROR**: A system error occurred.'."\n" + ."\n" + .'> For more information, see the "Error codes" section of this topic.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"NeedApplyMaterial\\": 1,\\n \\"EncryptedQuery\\": 0,\\n \\"SlaLink\\": \\"example.aliyundoc.com\\",\\n \\"ApplyMaterialDesc\\": \\"申请材料的要求是XXX\\",\\n \\"AutoAudit\\": 1,\\n \\"ChargingStandardLink\\": \\"aliyundoc.com\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryTagApplyRule', - ], - 'QueryAvailableAuthCode' => [ - 'summary' => 'Queries available authorization codes.', - 'methods' => [ - 'post', - 'get', + 'title' => 'Query Encyclopedia Offline Task List', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTaskList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 22,\\n \\"Data\\": [\\n \\"{\\\\\\"createDate\\\\\\":\\\\\\"创建时间\\\\\\"}\\"\\n ],\\n \\"PageNo\\": 62\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'QueryUsageStatisticsByTagId' => [ + 'summary' => 'Queries usage statistics by tag ID.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5253,21 +4051,32 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ + 'name' => 'BeginTime', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The start time of the query.', 'type' => 'string', 'required' => false, 'example' => '20230308'], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The end time of the query.', 'type' => 'string', 'required' => false, 'example' => '20230406'], + ], + [ 'name' => 'TagId', 'in' => 'query', - 'schema' => [ - 'title' => '标签id', - 'description' => 'The tag ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '22', - ], + 'schema' => ['title' => '', 'description' => 'The tag ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '89'], + ], + [ + 'name' => 'PageNo', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The page size.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -5275,118 +4084,253 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6ADDCD31-6BC7-5913-A47F-E29A07E37FEE', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'title' => '', 'example' => 'D45CC751-34DF-5797-81FB-9A2ED6DC024B'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'title' => '', - 'description' => 'The returned data.'."\n", + 'description' => '返回的数据内容。', 'type' => 'array', 'items' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'string', - 'example' => '[\'n81Q8M63rg\']', + 'description' => '返回的数据内容。', + 'type' => 'object', + 'properties' => [ + 'AuthorizationCode' => ['title' => '', 'description' => '授权码。', 'type' => 'string', 'example' => 'g61I8UV5zd'], + 'SuccessTotal' => ['title' => '', 'description' => '查询成功号码数。', 'type' => 'integer', 'format' => 'int64', 'example' => '93'], + 'FailTotal' => ['title' => '', 'description' => '查询失败号码数。', 'type' => 'integer', 'format' => 'int64', 'example' => '71'], + 'TagName' => ['title' => '', 'description' => '标签名称。', 'type' => 'string', 'example' => '阿里云查询'], + 'SceneName' => ['title' => '', 'description' => '场景名称。', 'type' => 'string', 'example' => '电话回访1'], + 'Total' => ['title' => '', 'description' => '查询总号码数。', 'type' => 'integer', 'format' => 'int64', 'example' => '41'], + 'TagId' => ['title' => '', 'description' => '标签名称。', 'type' => 'integer', 'format' => 'int64', 'example' => '69'], + 'PartnerId' => ['title' => '', 'description' => '客户pid。', 'type' => 'integer', 'format' => 'int64', 'example' => '10000013****071'], + 'Id' => ['title' => '', 'description' => '授权码使用记录ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '4d32c9ef-c8b0-4d69-a437-cca5****185d'], + 'GmtDateStr' => ['title' => '', 'description' => '创建时间。', 'type' => 'string', 'example' => '20230312'], + 'IndustryName' => ['title' => '', 'description' => '行业名称。', 'type' => 'string', 'example' => '家政安保'], + ], + 'title' => '', + 'example' => '', ], 'example' => '', ], - 'Code' => [ - 'title' => '', - 'description' => 'The response code. **OK** indicates that the request is successful.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], + 'Code' => ['description' => '请求状态码。 **OK**为成功。', 'type' => 'string', 'title' => '', 'example' => 'OK'], + 'Success' => ['description' => '表示是否调用成功。'."\n" + .'- true:调用成功。 '."\n" + .' - false:调用失败。', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Query usage statistics by tag ID', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryUsageStatisticsByTagId'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryUsageStatisticsByTagId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6ADDCD31-6BC7-5913-A47F-E29A07E37FEE\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n \\"[\'n81Q8M63rg\']\\"\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryAvailableAuthCode', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D45CC751-34DF-5797-81FB-9A2ED6DC024B\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"AuthorizationCode\\": \\"g61I8UV5zd\\",\\n \\"SuccessTotal\\": 93,\\n \\"FailTotal\\": 71,\\n \\"TagName\\": \\"阿里云查询\\",\\n \\"SceneName\\": \\"电话回访1\\",\\n \\"Total\\": 41,\\n \\"TagId\\": 69,\\n \\"PartnerId\\": 0,\\n \\"Id\\": 0,\\n \\"GmtDateStr\\": \\"20230312\\",\\n \\"IndustryName\\": \\"家政安保\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'ListContacts' => [ - 'summary' => '预警联系人查询', - 'methods' => [ - 'post', + 'SaveContacts' => [ + 'summary' => 'Saves an alert contact.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'http', - 'https', + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'publicInformation'], + 'parameters' => [ + [ + 'name' => 'BizType', + 'in' => 'query', + 'schema' => ['description' => 'The business type. Set the value to **contact**.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => 'dytns', 'title' => ''], + ], + [ + 'name' => 'ContactName', + 'in' => 'query', + 'schema' => ['description' => 'The contact name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => '张光宇', 'title' => ''], + ], + [ + 'name' => 'ContactEmail', + 'in' => 'query', + 'schema' => ['description' => 'The contact email.', 'type' => 'string', 'required' => false, 'example' => '1234@alibaba-inc.com', 'title' => ''], + ], + [ + 'name' => 'ContactPhone', + 'in' => 'query', + 'schema' => ['description' => 'The contact phone number.', 'type' => 'string', 'required' => false, 'example' => '122354532434', 'title' => ''], + ], + [ + 'name' => 'OpentAttributionWarning', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable attribution warnings. Valid values:', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'OpenStatusWarning', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable status warnings. Valid values:', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'MailStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable email alerts. Valid values:', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'PhoneStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable phone alerts. Valid values:', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response object.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '29E058D7-4B28-55EE-BE3B-61D5AE488A9E', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => ['description' => 'The data returned by the operation.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Code' => ['description' => 'The status code. A value of `OK` indicates that the request was successful. For more information about other error codes, see the [error code list](~~109196~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => '0001', 'errorMessage' => 'test', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Save Contact', + 'description' => '- Before you call this operation, ensure you have activated Phone Number Intelligence.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:SaveContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"29E058D7-4B28-55EE-BE3B-61D5AE488A9E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"1\\",\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'ThreeElementsVerification' => [ + 'summary' => 'Verification of three elements (name, mobile phone number, and ID card number). Used to verify whether the name, mobile phone number, and ID card number entered by a user belong to the same user.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', + 'abilityTreeCode' => '136769', + 'abilityTreeNodes' => ['FEATUREdytns9WIVIU'], ], 'parameters' => [ [ - 'name' => 'BizType', + 'name' => 'AuthCode', + 'in' => 'query', + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page of the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), the authorization ID is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], + ], + [ + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => 'The phone number to be verified.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is in plaintext.'."\n" + .'- If Mask is set to MD5, encrypt this field by using MD5.'."\n" + .'- If Mask is set to SHA256, encrypt this field by using SHA256.'."\n" + ."\n" + .'><notice>Letters in the encrypted string are case-insensitive.></notice>', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], + ], + [ + 'name' => 'Mask', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- **NORMAL**: No encryption.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', 'type' => 'string', - 'required' => false, - 'example' => 'dytns', + 'required' => true, + 'enum' => [], + 'example' => 'MD5', + 'title' => '', ], ], [ - 'name' => 'ContactId', + 'name' => 'CertCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1298647', - ], + 'schema' => ['description' => 'The ID card number to be verified.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is in plaintext.'."\n" + .'- If Mask is set to MD5, encrypt this field by using MD5.'."\n" + .'- If Mask is set to SHA256, encrypt this field by using SHA256.'."\n" + ."\n" + .'><notice>Letters in the encrypted string are case-insensitive.></notice>', 'type' => 'string', 'required' => true, 'example' => '83d8040d3cb2181e04****dc6ff5566d4493876a4a5da782887446356b0a787e', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name to be verified.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is in plaintext.'."\n" + .'- If Mask is set to MD5, encrypt this field by using MD5.'."\n" + .'- If Mask is set to SHA256, encrypt this field by using SHA256.'."\n" + ."\n" + .'><notice>Letters in the encrypted string are case-insensitive.></notice>', 'type' => 'string', 'required' => true, 'example' => '阿里云', 'title' => ''], ], ], 'responses' => [ @@ -5394,219 +4338,326 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The request status code.'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + .'- For other error codes, see the error code table in this chapter.'."\n" + .'- **RequestFrequencyLimit**: Due to carrier restrictions, repeated high-frequency queries on the same number within a short period are prohibited. If this error code is returned, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ContactId' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ContactName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'ContactPhone' => [ - 'description' => '', - 'type' => 'string', - 'example' => '19211111111', - ], - 'ContactEmail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'xxxx @alibaba-inc.com', - ], - 'OpentAttributionWarning' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'OpenStatusWarning' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Main' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'PhoneStatus' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MailStatus' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], + 'description' => 'The data returned.', + 'type' => 'object', + 'properties' => [ + 'BasicCarrier' => ['description' => 'The basic carrier. Valid values:'."\n" + ."\n" + .'- **China Mobile**.'."\n" + ."\n" + .'- **China Unicom**.'."\n" + ."\n" + .'- **China Telecom**.', 'type' => 'string', 'example' => '中国移动', 'title' => ''], + 'IsConsistent' => ['description' => 'Indicates whether the verification results are consistent. Returned values:'."\n" + ."\n" + .'- **1**: Consistent'."\n" + .'- **0**: Inconsistent'."\n" + .'- **2**: Not found'."\n" + .'>The data update timeliness varies by carrier and city, and is typically between T+1 and T+3.'."\n" + .'The verification results for mobile phone numbers of different carriers in different states are as follows: '."\n" + ."\n" + .'|Carrier/Mobile Phone Number Status|Suspended|Empty Number|Deregistered|'."\n" + .'|--|--|--|--|'."\n" + .'|China Mobile|Normal verification|Not found|Not found|'."\n" + .'|China Unicom|Normal verification|Inconsistent|Inconsistent|'."\n" + .'|China Telecom|Normal verification|Not found|Not found|', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => 'This mobile phone number is restricted by the carrier.'], + ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'CertCodeIllegal', 'errorMessage' => 'Invalid CertCode value.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Three-element verification by carrier', + 'description' => '- Before you call this API, make sure that you have fully understood the [pricing](~~154751~~) of Cell Phone Number Service.'."\n" + .'- Before you call this API, log on to the Cell Phone Number Service console, go to the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply for Activation**, fill in the application materials, and call the API after the application is approved.'."\n" + .'- Billing applies when the API returns Code=\'OK\' and IsConsistent != 2. Other return results are not billed.'."\n" + .'- The verification of virtual carrier numbers is not supported. Virtual carrier numbers refer to numbers that start with 170, 171, 162, or 165.'."\n" + ."\n" + .'### QPS limit'."\n" + .'The QPS limit per user for this API is 200 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Call the API in a reasonable manner.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ThreeElementsVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:ThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"ContactId\\": 0,\\n \\"ContactName\\": \\"黄勇\\",\\n \\"ContactPhone\\": \\"19211111111\\",\\n \\"ContactEmail\\": \\"xxxx @alibaba-inc.com\\",\\n \\"OpentAttributionWarning\\": true,\\n \\"OpenStatusWarning\\": true,\\n \\"Main\\": 0,\\n \\"PhoneStatus\\": 1,\\n \\"MailStatus\\": 1\\n }\\n ]\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"IsConsistent\\": 1\\n }\\n}","type":"json"}]', ], - 'SaveContacts' => [ - 'summary' => '预警联系人保存', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'TwoElementsVerification' => [ + 'summary' => 'Two-element (name and phone number) verification. Used to compare whether the name and phone number entered by the user belong to the same user.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'get', + 'abilityTreeCode' => '136682', + 'abilityTreeNodes' => ['FEATUREdytnsNQKUF2'], ], 'parameters' => [ [ - 'name' => 'BizType', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => 'dytns', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> On the **My Applications** page of the [Cell Phone Number Service console](https://dytns.console.aliyun.com/analysis/apply), obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**', 'title' => ''], ], [ - 'name' => 'ContactName', + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => 'The phone number to be verified.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is in plaintext.'."\n" + .'- If Mask is set to MD5, encrypt this field with MD5.'."\n" + .'- If Mask is set to SHA256, encrypt this field with SHA256.'."\n" + ."\n" + .'><notice>Letters in the encrypted string are not case-sensitive.></notice>', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], + ], + [ + 'name' => 'Mask', 'in' => 'query', 'schema' => [ - 'description' => '', + 'description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- **NORMAL**: No encryption.'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', 'type' => 'string', 'required' => true, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => '', + 'enum' => [], + 'example' => 'MD5', + 'title' => '', ], ], [ - 'name' => 'ContactEmail', + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => 'The name to be verified.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is in plaintext.'."\n" + .'- If Mask is set to MD5, encrypt this field with MD5.'."\n" + .'- If Mask is set to SHA256, encrypt this field with SHA256.'."\n" + ."\n" + .'><notice>Letters in the encrypted string are not case-sensitive.></notice>', 'type' => 'string', 'required' => true, 'example' => '阿里云', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The request status code.'."\n" + ."\n" + .'- **OK**: The request was successful.'."\n" + ."\n" + .'- For other error codes, see the error code table in this chapter.'."\n" + .'- **RequestFrequencyLimit**: Due to operator restrictions, repeated high-frequency queries against the same number or name in a short period are prohibited. If this error code is returned, try again later.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE****', 'title' => ''], + 'Data' => [ + 'description' => 'The structure.', + 'type' => 'object', + 'properties' => [ + 'IsConsistent' => ['description' => 'Indicates whether the verification result is consistent. Returns:'."\n" + ."\n" + .'- **1**: Consistent.'."\n" + ."\n" + .'- **0**: Inconsistent.'."\n" + ."\n" + .'- **2**: Not found.'."\n" + ."\n" + .'The data update timeliness for different operators and cities is typically T+1 to T+3.'."\n" + .'The verification results for different operator phone numbers in different states are as follows: '."\n" + ."\n" + .'|Operator/Phone Number Status|Suspended|Empty Number|Cancelled|'."\n" + .'|--|--|--|--|'."\n" + .'|China Mobile|Normal verification|Not found|Not found|'."\n" + .'|China Unicom|Normal verification|Inconsistent|Inconsistent|'."\n" + .'|China Telecom|Normal verification|Not found|Not found|', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'BasicCarrier' => ['description' => 'The basic operator. Valid values:'."\n" + ."\n" + .'- **China Mobile**.'."\n" + ."\n" + .'- **China Unicom**.'."\n" + ."\n" + .'- **China Telecom**.'."\n" + ."\n" + .'><notice>China Broadcasting Network numbers are not currently supported.></notice>', 'type' => 'string', 'example' => '中国移动', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '1234@alibaba-inc.com', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => 'This mobile phone number is restricted by the carrier.'], + ], + 400 => [ + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => ''], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => ''], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'title' => 'Operator Two-Element Verification', + 'description' => '- Before using this API, ensure that you fully understand the [product pricing](~~154751~~) of Cell Phone Number Service.'."\n" + .'- Before using this API, log on to the Cell Phone Number Service console, go to the [Tag Square](https://dytns.console.aliyun.com/analysis/square) page, find the corresponding tag, click **Apply to Enable**, fill in the application materials, and use it after the approval.'."\n" + .'- Billing is applied when the API returns Code="OK" and IsConsistent != 2. Other return results are not billed.'."\n" + .'- MVNO number verification is not supported. MVNO numbers refer to numbers starting with 170, 171, 162, and 165.'."\n" + ."\n" + .'### QPS limit'."\n" + .'The per-user QPS limit of this API is 200 times/second. If the limit is exceeded, API calls will be throttled, which may affect your business. Please call the API reasonably.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TwoElementsVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:TwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE****\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 1,\\n \\"BasicCarrier\\": \\"中国移动\\"\\n }\\n}","type":"json"}]', + ], + 'UAIDVerification' => [ + 'summary' => 'Obtains a UAID based on the carrier authorization token.'."\n" + .'For information about how to obtain the authorization token and its signature, see the GetUAIDApplyTokenSign API documentation.'."\n" + ."\n" + .'A UAID is 64 characters in length. The first 32 characters describe the device information, and the last 32 characters describe the phone number information.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '195916', + 'abilityTreeNodes' => ['FEATUREdytnsQNXFTN'], + ], + 'parameters' => [ [ - 'name' => 'ContactPhone', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '122354532434', - ], + 'schema' => ['description' => 'The external serial number.', 'type' => 'string', 'required' => false, 'example' => 'b8b5b3a*******0b9893484fdf412c99'."\n", 'title' => ''], ], [ - 'name' => 'OpentAttributionWarning', + 'name' => 'Carrier', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The carrier of the user. Valid values:'."\n" + .'- **CM**: China Mobile.'."\n" + .'- **CU**: China Unicom.'."\n" + .'- **CT**: China Telecom.', 'type' => 'string', 'required' => true, 'example' => 'CM', 'title' => ''], ], [ - 'name' => 'OpenStatusWarning', + 'name' => 'Token', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The carrier authorization token. '."\n" + .'> For information about how to obtain the authorization token and its signature, see the GetUAIDApplyTokenSign API documentation.', 'type' => 'string', 'required' => true, 'example' => 'MIGfMA0********3DQEBAQUAA4GNADCB', 'title' => ''], ], [ - 'name' => 'MailStatus', + 'name' => 'UserGrantId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The user authorization code, which indicates that the user has granted authorization. The value must be a unique random number that does not exceed 128 characters in length. '."\n" + ."\n" + .'<warning>When you integrate the service, we recommend that you include UAID-related content in the privacy policy of your product.</warning>', 'type' => 'string', 'required' => false, 'example' => 'Md****a3Em', 'title' => ''], ], [ - 'name' => 'PhoneStatus', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> In **Cell Phone Number Service** -> [**Tag Marketplace**](https://dytns.console.aliyun.com/analysis/square), select a tag and submit a usage application. After the application is approved, you will obtain this authorization code.', 'type' => 'string', 'required' => true, 'example' => 'HwD97InG', 'title' => ''], + ], + [ + 'name' => 'Ip', + 'in' => 'query', + 'schema' => ['description' => 'The public IP address. This parameter is required when the carrier is China Unicom (CU). Both IPv4 and IPv6 addresses are supported.', 'type' => 'string', 'required' => false, 'example' => '2408:8440:308:29dc:ed00:c4ec:475c:25a4', 'title' => ''], + ], + [ + 'name' => 'Province', + 'in' => 'query', + 'schema' => ['description' => 'The province ID. This parameter is optional when the carrier is China Unicom (CU). The value must be the same as the value of the province field in the response returned when the token is obtained.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -5614,70 +4665,68 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '29E058D7-4B28-55EE-BE3B-61D5AE488A9E', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Uaid' => ['description' => 'The obtained UAID value.', 'type' => 'string', 'example' => 'B1E0C1********9F757AF52A035', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The request status code. Valid values:'."\n" + ."\n" + .'- **OK**: The request is successful.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => '0001', - 'errorMessage' => 'test', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'Obtains a UAID based on the carrier authorization token', + 'description' => 'Before you call this API, make sure that you have fully understood the billing method and [pricing](https://www.aliyun.com/price/product#/dytns/detail/dytns_penqbag_public_cn) of Cell Phone Number Service. '."\n" + ."\n" + .'Obtains a UAID based on the carrier authorization token. '."\n" + .'For information about how to obtain the authorization token and its signature, see the GetUAIDApplyTokenSign API documentation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UAIDVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:UAIDVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"29E058D7-4B28-55EE-BE3B-61D5AE488A9E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"1\\",\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Data\\": {\\n \\"Uaid\\": \\"B1E0C1********9F757AF52A035\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], 'UpdateContacts' => [ - 'summary' => '预警联系人更新', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'Updates an alert contact.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5688,9 +4737,7 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '35630', - 'abilityTreeNodes' => [ - 'FEATUREdytnsVCETJO', - ], + 'abilityTreeNodes' => ['FEATUREdytnsVCETJO'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -5698,159 +4745,109 @@ [ 'name' => 'ContactId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => '1194432', - ], + 'schema' => ['description' => 'The ID of the contact to update. You can retrieve the ID by calling the ListContacts operation.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => '1194432', 'title' => ''], ], [ 'name' => 'ContactName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => 'XXX', - ], + 'schema' => ['description' => 'The name of the contact.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'ContactPhone', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '192XXXXXXXX', - ], + 'schema' => ['description' => 'The mobile phone number of the contact.', 'type' => 'string', 'required' => false, 'example' => '192XXXXXXXX', 'title' => ''], ], [ 'name' => 'ContactEmail', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'XXXX@alibaba-inc.com', - ], + 'schema' => ['description' => 'The email address of the contact.', 'type' => 'string', 'required' => false, 'example' => 'XXXX@alibaba-inc.com', 'title' => ''], ], [ 'name' => 'OpentAttributionWarning', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Enables or disables alerts for number attribution queries. Valid values: -**true**: enabled. -**false**: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OpenStatusWarning', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Enables or disables alerts for number status.'."\n" + .'Valid values:'."\n" + ."\n" + .'- **true**: enabled.'."\n" + ."\n" + .'- **false**: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PhoneStatus', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Enables or disables phone call alerts. Valid values:'."\n" + ."\n" + .'- 0: disabled.'."\n" + ."\n" + .'- 1: enabled.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'MailStatus', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Enables or disables email alerts. Valid values:'."\n" + ."\n" + .'- 0: disabled.'."\n" + ."\n" + .'- 1: enabled.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Code' => ['description' => 'The request status code. The value `OK` indicates a successful request. For more information about other error codes, see [Error codes](~~109196~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => ['description' => 'Indicates whether the operation was successful. A value of **true** indicates success, and a value of **false** indicates failure.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Update Contact', + 'description' => '- Ensure that you have activated the Phone Number Information Service before calling this operation.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:UpdateContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": false\\n}","type":"json"}]', ], - 'DeleteContacts' => [ - 'summary' => '预警联系人删除', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'VirtualThreeElementsVerification' => [ + 'summary' => 'Verifies whether a user\'s name, phone number, and ID card number are consistent.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5859,466 +4856,744 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '35631', - 'abilityTreeNodes' => [ - 'FEATUREdytnsVCETJO', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREdytns9WIVIU'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ContactId', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '5454735262', - ], + 'schema' => ['description' => 'The authorization code. To obtain the authorization code, go to the **My Applications** page on the Phone Number Verification Service console and find the authorization ID.', 'type' => 'string', 'required' => true, 'example' => 'XXXXXX', 'title' => ''], + ], + [ + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => 'The phone number to query.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is an 11-digit phone number.', 'type' => 'string', 'required' => true, 'example' => '175XXXX6789', 'title' => ''], + ], + [ + 'name' => 'Mask', + 'in' => 'query', + 'schema' => ['description' => 'The encryption method. Valid values:'."\n" + ."\n" + .'- **NORMAL**: no encryption', 'type' => 'string', 'required' => true, 'example' => 'NROAML', 'title' => ''], + ], + [ + 'name' => 'CertName', + 'in' => 'query', + 'schema' => ['description' => 'The name to verify.', 'type' => 'string', 'required' => true, 'example' => 'XX', 'title' => ''], + ], + [ + 'name' => 'CertCode', + 'in' => 'query', + 'schema' => ['description' => 'The ID card number to verify.'."\n" + ."\n" + .'- If Mask is set to NORMAL, this field is in plaintext.', 'type' => 'string', 'required' => true, 'example' => '身份证号', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '- **Code**: The request status code. OK indicates a successful request. For other error codes, refer to the error code table in this chapter.'."\n" + .'- **Message**: The description of the status code.'."\n" + .'- **RequestId**: The request ID.'."\n" + .'- **Data**: The response struct.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'boolean', + 'description' => 'The response struct.', + 'type' => 'object', + 'properties' => [ + 'IsConsistent' => ['description' => 'Indicates whether the verification result is consistent. Valid values:'."\n" + .'- 0: no record found'."\n" + .'- 1: the phone number, ID card number, and name are consistent'."\n" + .'- 2: inconsistent', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The request status code.'."\n" + .'- OK: The request is successful.'."\n" + .'- For other error codes, refer to the error code table in this chapter.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => ''], + ['errorCode' => 'AuthCodeAndApiNotMatch', 'errorMessage' => 'AuchCode和请求的Api不匹配', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => ''], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'Number is limited by the operator.', 'description' => 'Number prohibited by the operator'], + ['errorCode' => 'MobileNumberNotSupported', 'errorMessage' => 'Mobile number is not supported. Only virtual carrier numbers (170/171/165/162/167) are accepted.', 'description' => 'This interface only supports the virtual quotient number query of 170/171/165/162/167 number segment.'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', + ['errorCode' => 'SupplierTimeout', 'errorMessage' => 'Request vendor timeout.', 'description' => 'Request vendor timeout'], + ['errorCode' => 'RequsetTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => 'Request supplier timeout'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Verify MVNO three-factor identity', + 'description' => '## Request description'."\n" + .'- This operation supports only Mobile Virtual Network Operator (MVNO) phone numbers. The phone number must start with 170, 171, 165, 162, or 167.'."\n" + .'- You are charged only when Code is set to OK and IsConsistent is not equal to 0 in the response.'."\n" + .'- Before using this operation, apply for the corresponding tag on the Phone Number Verification Service console and obtain an authorization code.'."\n" + .'- Currently, only the no-encryption mode (NORMAL) is supported.'."\n" + .'- The queries per second (QPS) limit for a single user is 100. Requests that exceed this limit are throttled.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 0\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'AuthCodeAndApiNotMatch', 'message' => 'AuchCode和请求的Api不匹配', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeIllegal', 'message' => 'Illegal authCode.', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeNotExist', 'message' => 'The label application form does not exist, please replace the authorization code.', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code application failed and cannot be used.', 'http_code' => 400, 'description' => 'Failed to apply for an authorization code.'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code does not exist.', 'http_code' => 400, 'description' => 'The authorization code does not exist.'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code is being applied and cannot be used.', 'http_code' => 400, 'description' => 'The authorization code is pending approval.'], + ['code' => 'AuthCodeNotExist', 'message' => '该AuchCode不存在', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code is not found.', 'http_code' => 400, 'description' => ''], + ['code' => 'BIZ_NOT_OPEN_ERROR', 'message' => 'Users who have not opened this product.', 'http_code' => 400, 'description' => 'Users who have not opened this product cannot call this product.'], + ['code' => 'CarrierIllegal', 'message' => 'Illegal carrier type', 'http_code' => 400, 'description' => ''], + ['code' => 'CarrierIllegal', 'message' => '运营商类型非法', 'http_code' => 400, 'description' => ''], + ['code' => 'CertCodeIllegal', 'message' => 'Invalid CertCode value.', 'http_code' => 400, 'description' => ''], + ['code' => 'CERTIFY_TYPE_NEED_ENTERPRISE_ERROR', 'message' => 'This service is only available to enterprise users.', 'http_code' => 400, 'description' => 'This service only supports enterprise users.'], + ['code' => 'CUST_NOT_EXIST_ERROR', 'message' => 'customer not exist.', 'http_code' => 400, 'description' => 'User does not exist.'], + ['code' => 'DateIllegal', 'message' => 'Invalid date format.', 'http_code' => 400, 'description' => ''], + ['code' => 'DateTimeIllegal', 'message' => '日期格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'DateTimeIllegal', 'message' => 'Date format error.', 'http_code' => 400, 'description' => 'Date format error'], + ['code' => 'EncryptTypeIllegal', 'message' => 'Invalid encryption type.', 'http_code' => 400, 'description' => ''], + ['code' => 'EncyrptTypeIllegal', 'message' => 'The encryption type of the mobile phone number is illegal', 'http_code' => 500, 'description' => ''], + ['code' => 'EncyrptTypeIllegal', 'message' => '加密类型错误', 'http_code' => 400, 'description' => ''], + ['code' => 'GreaterThanCurrentTime', 'message' => '日期不允许大于当前时间', 'http_code' => 400, 'description' => ''], + ['code' => 'IdNumberIllegal', 'message' => '身份证号格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'InputParamIllegal', 'message' => 'Wrong format of input parameter', 'http_code' => 400, 'description' => ''], + ['code' => 'Insufficient.Balance', 'message' => 'You have an insufficient balance.', 'http_code' => 400, 'description' => 'Your account does not have sufficient balance.'], + ['code' => 'InternalError', 'message' => 'Activation timed out.', 'http_code' => 500, 'description' => ''], + ['code' => 'InternalError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'InternalError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => 'An error occurred while processing your request.'], + ['code' => 'InvalidParameter', 'message' => 'The product is already activated.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Real-name authentication is not completed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified mobile phone number is invalid.', 'http_code' => 400, 'description' => 'Invalid Phone Number'], + ['code' => 'InvalidParameter', 'message' => 'The maximum number of data records per query is exceeded. The maximum is 100.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified time range is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Either StartTime or EndTime is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The customer information does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => '请求参数非法', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.PORTABILITY_NUMBER_NOT_SUPPORTED', 'message' => 'Query for MNP numbers is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.QPS_LIMIT', 'message' => 'The maximum query frequency is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.SYSTEM_ERROR', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'isp.UNKNOWN', 'message' => 'An error occurred due to unknown reasons.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.MOBILE_NUMBER_ILLEGAL', 'message' => 'The specified mobile phone number is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileEncrypyionNotMatch', 'message' => 'The number and encryption type do not match.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberIllegal', 'message' => 'Wrong format of phone number', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberIllegal', 'message' => '手机号码格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeIllegal', 'message' => 'Invalid number type.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeIllegal', 'message' => '号码类型错误', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeNotMatch', 'message' => 'The number and number type do not match.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeNotMatch', 'message' => '号码与号码类型不匹配', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeNotMatch', 'message' => 'The phone number and encryption type do not match.', 'http_code' => 400, 'description' => ''], + ['code' => 'NameIllegal', 'message' => 'Invalid name.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperatorLimit', 'message' => 'The number is limited by the operator.', 'http_code' => 200, 'description' => 'This mobile phone number is restricted by the carrier.'], + ['code' => 'OperatorLimit', 'message' => 'The number is limited by the operator', 'http_code' => 200, 'description' => ''], + ['code' => 'OperatorLimit', 'message' => '运营商禁止查询的号码', 'http_code' => 200, 'description' => ''], + ['code' => 'OperatorLimit', 'message' => 'Number is limited by the operator.', 'http_code' => 400, 'description' => 'Number prohibited by the operator'], + ['code' => 'OutOfService', 'message' => 'The ISV is out of service.', 'http_code' => 400, 'description' => ''], + ['code' => 'Parameter.Error', 'message' => 'A parameter error occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'Permission.NotAuthorized', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 403, 'description' => ''], + ['code' => 'Permission.NotAuthorized', 'message' => 'Insufficient permissions. Please contact the primary account administrator.', 'http_code' => 403, 'description' => ''], + ['code' => 'Permission.NotAuthorized', 'message' => '您没有权限执行此操作', 'http_code' => 403, 'description' => ''], + ['code' => 'PhoneNumber.Illegal', 'message' => 'The specified phone number is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'PhoneNumber.NoSupport', 'message' => 'Number query is not supported for number portability.', 'http_code' => 400, 'description' => ''], + ['code' => 'PhoneNumber.QueryFail', 'message' => 'Failed to query the phone number.', 'http_code' => 400, 'description' => 'Failed to query the mobile phone number.'], + ['code' => 'PhoneNumber.QueryFail', 'message' => 'The specified mobile phone number cannot find the result.', 'http_code' => 400, 'description' => ''], + ['code' => 'PhoneNumberNotfound', 'message' => 'The queried number is not found.', 'http_code' => 200, 'description' => 'No result is found for the mobile phone number.'], + ['code' => 'PhoneNumberNotfound', 'message' => '传入的手机号查不到结果', 'http_code' => 200, 'description' => ''], + ['code' => 'PortabilityNumberNotSupported', 'message' => 'Number portability is not supported', 'http_code' => 200, 'description' => ''], + ['code' => 'PortabilityNumberNotSupported', 'message' => '不支持2021年6月前携号转网的号码查询', 'http_code' => 200, 'description' => ''], + ['code' => 'PortabilityNumberNotSupported', 'message' => '不支持携号转网的号码', 'http_code' => 200, 'description' => ''], + ['code' => 'Product.NotOrdered', 'message' => 'You have not ordered this product (offer).', 'http_code' => 400, 'description' => ''], + ['code' => 'Product.Unsubscript', 'message' => 'You have not subscribed to the specified product.', 'http_code' => 400, 'description' => ''], + ['code' => 'Product.Unsubscript', 'message' => '未订阅该功能', 'http_code' => 400, 'description' => ''], + ['code' => 'ProductNotSubscribed', 'message' => 'You have not subscribed to the specified product.', 'http_code' => 400, 'description' => ''], + ['code' => 'Queries.Repeated', 'message' => 'You can only query phoneNumber once every 60 seconds.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.CheckFailed', 'message' => 'You did not pass the RAM permission check.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.CheckFailed', 'message' => 'You did not pass the ARM permission check.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.PermissionDeny', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.PermissionDeny', 'message' => '权限不足', 'http_code' => 400, 'description' => ''], + ['code' => 'RateIllegal', 'message' => 'Illegal threshold parameter', 'http_code' => 400, 'description' => ''], + ['code' => 'RateIllegal', 'message' => 'Invalid ratio format.', 'http_code' => 400, 'description' => ''], + ['code' => 'RateIllegal', 'message' => '阈值参数非法。', 'http_code' => 400, 'description' => ''], + ['code' => 'RequestFrequencyLimit', 'message' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotfound', 'message' => '请求的号码查不到结果', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotfound', 'message' => 'The requested number cannot find result.', 'http_code' => 400, 'description' => 'The requested number cannot find the result.'], + ['code' => 'RequestNumberNotSupported', 'message' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotSupported', 'message' => '请求的号码不支持查询', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotSupported', 'message' => 'NotSupported this RequestNumber.', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestSupplierError', 'message' => 'Request supplier error.', 'http_code' => 500, 'description' => 'Request supplier error.'], + ['code' => 'RequestTimeout', 'message' => 'Request supplier timed out.', 'http_code' => 500, 'description' => 'Request supplier timeout'], + ['code' => 'RequsetTimeout', 'message' => 'Request supplier timed out.', 'http_code' => 500, 'description' => 'Request supplier timeout'], + ['code' => 'SupplierError', 'message' => '运营商或供应商系统异常', 'http_code' => 500, 'description' => ''], + ['code' => 'SupplierError', 'message' => 'Operator or supplier system exception.', 'http_code' => 500, 'description' => 'Operator or supplier system exception.'], + ['code' => 'SupplierTimeout', 'message' => 'Request vendor timeout.', 'http_code' => 500, 'description' => 'Request vendor timeout'], + ['code' => 'System.LimitControl', 'message' => 'The system is under flow control.', 'http_code' => 400, 'description' => ''], + ['code' => 'System.LimitControl', 'message' => '流控错误', 'http_code' => 400, 'description' => ''], + ['code' => 'SystemError', 'message' => 'System error', 'http_code' => 500, 'description' => ''], + ['code' => 'SystemError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => ''], + ['code' => 'SystemError', 'message' => '系统异常', 'http_code' => 500, 'description' => ''], + ['code' => 'SystemError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'TagNotExist', 'message' => 'The label does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'TagNotExist', 'message' => 'The business resource does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'TagNotExist', 'message' => '标签或业务资源不存在', 'http_code' => 400, 'description' => ''], + ['code' => 'TagNotExist', 'message' => 'The business resource does not exist.The label does not exist.', 'http_code' => 400, 'description' => 'The tag or business resource does not exist.'], + ['code' => 'ThresholdIllegal', 'message' => 'Please fill in the threshold range from 0 to 100 correctly.', 'http_code' => 400, 'description' => ''], + ['code' => 'Unknown', 'message' => 'Unknown error', 'http_code' => 500, 'description' => ''], + ['code' => 'Unknown', 'message' => '未知异常', 'http_code' => 500, 'description' => ''], + ['code' => 'Unknown.ResourceOwnerId', 'message' => 'The resource does not belong to the current user.', 'http_code' => 400, 'description' => ''], + ['code' => 'Unknown.ResourceOwnerId', 'message' => '资源不属于当前用户', 'http_code' => 400, 'description' => ''], + ['code' => 'UserNameIllegal', 'message' => '姓名格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'USER_NOT_BY_CUST_ERROR', 'message' => 'Customers who have not opened this product.', 'http_code' => 400, 'description' => 'Customers who have not opened this product.'], + ['code' => 'USER_NOT_BY_CUST_ERROR', 'message' => 'Unable to obtain user information, please check whether opened this product.', 'http_code' => 400, 'description' => 'Unable to obtain user information, please check whether to open this product'], + ['code' => 'MobileNumberNotSupported', 'message' => 'Mobile number is not supported. Only virtual carrier numbers (170/171/165/162/167) are accepted.', 'http_code' => 400, 'description' => 'This interface only supports the virtual quotient number query of 170/171/165/162/167 number segment.'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'PhoneNumberStatusForPublic'], + ], + 'createdAt' => '2025-09-15T12:08:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'PhoneNumberStatusForPublic'], + ], + 'createdAt' => '2025-09-15T12:08:45.000Z', + 'description' => '', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoThreeElementVerification'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberEncrypt'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyTwoElementsVerification'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyFourElementsVerification'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyThreeElementsVerification'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagListPage'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForPublic'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForVoice'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryUsageStatisticsByTagId'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForReal'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOnlineTime'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TwoElementsVerification'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUAIDApplyTokenSign'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysis'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ThreeElementsVerification'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UAIDVerification'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForAccount'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForSms'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagInfoBySelection'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEmptyNumber'], + ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOperatorAttribute'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoTwoElementVerification'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneTwiceTelVerify'], + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvalidPhoneNumberFilter'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysisAI'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryAvailableAuthCode'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagApplyRule'], + ], + ], + 'ram' => [ + 'productCode' => 'DYTNS', + 'productName' => 'Cell Phone Number Service', + 'ramCodes' => ['dytns'], + 'ramLevel' => 'SERVICE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DescribePhoneTwiceTelVerify', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneTwiceTelVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ], + ], + [ + 'apiName' => 'QueryTagListPage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagListPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'HistoryThreeElementsVerification', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:HistoryThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": true\\n}","type":"json"}]', - ], - 'QueryPackageTypeInfo' => [ - 'summary' => '套餐包类型信息查询', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'CompanyThreeElementsVerification', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'QueryPackageTypeInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryPackageTypeInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DeleteContacts', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:DeleteContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'QueryTaskList', + 'description' => '', 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTaskList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'ProductName', - 'in' => 'query', - 'schema' => [ - 'title' => '产品名称,如dysms', - 'description' => '产品名称,如dysms', - 'type' => 'string', - 'required' => false, - 'example' => 'dytns', + [ + 'apiName' => 'UpdateContacts', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:UpdateContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - 'RequestId' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - 'Data' => [ - 'title' => '', - 'description' => '', - 'type' => 'object', - 'example' => '', - ], - 'Code' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Success' => [ - 'title' => '', - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - ], + [ + 'apiName' => 'CertNoTwoElementVerification', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoTwoElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', + [ + 'apiName' => 'UAIDVerification', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:UAIDVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', + ], + ], + [ + 'apiName' => 'InvalidPhoneNumberFilter', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:InvalidPhoneNumberFilter', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', + ], + [ + 'apiName' => 'QueryUsageStatisticsByTagId', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryUsageStatisticsByTagId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', + ], + ], + [ + 'apiName' => 'QueryAvailableAuthCode', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryAvailableAuthCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ], + ], + [ + 'apiName' => 'DescribePhoneNumberAnalysis', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"Example\\",\\n \\"RequestId\\": \\"Example\\",\\n \\"Data\\": {\\n \\"efactorVerification\\": \\"平台风控-二要素核验查询套餐包\\"\\n },\\n \\"Code\\": \\"Example\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryPackageTypeInfo', - ], - 'QueryTaskList' => [ - 'summary' => '查询离线任务列表', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetUAIDApplyTokenSign', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dytns:GetUAIDApplyTokenSign', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeEmptyNumber', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribeEmptyNumber', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'PhoneNumberStatusForPublic', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'PhoneNumberEncrypt', + 'description' => '', 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberEncrypt', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'TaskName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值', + [ + 'apiName' => 'DescribePhoneNumberAnalysisAI', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysisAI', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TagId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '15', + ], + [ + 'apiName' => 'CompanyTwoElementsVerification', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyTwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '91', + ], + [ + 'apiName' => 'SaveContacts', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:SaveContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', + ], + [ + 'apiName' => 'PhoneNumberStatusForAccount', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '80', + ], + [ + 'apiName' => 'PhoneNumberStatusForSms', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForSms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TaskType', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '[0]', - ], - 'required' => false, - 'example' => '', + ], + [ + 'apiName' => 'DescribePhoneNumberOperatorAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOperatorAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Result', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '[0]', - ], - 'required' => false, - 'example' => '', + ], + [ + 'apiName' => 'ThreeElementsVerification', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:ThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '22', - ], - 'Data' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'example' => '', - ], - 'PageNo' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '62', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - ], + [ + 'apiName' => 'DescribePhoneNumberOnlineTime', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOnlineTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', + [ + 'apiName' => 'TwoElementsVerification', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:TwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', + ], + ], + [ + 'apiName' => 'PhoneNumberStatusForVoice', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForVoice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', + ], + [ + 'apiName' => 'CompanyFourElementsVerification', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CompanyFourElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ], + ], + [ + 'apiName' => 'CertNoThreeElementVerification', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoThreeElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryTagInfoBySelection', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagInfoBySelection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryTagApplyRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagApplyRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'PhoneNumberStatusForReal', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForReal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListContacts', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dytns:ListContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 22,\\n \\"Data\\": [\\n \\"{\\\\\\"createDate\\\\\\":\\\\\\"创建时间\\\\\\"}\\"\\n ],\\n \\"PageNo\\": 62\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', ], + 'resourceTypes' => [], ], ]; diff --git a/data/en_us/dytnsapi/2023-01-01/api-docs.php b/data/en_us/dytnsapi/2023-01-01/api-docs.php index 7ba079e..3914373 100644 --- a/data/en_us/dytnsapi/2023-01-01/api-docs.php +++ b/data/en_us/dytnsapi/2023-01-01/api-docs.php @@ -1,37 +1,21 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dytnsapi', - 'version' => '2023-01-01', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dytnsapi', 'version' => '2023-01-01'], 'directories' => [ - 'GetPhoneNumberIdentificationUrl', - 'GetPhoneNumberIdentificationResult', [ - 'id' => 0, - 'title' => '其它', + 'children' => ['DescribeNumberMccMnc', 'DescribeNumberHLR', 'GetIdentificationSession', 'GetIdentificationResult', 'GetPhoneNumberIdentificationResult', 'GetPhoneNumberIdentificationUrl'], 'type' => 'directory', - 'children' => [ - 'DescribeNumberMccMnc', - 'DescribeNumberHLR', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'GetPhoneNumberIdentificationUrl' => [ - 'summary' => 'Obtains the verification URL of your phone number.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeNumberHLR' => [ + 'summary' => 'Call this operation to query basic information and the status of a phone number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -40,131 +24,199 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '178936', - 'abilityTreeNodes' => [ - 'FEATUREdytnsFPPMA9', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '265522', + 'abilityTreeNodes' => ['FEATUREdytnsFPPMA9'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Ip', + 'name' => 'PhoneNumber', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The IP address of the subscriber\'s phone.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '114.124.***.13', - ], + 'schema' => ['description' => 'The phone number to query.', 'type' => 'string', 'required' => false, 'example' => 'example', 'title' => ''], ], [ - 'name' => 'PhoneNumber', + 'name' => 'AuthCode', 'in' => 'query', + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> Log on to the [Number Encyclopedia console](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC). On the [My Applications](https://dytns.console.aliyun.com/analysis/apply) page, obtain the authorization code.', 'type' => 'string', 'required' => false, 'example' => 'example', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The phone number of the subscriber. The phone number is in the Mobile Station International Subscriber Directory Number (MSISDN) format.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '628211****113', + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => 'Details about the access denial. This parameter is returned only if RAM authentication fails.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'RequestId' => ['description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '1C3B8084-3A7D-570B-BC84-BF945A9CF65E', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => [ + 'description' => 'The data returned.', + 'type' => 'object', + 'properties' => [ + 'Call' => [ + 'description' => 'The call details.', + 'type' => 'object', + 'properties' => [ + 'MinLength' => ['description' => 'The minimum length.', 'type' => 'integer', 'format' => 'int64', 'example' => '21', 'title' => ''], + 'CleansedCode' => ['description' => 'The cleansed code.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'MaxLength' => ['description' => 'The maximum length.', 'type' => 'integer', 'format' => 'int64', 'example' => '22', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'PhoneType' => ['description' => 'The type of the phone number.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'CountryIso3' => ['description' => 'The ISO 3166-1 alpha-3 code of the country where the phone number is registered.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'Live' => [ + 'description' => 'The real-time status of the phone number.', + 'type' => 'object', + 'properties' => [ + 'RoamingCountry' => ['description' => 'The roaming country.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'DeviceStatus' => ['description' => 'The device status.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'SubscriberStatus' => ['description' => 'The subscription status.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'Roaming' => ['description' => 'The roaming status.', 'type' => 'string', 'example' => 'example', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Sms' => [ + 'description' => 'The SMS details.', + 'type' => 'object', + 'properties' => [ + 'MinLength' => ['description' => 'The minimum length.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'MaxLength' => ['description' => 'The maximum length.', 'type' => 'integer', 'format' => 'int64', 'example' => '59', 'title' => ''], + 'CleansedCode' => ['description' => 'The cleansed code.', 'type' => 'integer', 'format' => 'int64', 'example' => '58', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Carrier' => ['description' => 'The carrier of the phone number.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'City' => ['description' => 'The city where the phone number is registered.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'Blocked' => ['description' => 'Indicates whether the execution is blocked if the analysis fails.', 'type' => 'string', 'example' => 'example', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The status code. Valid value:'."\n" + ."\n" + .'- **OK**: The request was successful.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"RequestId\\": \\"1C3B8084-3A7D-570B-BC84-BF945A9CF65E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Call\\": {\\n \\"MinLength\\": 21,\\n \\"CleansedCode\\": \\"example\\",\\n \\"MaxLength\\": 22\\n },\\n \\"PhoneType\\": \\"example\\",\\n \\"CountryIso3\\": \\"example\\",\\n \\"Live\\": {\\n \\"RoamingCountry\\": \\"example\\",\\n \\"DeviceStatus\\": \\"example\\",\\n \\"SubscriberStatus\\": \\"example\\",\\n \\"Roaming\\": \\"example\\"\\n },\\n \\"Sms\\": {\\n \\"MinLength\\": 2,\\n \\"MaxLength\\": 59,\\n \\"CleansedCode\\": 58\\n },\\n \\"Carrier\\": \\"example\\",\\n \\"City\\": \\"example\\",\\n \\"Blocked\\": \\"example\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'Cell Phone Number Service ', + 'description' => '- Ensure you are familiar with the pricing of Number Encyclopedia before you call this operation.'."\n" + ."\n" + .'- Before you call this operation, log on to the Number Encyclopedia console. On the Tag Square page, find the required tag and click Request Access.'."\n" + ."\n" + .'- You are charged for this operation only when the `Code` parameter in the response is `OK`. You are not charged for calls that return other results.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + ], + 'DescribeNumberMccMnc' => [ + 'summary' => 'This operation from Phone Number-based Service queries an international phone number to identify its country and carrier, and returns the corresponding MCC and MNC.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'OutId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '149b03d2-a749-4e6e-8f5b-34******5815', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '263170', + 'abilityTreeNodes' => ['FEATUREdytnsFPPMA9'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'AuthCode', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'K***9i7CIe', - ], + 'schema' => ['description' => 'The phone number, which must be prefixed with a country code. For example, a phone number in China (Hong Kong) must be in the `85212343433` format.', 'type' => 'string', 'required' => false, 'example' => '86123434345', 'title' => ''], ], [ - 'name' => 'RememberPhoneNumber', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remember the phone number.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'true', - ], + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> To obtain an authorization code, log on to the **Phone Number-based Service console**, go to [**Tag Plaza**](https://dytns.console.aliyun.com/analysis/square), select a tag, and submit an application. You will receive the authorization code after your application is approved.', 'type' => 'string', 'required' => false, 'example' => 'example', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => 'The description of the return code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'Details about the access denial. This parameter is returned only if the RAM permission check fails.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data object.', 'type' => 'object', 'properties' => [ - 'IdentificationUrl' => [ - 'description' => 'The verification URL.'."\n", - 'type' => 'string', - 'example' => 'https://global-ip-auth.dycpaas.com/global/biz/ip_auth/start?ipa_s_c_c=IPF0000000000000******&ipa_s_i=8636b75e2fcb40c53ffecc2b59******', - ], - 'SessionId' => [ - 'description' => 'The session ID.'."\n", - 'type' => 'string', - 'example' => '8636b75e2fcb40c53ffecc2b5947115c.149b03d2a7494e6e8f5b34c915245815.707c7f0d93f4409db0761aa5da94ce01.1686******041', - ], + 'Mnc' => ['description' => 'The Mobile Network Code (MNC) of the carrier.', 'type' => 'string', 'example' => '123', 'title' => ''], + 'Ported' => ['description' => 'Indicates whether the number has been ported (number portability).', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CountryIso3' => ['description' => 'The ISO-3166-1 alpha-3 country code.', 'type' => 'string', 'example' => 'USA', 'title' => ''], + 'Mcc' => ['description' => 'The Mobile Country Code (MCC) of the carrier.', 'type' => 'string', 'example' => '123', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The return code. Valid values:'."\n" - ."\n" - .'* **OK**: The request is successful.'."\n" - .'* **IdentificationNotAvailable**: The verification system does not support the phone number that corresponds to the IP address.'."\n" - .'* **MobileNumberIllegal**: The format of the phone number is invalid.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The status code of the request. A value of **OK** indicates a successful request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 200 => [ + ['errorCode' => 'RequestNumberNotSupported', 'errorMessage' => 'NotSupported this RequestNumber.', 'description' => ''], + ['errorCode' => 'PhoneNumberNotfound', 'errorMessage' => '传入的手机号查不到结果', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => 'Request supplier error.'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IdentificationUrl\\": \\"https://global-ip-auth.dycpaas.com/global/biz/ip_auth/start?ipa_s_c_c=IPF0000000000000******&ipa_s_i=8636b75e2fcb40c53ffecc2b59******\\",\\n \\"SessionId\\": \\"8636b75e2fcb40c53ffecc2b5947115c.149b03d2a7494e6e8f5b34c915245815.707c7f0d93f4409db0761aa5da94ce01.1686******041\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'GetPhoneNumberIdentificationUrl', - ], - 'GetPhoneNumberIdentificationResult' => [ - 'summary' => 'Obtains the verification result of your phone number.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Mnc\\": \\"123\\",\\n \\"Ported\\": true,\\n \\"CountryIso3\\": \\"USA\\",\\n \\"Mcc\\": \\"123\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'International Number Ownership Service', + 'description' => 'Before you call this operation, understand the billing of Phone Number-based Service.'."\n" + ."\n" + .'Billing method: Each request that returns `OK` for the `Code` parameter incurs a charge.'."\n" + ."\n" + .'The MCC and MNC fields in the response may be empty depending on data availability.', + 'responseParamsDescription' => 'This service is available in the following countries and regions: United States, Spain, Malaysia, Japan, Thailand, South Korea, Brazil, Russia, Vietnam, France, the Philippines, Germany, the United Kingdom, Italy, Pakistan, Singapore, India, and China (Hong Kong).', + 'changeSet' => [ + ['createdAt' => '2025-08-13T12:44:59.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + ], + 'GetIdentificationResult' => [ + 'summary' => 'Retrieves the result of an identification request.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -176,121 +228,173 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '179163', - 'abilityTreeNodes' => [ - 'FEATUREdytnsFPPMA9', - ], + 'abilityTreeNodes' => ['FEATUREdytnsFPPMA9'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'SessionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The session ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '8636b75e2fcb40c53ffecc2b5947115c.149b03d2a7494e6e8f5b34c915245815.707c7f0d93f4409db0761aa5da94ce01.1686******041', - ], + 'schema' => ['description' => 'The session ID.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], ], [ - 'name' => 'SessionPayload', + 'name' => 'AuthCode', 'in' => 'query', + 'schema' => ['description' => 'The authorization code.'."\n" + ."\n" + .'> In the [Phone Number Verification Service console](https://dytns.console.aliyun.com/analysis/apply), you can obtain the authorization code, which is the same as the authorization ID on the **My Applications** page.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The session payload.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'uQne0vsuNywXVvI4VP5taHsgDNsd3BwcbmrhjXi58WbxBGFW+e8ufMEi9j89YonphV6NZ1PIeKvboHtU1nsSjZMTcoFPfkjqaORIHdSlPb6vmIzqOnJMsP1KPQ8K1JLXSaAKsB2lQ5A9HCkX2HzDEwje14HYQsnPd/Ka2YWgXuL0N8GE9oYi25d4DdlU0XR52YjSj8GMLSgbW7yNxEPvUCOQG83FZfQqmIWG2+0C/fQ3gdG9WI7AeeHZo4IRKGtQnpjKGtZZl8VoLPNIswDqZeeyjCyZlKUXKrAt4Co9c4I4q8G1jZm53COQJ+DuTiWH7w+tois3WJwFV/HmdlAKt8SqpiVrEv47VQ9V+8FYsdKz3A3CRyBVgNj6wYKKbwaI9BdQoOkbYzzA8CfAKO5w1oYVD2nOcYS/AffbPbE31PJj7SdVvKghwPL56OVdjS9Hd0iW0SMBWD0F1iRNCUNHL3ffHcFjJLdhTrMt8VHSRn0nOlvO1ZaWqMQ0yE0q*************************kXTpoQLo0+0h+CEcf90hTg8XdMhj9B0A3SOINceLlmoZb3czvYl00+CC0075DjOX41YtnuAUfaNYPgLIZkjYyq+JopBQFAkxPUbJHC0oCzB9dQahUthWY38OPBs=', + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177', 'title' => ''], + 'Message' => ['description' => 'The message that is returned for the request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'IsIdentified' => ['description' => 'Indicates whether the phone number passes the identification.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'description' => 'The data that is returned.', + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The status code. A value of OK indicates that the request is successful.'."\n" + ."\n" + .'- **OK**: The request was successful.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetIdentificationResult', + 'description' => '- Review the [pricing](~~154008~~) for Phone Number Verification Service before you call this operation.'."\n" + ."\n" + .'- This operation requires prior approval. To request access, log on to the Phone Number Verification Service console, go to the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page, find the desired tag, click **Request Access**, and then complete the application. You can use the operation after your application is approved.'."\n" + ."\n" + .'- This operation is billable only for successful requests where `Code="OK"` is returned. You are not charged for requests that return other results.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The queries-per-second (QPS) limit for this operation is 200 for a single user. Calls that exceed this limit are throttled, which can affect your business. Plan your requests accordingly.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'OutId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '149b03d2-a749-4e6e-8f5b-34******5815', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:GetIdentificationResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsIdentified\\": true\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'GetIdentificationSession' => [ + 'summary' => 'Gets a session ID for international certification.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'AuthCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'K***9i7CIe', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdytnsFPPMA9'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'PhoneNumber', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number of the subscriber. The phone number to be verified must be in the Mobile Station International Subscriber Directory Number (MSISDN) format.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '628211****113', - ], + 'schema' => ['description' => 'The authorization code.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => 'The description of the return code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'Details about why access was denied.', 'type' => 'string', 'example' => '-', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Message' => ['description' => 'A description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'IsIdentified' => [ - 'description' => 'Indicates whether the phone number passed the verification.'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'ExpireDate' => ['description' => 'The authorization expiration time.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'SessionId' => ['description' => 'The session ID.', 'type' => 'string', 'example' => 'example', 'title' => ''], ], + 'description' => 'The data object.', + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The return code. Valid values:'."\n" - ."\n" - .'* OK: The request is successful.'."\n" - .'* NoIdentificationResult: No verification result is available or the verification failed.'."\n" - .'* SessionNotValid: The session is invalid or expired.'."\n" - .'* MobileNumberIllegal: The format of the phone number is invalid.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The status code for the request.'."\n" + ."\n" + .'- OK: The request succeeded.'."\n" + ."\n" + .'- NoIdentificationResult: No identification result is available or the identification failed.'."\n" + ."\n" + .'- SessionNotValid: The session is invalid or has expired.'."\n" + ."\n" + .'- MobileNumberIllegal: The provided phone number is in an invalid format.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'description' => 'The data that is returned.', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsIdentified\\": \\"true\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'GetPhoneNumberIdentificationResult', - ], - 'DescribeNumberMccMnc' => [ - 'summary' => '号码百科国际站号码归属服务', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetIdentificationSession', + 'description' => '- Before calling this operation, sign in to the Phone Number E-encyclopedia console. On the [Tag Plaza](https://dytns.console.aliyun.com/analysis/square) page, find the required tag, click **Apply for Activation**, and complete the application. This operation is available only after your application is approved.'."\n" + ."\n" + .'- This operation is not billed.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The QPS limit for a single user is 200. If you exceed this limit, subsequent API calls are throttled. This may affect your business, so plan your calls accordingly.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:GetIdentificationSession', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"ExpireDate\\": \\"example\\",\\n \\"SessionId\\": \\"example\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'GetPhoneNumberIdentificationResult' => [ + 'summary' => 'Obtains the verification result of your phone number.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -302,122 +406,92 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '263170', - 'abilityTreeNodes' => [ - 'FEATUREdytnsFPPMA9', - ], + 'abilityTreeCode' => '179163', + 'abilityTreeNodes' => ['FEATUREdytnsFPPMA9'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PhoneNumber', + 'name' => 'SessionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '86123434345', - ], + 'schema' => ['description' => 'The session ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '8636b75e2fcb40c53ffecc2b5947115c.149b03d2a7494e6e8f5b34c915245815.707c7f0d93f4409db0761aa5da94ce01.1686******041', 'title' => ''], + ], + [ + 'name' => 'SessionPayload', + 'in' => 'query', + 'schema' => ['description' => 'The session payload.'."\n", 'type' => 'string', 'required' => true, 'example' => 'uQne0vsuNywXVvI4VP5taHsgDNsd3BwcbmrhjXi58WbxBGFW+e8ufMEi9j89YonphV6NZ1PIeKvboHtU1nsSjZMTcoFPfkjqaORIHdSlPb6vmIzqOnJMsP1KPQ8K1JLXSaAKsB2lQ5A9HCkX2HzDEwje14HYQsnPd/Ka2YWgXuL0N8GE9oYi25d4DdlU0XR52YjSj8GMLSgbW7yNxEPvUCOQG83FZfQqmIWG2+0C/fQ3gdG9WI7AeeHZo4IRKGtQnpjKGtZZl8VoLPNIswDqZeeyjCyZlKUXKrAt4Co9c4I4q8G1jZm53COQJ+DuTiWH7w+tois3WJwFV/HmdlAKt8SqpiVrEv47VQ9V+8FYsdKz3A3CRyBVgNj6wYKKbwaI9BdQoOkbYzzA8CfAKO5w1oYVD2nOcYS/AffbPbE31PJj7SdVvKghwPL56OVdjS9Hd0iW0SMBWD0F1iRNCUNHL3ffHcFjJLdhTrMt8VHSRn0nOlvO1ZaWqMQ0yE0q*************************kXTpoQLo0+0h+CEcf90hTg8XdMhj9B0A3SOINceLlmoZb3czvYl00+CC0075DjOX41YtnuAUfaNYPgLIZkjYyq+JopBQFAkxPUbJHC0oCzB9dQa******WY38OPBs=', 'title' => ''], + ], + [ + 'name' => 'OutId', + 'in' => 'query', + 'schema' => ['description' => 'The external ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '149b03d2-a749-4e6e-8f5b-34******5815', 'title' => ''], ], [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '示例值', - ], + 'schema' => ['description' => 'The authorization code.'."\n", 'type' => 'string', 'required' => true, 'example' => 'K***9i7CIe', 'title' => ''], + ], + [ + 'name' => 'PhoneNumber', + 'in' => 'query', + 'schema' => ['description' => 'The phone number of the subscriber. The phone number to be verified must be in the Mobile Station International Subscriber Directory Number (MSISDN) format.'."\n", 'type' => 'string', 'required' => true, 'example' => '628211****113', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Message' => ['description' => 'The description of the return code.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'Mnc' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Ported' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - 'CountryIso3' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Mcc' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], + 'IsIdentified' => ['description' => 'Indicates whether the phone number passed the verification.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The return code. Valid values:'."\n" + ."\n" + .'* OK: The request is successful.'."\n" + .'* NoIdentificationResult: No verification result is available or the verification failed.'."\n" + .'* SessionNotValid: The session is invalid or expired.'."\n" + .'* MobileNumberIllegal: The format of the phone number is invalid.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'RequestNumberNotSupported', - 'errorMessage' => 'NotSupported this RequestNumber.', - ], - [ - 'errorCode' => 'PhoneNumberNotfound', - 'errorMessage' => '传入的手机号查不到结果', - ], - ], - 500 => [ - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsIdentified\\": \\"true\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'GetPhoneNumberIdentificationResult', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:GetPhoneNumberIdentificationResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Mnc\\": \\"123\\",\\n \\"Ported\\": true,\\n \\"CountryIso3\\": \\"USA\\",\\n \\"Mcc\\": \\"123\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'DescribeNumberHLR' => [ - 'summary' => 'HLR服务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetPhoneNumberIdentificationUrl' => [ + 'summary' => 'Obtains the verification URL of your phone number.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -426,269 +500,288 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '265522', - 'abilityTreeNodes' => [ - 'FEATUREdytnsFPPMA9', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '178936', + 'abilityTreeNodes' => ['FEATUREdytnsFPPMA9'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ + 'name' => 'Ip', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The IP address of the subscriber\'s phone.'."\n", 'type' => 'string', 'required' => false, 'example' => '114.124.***.13', 'title' => ''], + ], + [ 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值示例值', - ], + 'schema' => ['description' => 'The phone number of the subscriber. The phone number is in the Mobile Station International Subscriber Directory Number (MSISDN) format.'."\n", 'type' => 'string', 'required' => true, 'example' => '628211****113', 'title' => ''], + ], + [ + 'name' => 'OutId', + 'in' => 'query', + 'schema' => ['description' => 'The external ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '149b03d2-a749-4e6e-8f5b-34******5815', 'title' => ''], ], [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值', - ], + 'schema' => ['description' => 'The authorization code.'."\n", 'type' => 'string', 'required' => true, 'example' => 'K***9i7CIe', 'title' => ''], + ], + [ + 'name' => 'RememberPhoneNumber', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remember the phone number.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'None', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1C3B8084-3A7D-570B-BC84-BF945A9CF65E', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177', 'title' => ''], + 'Message' => ['description' => 'The description of the return code.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'Call' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MinLength' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '21', - ], - 'CleansedCode' => [ - 'description' => 'call', - 'type' => 'string', - 'example' => '示例值', - ], - 'MaxLength' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '22', - ], - ], - ], - 'PhoneType' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'CountryIso3' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Live' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RoamingCountry' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值', - ], - 'DeviceStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值', - ], - 'SubscriberStatus' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值', - ], - 'Roaming' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], - ], - ], - 'Sms' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MinLength' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'MaxLength' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '59', - ], - 'CleansedCode' => [ - 'description' => 'sms', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '58', - ], - ], - ], - 'Carrier' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - 'City' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Blocked' => [ - 'description' => '', - 'type' => 'string', - 'example' => '示例值示例值', - ], + 'IdentificationUrl' => ['description' => 'The verification URL.'."\n", 'type' => 'string', 'example' => 'https://global-ip-auth.dycpaas.com/global/biz/ip_auth/start?ipa_s_c_c=IPF0000000000000******&ipa_s_i=8636b75e2fcb40c53ffecc2b59******', 'title' => ''], + 'SessionId' => ['description' => 'The session ID.'."\n", 'type' => 'string', 'example' => '8636b75e2fcb40c53ffecc2b5947115c.149b03d2a7494e6e8f5b34c915245815.707c7f0d93f4409db0761aa5da94ce01.1686******041', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The return code. Valid values:'."\n" + ."\n" + .'* **OK**: The request is successful.'."\n" + .'* **IdentificationNotAvailable**: The verification system does not support the phone number that corresponds to the IP address.'."\n" + .'* **MobileNumberIllegal**: The format of the phone number is invalid.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IdentificationUrl\\": \\"https://global-ip-auth.dycpaas.com/global/biz/ip_auth/start?ipa_s_c_c=IPF0000000000000******&ipa_s_i=8636b75e2fcb40c53ffecc2b59******\\",\\n \\"SessionId\\": \\"8636b75e2fcb40c53ffecc2b5947115c.149b03d2a7494e6e8f5b34c915245815.707c7f0d93f4409db0761aa5da94ce01.1686******041\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'GetPhoneNumberIdentificationUrl', + 'changeSet' => [ + ['createdAt' => '2024-03-12T06:24:07.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"RequestId\\": \\"1C3B8084-3A7D-570B-BC84-BF945A9CF65E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Call\\": {\\n \\"MinLength\\": 21,\\n \\"CleansedCode\\": \\"示例值\\",\\n \\"MaxLength\\": 22\\n },\\n \\"PhoneType\\": \\"示例值示例值\\",\\n \\"CountryIso3\\": \\"示例值示例值\\",\\n \\"Live\\": {\\n \\"RoamingCountry\\": \\"示例值\\",\\n \\"DeviceStatus\\": \\"示例值\\",\\n \\"SubscriberStatus\\": \\"示例值\\",\\n \\"Roaming\\": \\"示例值示例值\\"\\n },\\n \\"Sms\\": {\\n \\"MinLength\\": 2,\\n \\"MaxLength\\": 59,\\n \\"CleansedCode\\": 58\\n },\\n \\"Carrier\\": \\"示例值示例值示例值\\",\\n \\"City\\": \\"示例值示例值\\",\\n \\"Blocked\\": \\"示例值示例值\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'AuthCodeAndApiNotMatch', 'message' => 'AuchCode和请求的Api不匹配', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeIllegal', 'message' => 'Illegal authCode.', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeNotExist', 'message' => 'The label application form does not exist, please replace the authorization code.', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code application failed and cannot be used.', 'http_code' => 400, 'description' => 'Failed to apply for an authorization code.'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code does not exist.', 'http_code' => 400, 'description' => 'The authorization code does not exist.'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code is being applied and cannot be used.', 'http_code' => 400, 'description' => 'The authorization code is pending approval.'], + ['code' => 'AuthCodeNotExist', 'message' => '该AuchCode不存在', 'http_code' => 400, 'description' => ''], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code is not found.', 'http_code' => 400, 'description' => ''], + ['code' => 'BIZ_NOT_OPEN_ERROR', 'message' => 'Users who have not opened this product.', 'http_code' => 400, 'description' => 'Users who have not opened this product cannot call this product.'], + ['code' => 'CarrierIllegal', 'message' => 'Illegal carrier type', 'http_code' => 400, 'description' => ''], + ['code' => 'CarrierIllegal', 'message' => '运营商类型非法', 'http_code' => 400, 'description' => ''], + ['code' => 'CertCodeIllegal', 'message' => 'Invalid CertCode value.', 'http_code' => 400, 'description' => ''], + ['code' => 'CERTIFY_TYPE_NEED_ENTERPRISE_ERROR', 'message' => 'This service is only available to enterprise users.', 'http_code' => 400, 'description' => 'This service only supports enterprise users.'], + ['code' => 'CUST_NOT_EXIST_ERROR', 'message' => 'customer not exist.', 'http_code' => 400, 'description' => 'User does not exist.'], + ['code' => 'DateIllegal', 'message' => 'Invalid date format.', 'http_code' => 400, 'description' => ''], + ['code' => 'DateTimeIllegal', 'message' => '日期格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'DateTimeIllegal', 'message' => 'Date format error.', 'http_code' => 400, 'description' => 'Date format error'], + ['code' => 'EncryptTypeIllegal', 'message' => 'Invalid encryption type.', 'http_code' => 400, 'description' => ''], + ['code' => 'EncyrptTypeIllegal', 'message' => 'The encryption type of the mobile phone number is illegal', 'http_code' => 500, 'description' => ''], + ['code' => 'EncyrptTypeIllegal', 'message' => '加密类型错误', 'http_code' => 400, 'description' => ''], + ['code' => 'GreaterThanCurrentTime', 'message' => '日期不允许大于当前时间', 'http_code' => 400, 'description' => ''], + ['code' => 'IdNumberIllegal', 'message' => '身份证号格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'InputParamIllegal', 'message' => 'Wrong format of input parameter', 'http_code' => 400, 'description' => ''], + ['code' => 'Insufficient.Balance', 'message' => 'You have an insufficient balance.', 'http_code' => 400, 'description' => 'Your account does not have sufficient balance.'], + ['code' => 'InternalError', 'message' => 'Activation timed out.', 'http_code' => 500, 'description' => ''], + ['code' => 'InternalError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'InternalError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => 'An error occurred while processing your request.'], + ['code' => 'InvalidParameter', 'message' => 'The product is already activated.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Real-name authentication is not completed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified mobile phone number is invalid.', 'http_code' => 400, 'description' => 'Invalid Phone Number'], + ['code' => 'InvalidParameter', 'message' => 'The maximum number of data records per query is exceeded. The maximum is 100.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified time range is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Either StartTime or EndTime is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The customer information does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => '请求参数非法', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.PORTABILITY_NUMBER_NOT_SUPPORTED', 'message' => 'Query for MNP numbers is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.QPS_LIMIT', 'message' => 'The maximum query frequency is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.SYSTEM_ERROR', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'isp.UNKNOWN', 'message' => 'An error occurred due to unknown reasons.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.MOBILE_NUMBER_ILLEGAL', 'message' => 'The specified mobile phone number is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileEncrypyionNotMatch', 'message' => 'The number and encryption type do not match.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberIllegal', 'message' => 'Wrong format of phone number', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberIllegal', 'message' => '手机号码格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeIllegal', 'message' => 'Invalid number type.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeIllegal', 'message' => '号码类型错误', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeNotMatch', 'message' => 'The number and number type do not match.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeNotMatch', 'message' => '号码与号码类型不匹配', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberTypeNotMatch', 'message' => 'The phone number and encryption type do not match.', 'http_code' => 400, 'description' => ''], + ['code' => 'NameIllegal', 'message' => 'Invalid name.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperatorLimit', 'message' => 'The number is limited by the operator.', 'http_code' => 200, 'description' => 'This mobile phone number is restricted by the carrier.'], + ['code' => 'OperatorLimit', 'message' => 'The number is limited by the operator', 'http_code' => 200, 'description' => ''], + ['code' => 'OperatorLimit', 'message' => '运营商禁止查询的号码', 'http_code' => 200, 'description' => ''], + ['code' => 'OperatorLimit', 'message' => 'Number is limited by the operator.', 'http_code' => 400, 'description' => 'Number prohibited by the operator'], + ['code' => 'OutOfService', 'message' => 'The ISV is out of service.', 'http_code' => 400, 'description' => ''], + ['code' => 'Parameter.Error', 'message' => 'A parameter error occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'Permission.NotAuthorized', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 403, 'description' => ''], + ['code' => 'Permission.NotAuthorized', 'message' => 'Insufficient permissions. Please contact the primary account administrator.', 'http_code' => 403, 'description' => ''], + ['code' => 'Permission.NotAuthorized', 'message' => '您没有权限执行此操作', 'http_code' => 403, 'description' => ''], + ['code' => 'PhoneNumber.Illegal', 'message' => 'The specified phone number is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'PhoneNumber.NoSupport', 'message' => 'Number query is not supported for number portability.', 'http_code' => 400, 'description' => ''], + ['code' => 'PhoneNumber.QueryFail', 'message' => 'Failed to query the phone number.', 'http_code' => 400, 'description' => 'Failed to query the mobile phone number.'], + ['code' => 'PhoneNumber.QueryFail', 'message' => 'The specified mobile phone number cannot find the result.', 'http_code' => 400, 'description' => ''], + ['code' => 'PhoneNumberNotfound', 'message' => 'The queried number is not found.', 'http_code' => 200, 'description' => 'No result is found for the mobile phone number.'], + ['code' => 'PhoneNumberNotfound', 'message' => '传入的手机号查不到结果', 'http_code' => 200, 'description' => ''], + ['code' => 'PortabilityNumberNotSupported', 'message' => 'Number portability is not supported', 'http_code' => 200, 'description' => ''], + ['code' => 'PortabilityNumberNotSupported', 'message' => '不支持2021年6月前携号转网的号码查询', 'http_code' => 200, 'description' => ''], + ['code' => 'PortabilityNumberNotSupported', 'message' => '不支持携号转网的号码', 'http_code' => 200, 'description' => ''], + ['code' => 'Product.NotOrdered', 'message' => 'You have not ordered this product (offer).', 'http_code' => 400, 'description' => ''], + ['code' => 'Product.Unsubscript', 'message' => 'You have not subscribed to the specified product.', 'http_code' => 400, 'description' => ''], + ['code' => 'Product.Unsubscript', 'message' => '未订阅该功能', 'http_code' => 400, 'description' => ''], + ['code' => 'ProductNotSubscribed', 'message' => 'You have not subscribed to the specified product.', 'http_code' => 400, 'description' => ''], + ['code' => 'Queries.Repeated', 'message' => 'You can only query phoneNumber once every 60 seconds.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.CheckFailed', 'message' => 'You did not pass the RAM permission check.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.CheckFailed', 'message' => 'You did not pass the ARM permission check.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.PermissionDeny', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => ''], + ['code' => 'Ram.PermissionDeny', 'message' => '权限不足', 'http_code' => 400, 'description' => ''], + ['code' => 'RateIllegal', 'message' => 'Illegal threshold parameter', 'http_code' => 400, 'description' => ''], + ['code' => 'RateIllegal', 'message' => 'Invalid ratio format.', 'http_code' => 400, 'description' => ''], + ['code' => 'RateIllegal', 'message' => '阈值参数非法。', 'http_code' => 400, 'description' => ''], + ['code' => 'RequestFrequencyLimit', 'message' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotfound', 'message' => '请求的号码查不到结果', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotfound', 'message' => 'The requested number cannot find result.', 'http_code' => 400, 'description' => 'The requested number cannot find the result.'], + ['code' => 'RequestNumberNotSupported', 'message' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotSupported', 'message' => '请求的号码不支持查询', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestNumberNotSupported', 'message' => 'NotSupported this RequestNumber.', 'http_code' => 200, 'description' => ''], + ['code' => 'RequestSupplierError', 'message' => 'Request supplier error.', 'http_code' => 500, 'description' => 'Request supplier error.'], + ['code' => 'RequestTimeout', 'message' => 'Request supplier timed out.', 'http_code' => 500, 'description' => 'Request supplier timeout'], + ['code' => 'RequsetTimeout', 'message' => 'Request supplier timed out.', 'http_code' => 500, 'description' => 'Request supplier timeout'], + ['code' => 'SupplierError', 'message' => '运营商或供应商系统异常', 'http_code' => 500, 'description' => ''], + ['code' => 'SupplierError', 'message' => 'Operator or supplier system exception.', 'http_code' => 500, 'description' => 'Operator or supplier system exception.'], + ['code' => 'SupplierTimeout', 'message' => 'Request vendor timeout.', 'http_code' => 500, 'description' => 'Request vendor timeout'], + ['code' => 'System.LimitControl', 'message' => 'The system is under flow control.', 'http_code' => 400, 'description' => ''], + ['code' => 'System.LimitControl', 'message' => '流控错误', 'http_code' => 400, 'description' => ''], + ['code' => 'SystemError', 'message' => 'System error', 'http_code' => 500, 'description' => ''], + ['code' => 'SystemError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => ''], + ['code' => 'SystemError', 'message' => '系统异常', 'http_code' => 500, 'description' => ''], + ['code' => 'SystemError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'TagNotExist', 'message' => 'The label does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'TagNotExist', 'message' => 'The business resource does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'TagNotExist', 'message' => '标签或业务资源不存在', 'http_code' => 400, 'description' => ''], + ['code' => 'TagNotExist', 'message' => 'The business resource does not exist.The label does not exist.', 'http_code' => 400, 'description' => 'The tag or business resource does not exist.'], + ['code' => 'ThresholdIllegal', 'message' => 'Please fill in the threshold range from 0 to 100 correctly.', 'http_code' => 400, 'description' => ''], + ['code' => 'Unknown', 'message' => 'Unknown error', 'http_code' => 500, 'description' => ''], + ['code' => 'Unknown', 'message' => '未知异常', 'http_code' => 500, 'description' => ''], + ['code' => 'Unknown.ResourceOwnerId', 'message' => 'The resource does not belong to the current user.', 'http_code' => 400, 'description' => ''], + ['code' => 'Unknown.ResourceOwnerId', 'message' => '资源不属于当前用户', 'http_code' => 400, 'description' => ''], + ['code' => 'UserNameIllegal', 'message' => '姓名格式错误', 'http_code' => 400, 'description' => ''], + ['code' => 'USER_NOT_BY_CUST_ERROR', 'message' => 'Customers who have not opened this product.', 'http_code' => 400, 'description' => 'Customers who have not opened this product.'], + ['code' => 'USER_NOT_BY_CUST_ERROR', 'message' => 'Unable to obtain user information, please check whether opened this product.', 'http_code' => 400, 'description' => 'Unable to obtain user information, please check whether to open this product'], + ['code' => 'MobileNumberNotSupported', 'message' => 'Mobile number is not supported. Only virtual carrier numbers (170/171/165/162/167) are accepted.', 'http_code' => 400, 'description' => 'This interface only supports the virtual quotient number query of 170/171/165/162/167 number segment.'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'DYTNS', + 'productName' => 'Cell Phone Number Service', + 'ramCodes' => ['dytns'], + 'ramLevel' => 'SERVICE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'GetIdentificationResult', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:GetIdentificationResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetIdentificationSession', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:GetIdentificationSession', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPhoneNumberIdentificationResult', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:GetPhoneNumberIdentificationResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPhoneNumberIdentificationUrl', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:GetPhoneNumberIdentificationUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'resourceTypes' => [], ], ]; |
