'1.0',
'info' => ['style' => 'RPC', 'product' => 'Dytnsapi', 'version' => '2020-02-17'],
'directories' => [
[
'children' => ['CertNoTwoElementVerification', 'CertNoThreeElementVerification'],
'type' => 'directory',
'title' => 'ID card two-factor/three-factor verification',
],
[
'children' => ['GetUAIDApplyTokenSign', 'UAIDVerification'],
'type' => 'directory',
'title' => 'UAID query',
],
[
'children' => ['CompanyTwoElementsVerification', 'CompanyThreeElementsVerification', 'CompanyFourElementsVerification'],
'type' => 'directory',
'title' => 'Enterprise two-factor/three-factor/four-factor verification',
],
[
'children' => ['DescribePhoneNumberOperatorAttribute'],
'type' => 'directory',
'title' => 'Number attribution query',
],
[
'children' => ['PhoneNumberStatusForPublic', 'PhoneNumberStatusForAccount', 'PhoneNumberStatusForReal', 'PhoneNumberStatusForSms', 'PhoneNumberStatusForVoice'],
'type' => 'directory',
'title' => 'Number status query',
],
[
'children' => ['DescribePhoneTwiceTelVerify'],
'type' => 'directory',
'title' => 'Recycled number query',
],
[
'children' => ['DescribePhoneNumberOnlineTime'],
'type' => 'directory',
'title' => 'Network duration query',
],
[
'children' => ['DescribePhoneNumberAnalysisAI', 'DescribePhoneNumberAnalysis'],
'type' => 'directory',
'title' => 'Number analysis query',
],
[
'children' => ['DescribeEmptyNumber'],
'type' => 'directory',
'title' => 'Empty number detection',
],
[
'children' => ['HistoryThreeElementsVerification', 'TwoElementsVerification', 'ThreeElementsVerification'],
'type' => 'directory',
'title' => 'Carrier two-factor/three-factor verification',
],
[
'children' => ['PhoneNumberEncrypt'],
'type' => 'directory',
'title' => 'Number encryption',
],
[
'children' => ['InvalidPhoneNumberFilter'],
'type' => 'directory',
'title' => 'Invalid number filtering',
],
[
'children' => ['QueryTagListPage', 'QueryTagInfoBySelection', 'QueryUsageStatisticsByTagId', 'QueryTagApplyRule'],
'type' => 'directory',
'title' => 'Tags',
],
[
'children' => ['QueryAvailableAuthCode'],
'type' => 'directory',
'title' => 'Authorization codes',
],
[
'children' => ['DeleteContacts', 'ListContacts', 'QueryPackageTypeInfo', 'QueryTaskList', 'SaveContacts', 'UpdateContacts', 'VirtualThreeElementsVerification'],
'type' => 'directory',
'title' => 'Others',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '231962',
'abilityTreeNodes' => ['FEATUREdytnsOFD0CE'],
],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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' => 'The name to be verified.', 'type' => 'string', 'required' => true, 'example' => '张三', 'title' => ''],
],
[
'name' => 'CertNo',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => 'The returned result.',
'type' => 'object',
'properties' => [
'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' => '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.', '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.'],
],
],
'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' => '*'],
],
],
],
],
],
'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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '200459',
'abilityTreeNodes' => ['FEATUREdytnsHIUT2Z'],
],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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' => 'The name to be verified.', 'type' => 'string', 'required' => true, 'example' => '张三', 'title' => ''],
],
[
'name' => 'CertNo',
'in' => 'query',
'schema' => ['description' => 'The ID card number to be verified.', 'type' => 'string', 'required' => true, 'example' => '3***************0', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => 'The returned result.',
'type' => 'object',
'properties' => [
'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' => 'The request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.'],
],
],
'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\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]',
],
'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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '195618',
'abilityTreeNodes' => ['FEATUREdytnsVTODD4'],
],
'parameters' => [
[
'name' => 'EpCertNo',
'in' => 'query',
'schema' => ['description' => 'The enterprise certificate number.', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627', 'title' => ''],
],
[
'name' => 'EpCertName',
'in' => 'query',
'schema' => ['description' => 'The enterprise name (required).', 'type' => 'string', 'required' => false, 'example' => '某企业', 'title' => ''],
],
[
'name' => 'LegalPersonCertName',
'in' => 'query',
'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' => 'LegalPersonCertNo',
'in' => 'query',
'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' => 'AuthCode',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => 'The structure.',
'type' => 'object',
'properties' => [
'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' => '',
],
'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' => 'The request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.'],
],
],
'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\\": \\"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"}]',
],
'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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '195616',
'abilityTreeNodes' => ['FEATUREdytnsRFNMHG'],
],
'parameters' => [
[
'name' => 'EpCertNo',
'in' => 'query',
'schema' => ['description' => 'The company certificate number.', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627', 'title' => ''],
],
[
'name' => 'EpCertName',
'in' => 'query',
'schema' => ['description' => 'The company name.', 'type' => 'string', 'required' => true, 'example' => '某企业', 'title' => ''],
],
[
'name' => 'LegalPersonCertName',
'in' => 'query',
'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' => '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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => 'The returned data.',
'type' => 'object',
'properties' => [
'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' => 'The request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.'],
],
],
'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 \\"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' => '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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'EpCertNo',
'in' => 'query',
'schema' => ['description' => 'Enterprise certificate number.', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627'."\n", 'title' => ''],
],
[
'name' => 'EpCertName',
'in' => 'query',
'schema' => ['description' => 'Enterprise name.', 'type' => 'string', 'required' => true, 'example' => '某企业', 'title' => ''],
],
[
'name' => 'AuthCode',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 struct.',
'type' => 'object',
'properties' => [
'DetailInfo' => [
'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.', 'type' => 'string', 'example' => '2023-05-25/2053-05-24', 'title' => ''],
'EnterpriseStatus' => ['description' => 'The operating status of the enterprise.', 'type' => 'string', 'example' => '在营(开业)', 'title' => ''],
],
'example' => '{'."\n"
.' "enterpriseStatus": "在营(开业)",'."\n"
.' "openTime": "2023-05-25/2053-05-24"'."\n"
.'}',
'title' => '',
],
'InconsistentData' => [
'description' => 'The fields that are inconsistent in the verification.',
'type' => 'array',
'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 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 request status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.'],
],
],
'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"}]',
],
'DeleteContacts' => [
'summary' => 'Deletes a contact.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '35631',
'abilityTreeNodes' => ['FEATUREdytnsVCETJO'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ContactId',
'in' => 'query',
'schema' => ['description' => 'The ID of the contact.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '5454735262', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'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' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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' => '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 \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": false\\n}","type":"json"}]',
],
'DescribeEmptyNumber' => [
'summary' => 'Predicts whether a phone number is invalid by using AI algorithms.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '162520',
'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'],
],
'parameters' => [
[
'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), obtain the authorization ID, which is the authorization code.', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'."\n", 'title' => ''],
],
[
'name' => 'InputNumber',
'in' => 'query',
'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' => 'Mask',
'in' => 'query',
'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' => [
'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''],
'Data' => [
'description' => '返回结果。',
'type' => 'object',
'properties' => [
'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' => '返回状态码。取值:'."\n"
."\n"
.'- **OK**:成功。'."\n"
."\n"
.'- **InvalidPhoneNumber.Check**:手机号非法。', 'type' => 'string', 'example' => 'OK', 'title' => ''],
],
'title' => '',
'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' => '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 \\"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"}]',
],
'DescribePhoneNumberAnalysis' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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' => 'InputNumber',
'in' => 'query',
'schema' => ['description' => 'The phone number to be queried.', 'type' => 'string', 'required' => true, 'example' => '187****5620', 'title' => ''],
],
[
'name' => 'NumberType',
'in' => 'query',
'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' => 'Mask',
'in' => 'query',
'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' => 'Rate',
'in' => 'query',
'schema' => ['description' => 'The score threshold of the phone number. Valid values: **0 to 100**.'."\n"
."\n"
.'>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.>', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 information about the phone number analysis result.',
'type' => 'object',
'properties' => [
'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 request status code. Valid values:'."\n"
."\n"
.' **OK**: The request was successful.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.', '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.'],
],
],
'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"
.'### 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"
.'### 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"
.'### 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' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'InputNumber',
'in' => 'query',
'schema' => ['description' => 'The phone number to query.', 'type' => 'string', 'required' => true, 'example' => '187****5620', 'title' => ''],
],
[
'name' => 'Rate',
'in' => 'query',
'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' => 'AuthCode',
'in' => 'query',
'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' => [
'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-0BD******177', 'title' => ''],
'Message' => ['description' => 'The description of the returned status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
'Data' => [
'description' => 'The returned result.',
'type' => 'object',
'properties' => [
'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 request status code. Valid values:'."\n"
.'- OK: success', 'type' => 'string', 'example' => 'OK', 'title' => ''],
],
'description' => '',
'title' => '',
'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' => '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'],
],
],
'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',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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 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"
.'>Letters in the encrypted string are case-insensitive.>', '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**: 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"
.'>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.>', 'type' => 'string', 'required' => false, 'example' => 'UNICOM', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 returned data.',
'type' => 'object',
'properties' => [
'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' => 'PortabilityNumberNotSupported', 'errorMessage' => 'Number portability is not supported', 'description' => ''],
],
400 => [
['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', '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 \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"CarrierCode\\": \\"CMCC\\"\\n }\\n}","type":"json"}]',
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '139022',
'abilityTreeNodes' => ['FEATUREdytnsK1J228'],
],
'parameters' => [
[
'name' => 'InputNumber',
'in' => 'query',
'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"
.'>The letters in the encrypted string are not case-sensitive.', 'type' => 'string', 'required' => true, 'example' => '139****1234', 'title' => ''],
],
[
'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), 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**: no encryption'."\n"
.'- **MD5**: MD5 encryption'."\n"
.'- **SHA256**: SHA256 encryption'."\n"
.'- **SM3**: SM3 encryption'."\n"
."\n"
.'>All letters in the string must be uppercase.', '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 returned data.',
'type' => 'object',
'properties' => [
'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 returned data.',
'type' => 'object',
'properties' => [
'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' => [
400 => [
['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' => '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' => '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"
.'- 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"
.'### 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 [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. 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"
.'>'."\n"
."\n"
.'The encrypted string is not case-sensitive.'."\n"
."\n"
.'>', '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**: 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' => 'A data structure.',
'type' => 'object',
'properties' => [
'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' => 'A data structure that contains the verification results.',
'type' => 'object',
'properties' => [
'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' => 'PortabilityNumberNotSupported', 'errorMessage' => '不支持2021年6月前携号转网的号码查询', 'description' => ''],
['errorCode' => 'RequestNumberNotSupported', 'errorMessage' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', 'description' => ''],
['errorCode' => 'RequestFrequencyLimit', 'errorMessage' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', 'description' => ''],
],
400 => [
['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' => '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 \\"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"
.'- 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"
.'- 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' => 'read',
'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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' => 'OutId',
'in' => 'query',
'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' => 'ClientType',
'in' => 'query',
'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.
'."\n"
.'Format: `yyyyMMddHHmmssSSS`.
', '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 object.',
'type' => 'object',
'properties' => [
'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 data.',
'type' => 'object',
'properties' => [
'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' => [
400 => [
['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.'],
],
],
'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"
.'- To generate the other parameters required to obtain the authorization token, refer to the respective operator\'s documentation.'."\n"
."\n"
.'- 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"
.'>'."\n"
."\n"
.'When you request an authorization token, the client or H5 page must be connected to a cellular network.'."\n"
."\n"
.'>'."\n"
."\n"
.'#### China Mobile (CM)'."\n"
."\n"
.'Protocol: HTTPS + application/json
'."\n"
.'Method: POST
'."\n"
.'URL: https\\://msg.cmpassport.com/h5/getMobile
'."\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:
'."\n"
.'`{ "header": { "appId": "300011580392", "msgId": "redbyxsdetddwaaffajcwwapspykftzx", "timestamp": "20201125101607932" }, "body": { "resultCode": "103000", "expandParams": "", "resultDesc": "成功", "token": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01" } }`
'."\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
'."\n"
.'Method: GET
'."\n"
.'URL: https\\://nisportal.10010.com:9001/api
'."\n"
."\n"
.'###### Request parameters'."\n"
."\n"
.'Request examples:
'."\n"
.'JSON request: `?appid=1554778161153`
'."\n"
.'JSONP request: `?appid=1554778161153&callback=callbackFunction`
'."\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:
'."\n"
.'JSON response:'."\n"
.'`{"authurl": "https://enrichgw.10010.com/d93222629f52ec79"}`
'."\n"
.'JSONP response:'."\n"
.'`callbackFunction({"authurl":"https://enrichgw.10010.com/d93222629f52ec79"})`
'."\n"
."\n"
.'Retrieve the `authurl` from the response.'."\n"
."\n"
.'##### Step 2: Obtain the token'."\n"
."\n"
.'Protocol: HTTPS + application/json
'."\n"
.'Method: GET
'."\n"
.'URL: The authurl from Step 1, with /api appended.
'."\n"
."\n"
.'Request URL example: `https://enrichgw.10010.com/d93222629f52ec79/api`'."\n"
."\n"
.'###### Request parameters'."\n"
."\n"
.'Request examples:
'."\n"
.'JSON request: `?appid=1554778161153`
'."\n"
.'JSONP request: `?appid=1554778161153&callback=callbackFunction`
'."\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:
'."\n"
.'JSON response:'."\n"
.'`{ "province": "1", "code": "7nHS1nggx2WP613750206700RN6oiRN1" }`
'."\n"
.'JSONP response:'."\n"
.'`callbackFunction({"province":"1","code":"7nHS3Dnkd1BS701851092400RN6oiRN1"})`
'."\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
'."\n"
.'Method: GET
'."\n"
.'URL: https\\://id6.me/gw/preuniq.do
'."\n"
."\n"
.'##### Request parameters'."\n"
."\n"
.'Request example:
'."\n"
.'`?clientType=30100&appId=9390188202&format=json&sign=D63C166FA19E1996EF********09C6A5397C10B4¶mKey=1D7C25EB8B0B8B4CB3CF8DC60628F6549********786B0AF1FEF93FA1335057A35BF5F0B39A3867EAA9BE14B3898********8B01DE34965060445B6E1F66401D714650E4AB161CD6DCF4A72********3B856F22A192B8B0C39D7A55B961062E68C89C928894F119B25********7C548355FE9DB82852EB93C939F2200B48CD17¶mStr=140********95AF8E138B94754CB4CF83BA6FB********52B258BFDFD38BF233&version=1.1`
'."\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:
'."\n"
.'`callback?result=10000&msg=success&data=a35336711c70456cb883f4f224e9a259`
'."\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:
'."\n"
.'`{"accessCode": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01"}`
'."\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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeNodes' => ['FEATUREdytns9WIVIU'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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 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. Valid value:'."\n"
."\n"
.'- **NORMAL**: The phone number is not encrypted.', 'type' => 'string', 'required' => true, 'example' => 'example', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'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' => [
'type' => 'object',
'properties' => [
'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' => [
'type' => 'object',
'properties' => [
'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' => [
400 => [
['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' => 'SystemError', 'errorMessage' => '系统异常', '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' => 'HistoryThreeElementsVerification',
'description' => '## Usage notes'."\n"
."\n"
.'- Before you use this API, ensure you understand its [pricing](https://help.aliyun.com/zh/cpns/product-overview/pricing-of-cpns).'."\n"
."\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"
.'- 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"
.'- 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"
.'- 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"
.'- The queries per second (QPS) limit per user is 200. Requests that exceed this limit are throttled.'."\n"
."\n"
.'- 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' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '132665',
'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'],
],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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.', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'schema' => ['description' => 'The encryption method of the phone number.'."\n"
."\n"
.'>Only the NORMAL encryption method is supported.>', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 array of returned data.',
'type' => 'array',
'items' => [
'description' => 'The structure.',
'type' => 'object',
'properties' => [
'Code' => ['description' => 'The filtering result.'."\n"
."\n"
.'- **YES**: A valid phone number. The mapping relationship is returned.'."\n"
."\n"
.'- **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' => [
400 => [
['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' => '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' => '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"
.'### 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' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'list'],
'parameters' => [
[
'name' => 'BizType',
'in' => 'query',
'schema' => ['description' => 'The business type. Set the value to `dytns`.', 'type' => 'string', 'required' => false, 'example' => 'dytns', 'title' => ''],
],
[
'name' => 'ContactId',
'in' => 'query',
'schema' => ['description' => 'The contact ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1298647', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response body.',
'type' => 'object',
'properties' => [
'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' => '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"
.'- **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' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.'],
],
],
'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' => [],
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '133477',
'abilityTreeNodes' => ['FEATUREdytns6A4MC8'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'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), 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"
.'> Currently, only single phone number queries are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'schema' => ['description' => 'The encryption method of the phone number. Valid value: **NORMAL**.'."\n"
."\n\n"
.'>Currently, only the NORMAL encryption method is supported.>', 'type' => 'string', 'required' => true, 'example' => 'NORMAL', 'title' => ''],
],
[
'name' => 'OutId',
'in' => 'query',
'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' => [
'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' => 'The array.',
'type' => 'array',
'items' => [
'description' => 'The struct.',
'type' => 'object',
'properties' => [
'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' => '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.', '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' => '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' => '[{"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"}]',
],
'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',
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '142578',
'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'],
],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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 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"
.'>'."\n"
."\n"
.'The letters in the hashed string are case-insensitive.'."\n"
."\n"
.'>', 'type' => 'string', 'required' => true, 'example' => '139****1234', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'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 data returned.',
'type' => 'object',
'properties' => [
'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 object.',
'type' => 'object',
'properties' => [
'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' => ''],
],
'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' => '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' => '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 \\"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"
.'- 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"
.'- 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"
.'- 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"
.'### 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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'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 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',
'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**: 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' => [
'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 returned data.',
'type' => 'object',
'properties' => [
'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' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
200 => [
['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator', 'description' => ''],
],
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.'],
],
],
'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"
.'- 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"
.'- 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'],
],
'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' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [
'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 [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 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"
.'>'."\n"
."\n"
.'The encrypted string is not case-sensitive.'."\n"
."\n"
.'>', 'type' => 'string', 'required' => true, 'example' => '189****8999', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'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 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 data returned for the request.',
'type' => 'object',
'properties' => [
'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' => '',
],
],
'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' => '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' => '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 \\"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"
.'- 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"
.'- 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' => 'readAndWrite',
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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 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"
.'>'."\n"
."\n"
.'The encrypted string is not case-sensitive.'."\n"
."\n"
.'>', 'type' => 'string', 'required' => true, 'example' => '181****1234', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'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 returned data.',
'type' => 'object',
'properties' => [
'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' => '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' => ''],
],
'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' => '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' => '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\\": \\"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"
.'- 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"
.'- 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' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '142576',
'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'],
],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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 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"
.'>'."\n"
."\n"
.'The letters in the encrypted string are not case-sensitive.'."\n"
."\n"
.'>', 'type' => 'string', 'required' => true, 'example' => '139****1234', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'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' => [
'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' => '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' => '',
],
],
'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' => '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' => '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 \\"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"
.'- 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"
.'- 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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'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' => '',
'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' => [
[
'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' => '',
'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' => ['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.',
'type' => 'object',
'properties' => [
'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' => ['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.', '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' => '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\\": \\"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 tag information.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'IndustryId',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The industry ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '58'],
],
[
'name' => 'SceneId',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The scene ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '83'],
],
[
'name' => 'TagId',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The tag ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '71'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 data returned.',
'type' => 'array',
'items' => [
'description' => 'The data returned.',
'type' => 'object',
'properties' => [
'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.',
'type' => 'array',
'items' => ['description' => 'None', 'type' => 'string', 'example' => '无', 'title' => ''],
'example' => '',
],
'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.',
'type' => 'array',
'items' => [
'description' => 'The tag parameter.',
'type' => 'object',
'properties' => [
'ValueDict' => [
'title' => '',
'description' => 'The definition of an enumerated value, in the format of code:desc.',
'type' => 'array',
'items' => [
'description' => 'The definition of an enumerated value, in the format of code:desc.',
'type' => 'object',
'properties' => [
'Desc' => ['title' => '', 'description' => 'The Chinese name.', 'type' => 'string', 'example' => '阿里云'],
'Code' => ['title' => '', 'description' => 'The English name.', 'type' => 'string', 'example' => 'Aliyun'],
],
'title' => '',
'example' => '',
],
'example' => '',
],
'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' => ['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' => ['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.', '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' => '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"}]',
],
'QueryTagListPage' => [
'summary' => 'Queries the tag list by page.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNo',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '18'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '66'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.',
'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' => ['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.', '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' => 'Queries the tag list by page',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagListPage'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'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' => [
'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' => '',
'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' => ['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' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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' => ''],
],
'title' => '',
'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' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.'],
],
],
'title' => 'Query Encyclopedia Offline Task List',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'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' => '', '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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'title' => '', 'example' => 'D45CC751-34DF-5797-81FB-9A2ED6DC024B'],
'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'title' => '', 'example' => 'OK'],
'Data' => [
'title' => '',
'description' => '返回的数据内容。',
'type' => 'array',
'items' => [
'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' => ['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.', '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 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\\": \\"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"}]',
],
'SaveContacts' => [
'summary' => 'Saves an alert contact.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'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' => 'readAndWrite',
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '136769',
'abilityTreeNodes' => ['FEATUREdytns9WIVIU'],
],
'parameters' => [
[
'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"
.'>Letters in the encrypted string are case-insensitive.>', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'schema' => [
'description' => 'The encryption method. Valid values:'."\n"
."\n"
.'- **NORMAL**: No encryption.'."\n"
."\n"
.'- **MD5**'."\n"
."\n"
.'- **SHA256**',
'type' => 'string',
'required' => true,
'enum' => [],
'example' => 'MD5',
'title' => '',
],
],
[
'name' => 'CertCode',
'in' => 'query',
'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"
.'>Letters in the encrypted string are case-insensitive.>', '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"
.'>Letters in the encrypted string are case-insensitive.>', '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"
.'- 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' => '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' => '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' => '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 \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"IsConsistent\\": 1\\n }\\n}","type":"json"}]',
],
'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' => 'readAndWrite',
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '136682',
'abilityTreeNodes' => ['FEATUREdytnsNQKUF2'],
],
'parameters' => [
[
'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), 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 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"
.'>Letters in the encrypted string are not case-sensitive.>', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''],
],
[
'name' => 'Mask',
'in' => 'query',
'schema' => [
'description' => 'The encryption method. Valid values:'."\n"
."\n"
.'- **NORMAL**: No encryption.'."\n"
."\n"
.'- **MD5**'."\n"
."\n"
.'- **SHA256**',
'type' => 'string',
'required' => true,
'enum' => [],
'example' => 'MD5',
'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 with MD5.'."\n"
.'- If Mask is set to SHA256, encrypt this field with SHA256.'."\n"
."\n"
.'>Letters in the encrypted string are not case-sensitive.>', '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"
.'>China Broadcasting Network numbers are not currently supported.>', 'type' => 'string', 'example' => '中国移动', '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' => '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' => 'OutId',
'in' => 'query',
'schema' => ['description' => 'The external serial number.', 'type' => 'string', 'required' => false, 'example' => 'b8b5b3a*******0b9893484fdf412c99'."\n", 'title' => ''],
],
[
'name' => 'Carrier',
'in' => 'query',
'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' => 'Token',
'in' => 'query',
'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' => 'UserGrantId',
'in' => 'query',
'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"
.'When you integrate the service, we recommend that you include UAID-related content in the privacy policy of your product.', 'type' => 'string', 'required' => false, 'example' => 'Md****a3Em', 'title' => ''],
],
[
'name' => 'AuthCode',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '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' => '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.'],
],
],
'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 \\"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' => 'Updates an alert contact.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '35630',
'abilityTreeNodes' => ['FEATUREdytnsVCETJO'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ContactId',
'in' => 'query',
'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' => 'The name of the contact.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => 'XXX', 'title' => ''],
],
[
'name' => 'ContactPhone',
'in' => 'query',
'schema' => ['description' => 'The mobile phone number of the contact.', 'type' => 'string', 'required' => false, 'example' => '192XXXXXXXX', 'title' => ''],
],
[
'name' => 'ContactEmail',
'in' => 'query',
'schema' => ['description' => 'The email address of the contact.', 'type' => 'string', 'required' => false, 'example' => 'XXXX@alibaba-inc.com', 'title' => ''],
],
[
'name' => 'OpentAttributionWarning',
'in' => 'query',
'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' => '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' => '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' => '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' => '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.', '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' => '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' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": false\\n}","type":"json"}]',
],
'VirtualThreeElementsVerification' => [
'summary' => 'Verifies whether a user\'s name, phone number, and ID card number are consistent.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeNodes' => ['FEATUREdytns9WIVIU'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AuthCode',
'in' => 'query',
'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' => [
'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' => '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' => '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' => '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' => '*'],
],
],
],
[
'apiName' => 'QueryTagListPage',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:QueryTagListPage',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'HistoryThreeElementsVerification',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:HistoryThreeElementsVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CompanyThreeElementsVerification',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:CompanyThreeElementsVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryPackageTypeInfo',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:QueryPackageTypeInfo',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteContacts',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'dytns:DeleteContacts',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryTaskList',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:QueryTaskList',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UpdateContacts',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'dytns:UpdateContacts',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CertNoTwoElementVerification',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:CertNoTwoElementVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UAIDVerification',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:UAIDVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'InvalidPhoneNumberFilter',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:InvalidPhoneNumberFilter',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryUsageStatisticsByTagId',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:QueryUsageStatisticsByTagId',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryAvailableAuthCode',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:QueryAvailableAuthCode',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribePhoneNumberAnalysis',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:DescribePhoneNumberAnalysis',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetUAIDApplyTokenSign',
'description' => '',
'operationType' => '',
'ramAction' => [
'action' => 'dytns:GetUAIDApplyTokenSign',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeEmptyNumber',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:DescribeEmptyNumber',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'PhoneNumberStatusForPublic',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:PhoneNumberStatusForPublic',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'PhoneNumberEncrypt',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:PhoneNumberEncrypt',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribePhoneNumberAnalysisAI',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:DescribePhoneNumberAnalysisAI',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CompanyTwoElementsVerification',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:CompanyTwoElementsVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'SaveContacts',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'dytns:SaveContacts',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'PhoneNumberStatusForAccount',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:PhoneNumberStatusForAccount',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'PhoneNumberStatusForSms',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:PhoneNumberStatusForSms',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribePhoneNumberOperatorAttribute',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:DescribePhoneNumberOperatorAttribute',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ThreeElementsVerification',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:ThreeElementsVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribePhoneNumberOnlineTime',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:DescribePhoneNumberOnlineTime',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'TwoElementsVerification',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:TwoElementsVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'PhoneNumberStatusForVoice',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'dytns:PhoneNumberStatusForVoice',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CompanyFourElementsVerification',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'dytns:CompanyFourElementsVerification',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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' => '*'],
],
],
],
],
'resourceTypes' => [],
],
];