diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/dypnsapi/2017-05-25/api-docs.php | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/dypnsapi/2017-05-25/api-docs.php')
| -rw-r--r-- | data/en_us/dypnsapi/2017-05-25/api-docs.php | 4613 |
1 files changed, 2067 insertions, 2546 deletions
diff --git a/data/en_us/dypnsapi/2017-05-25/api-docs.php b/data/en_us/dypnsapi/2017-05-25/api-docs.php index a1d5e05..df07fff 100644 --- a/data/en_us/dypnsapi/2017-05-25/api-docs.php +++ b/data/en_us/dypnsapi/2017-05-25/api-docs.php @@ -1,340 +1,271 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dypnsapi', - 'version' => '2017-05-25', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dypnsapi', 'version' => '2017-05-25'], 'directories' => [ [ - 'id' => 186296, - 'title' => 'SMS Authentication Service', + 'children' => ['SendSmsVerifyCode', 'CheckSmsVerifyCode'], 'type' => 'directory', - 'children' => [ - 'SendSmsVerifyCode', - 'CheckSmsVerifyCode', - ], + 'title' => 'SMS authentication service', ], [ - 'id' => 134039, - 'title' => 'Number Authentication', - 'type' => 'directory', 'children' => [ [ - 'id' => 182057, - 'title' => 'Client one-click login and local number verification', + 'children' => ['VerifyMobile', 'GetMobile'], 'type' => 'directory', - 'children' => [ - 'VerifyMobile', - 'GetMobile', - ], + 'title' => 'Client-side one-click login and phone number verification', ], [ - 'id' => 175693, - 'title' => 'H5 one-click login and local number verification', + 'children' => ['GetAuthToken', 'VerifyPhoneWithToken'], 'type' => 'directory', - 'children' => [ - 'GetAuthToken', - 'GetPhoneWithToken', - 'VerifyPhoneWithToken', - ], + 'title' => 'H5 one-click login and phone number verification', ], ], + 'type' => 'directory', + 'title' => 'Phone number verification service', ], [ - 'id' => 181112, - 'title' => 'Converged authentication (scenario-based)', + 'children' => ['GetFusionAuthToken'], 'type' => 'directory', - 'children' => [ - 'GetFusionAuthToken', - 'VerifyWithFusionAuthToken', - ], + 'title' => 'Fusion authentication', ], [ - 'id' => 134045, - 'title' => 'SMS Authentication', + 'children' => ['GetSmsAuthTokens', 'VerifySmsCode'], 'type' => 'directory', - 'children' => [ - 'GetSmsAuthTokens', - 'VerifySmsCode', - ], + 'title' => 'SMS authentication (deprecated)', ], [ - 'id' => 134050, - 'title' => 'Communication Authorization Service', + 'children' => ['GetAuthorizationUrl'], 'type' => 'directory', - 'children' => [ - 'GetAuthorizationUrl', - ], + 'title' => 'Communication authorization service (deprecated)', ], [ - 'id' => 134035, - 'title' => 'Certification Scheme Management', + 'children' => ['CreateVerifyScheme', 'DeleteVerifyScheme'], 'type' => 'directory', - 'children' => [ - 'CreateSchemeConfig', - 'CreateVerifyScheme', - 'DeleteVerifyScheme', - 'DescribeVerifyScheme', - ], + 'title' => 'Authentication scheme management', ], [ - 'id' => 134052, - 'title' => 'Usage and cost statistics', + 'children' => ['QueryGateVerifyStatisticPublic', 'QueryGateVerifyBillingPublic'], 'type' => 'directory', - 'children' => [ - 'QueryGateVerifyStatisticPublic', - 'QueryGateVerifyBillingPublic', - ], + 'title' => 'Usage and cost statistics', ], [ - 'id' => 190109, - 'title' => 'Other', + 'children' => ['CreateSchemeConfig', 'DescribeVerifyScheme', 'GetPhoneWithToken', 'QuerySendDetails', 'VerifyWithFusionAuthToken'], + 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'QuerySendDetails', - ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'SendSmsVerifyCode' => [ - 'summary' => 'Sends SMS verification codes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CheckSmsVerifyCode' => [ + 'summary' => 'Verifies an SMS verification code and returns the verification result.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '192247', - 'abilityTreeNodes' => [ - 'FEATUREdypnsZ7LLRH', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '192246', + 'abilityTreeNodes' => ['FEATUREdypnsF4260C'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification service name. If this parameter is not specified, the default service is used. The name can be up to 20 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Aliyun', - 'default' => '默认方案', - ], + 'schema' => ['description' => 'The scheme name. The name can contain up to 20 characters. If you do not specify this parameter, the API uses the default scheme.'."\n" + .'><notice>This value must match the `SchemeName` specified in the `SendSmsVerifyCode` request.></notice>', 'type' => 'string', 'required' => false, 'example' => '测试方案', 'default' => '默认方案', 'title' => ''], ], [ 'name' => 'CountryCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The country code of the phone number. SMS verification codes can be sent only by using phone numbers in the Chinese mainland. Default value: 86.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '86', - 'default' => '86', - ], + 'schema' => ['description' => 'The country code of the phone number. The default value is `86`.', 'type' => 'string', 'required' => false, 'example' => '86', 'default' => '86', 'title' => ''], ], [ 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '86130****0000', - ], + 'schema' => ['description' => 'The phone number.', 'type' => 'string', 'required' => true, 'example' => '186****0000', 'title' => ''], ], [ - 'name' => 'SignName', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => 'The signature.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Aliyun Test', - ], + 'schema' => ['description' => 'An external ID to track the request.', 'type' => 'string', 'required' => false, 'example' => '12123231', 'default' => '', 'title' => ''], ], [ - 'name' => 'TemplateCode', + 'name' => 'VerifyCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The code of the text message template.'."\n" - ."\n" - .'Log on to the [SMS console](https://dysms.console.aliyun.com/dysms.htm?spm=5176.12818093.categories-n-products.ddysms.3b2816d0xml2NA#/overview). In the left-side navigation pane, click **Go China** or **Go Globe**. You can view the text message template code in the **Template Code** column on the **Message Templates** tab.'."\n" - ."\n" - .'> The text message templates must be created on the Go Globe page and approved.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'azsq_*****', - ], + 'schema' => ['description' => 'The verification code.'."\n" + ."\n" + .'> - The `TemplateParam` parameter in the `SendSmsVerifyCode` request can be configured in two ways:'."\n" + .'>'."\n" + .'> - - `{"code":"##code##","min":"5"}`'."\n" + .'>'."\n" + .'> - - `{"code":"123456","min":"5"}`'."\n" + .'>'."\n" + .'> - If you use `{"code":"##code##","min":"5"}`, the API dynamically generates the verification code, and Alibaba Cloud can verify it.'."\n" + .'>'."\n" + .'> - If you use `{"code":"123456","min":"5"}`, you specify the verification code instead of the API generating one. Alibaba Cloud cannot verify this code.'."\n" + .'>'."\n" + .'> - Ensure you pass the correct verification code for your configuration.', 'type' => 'string', 'required' => true, 'example' => '1231', 'title' => ''], ], [ - 'name' => 'TemplateParam', + 'name' => 'CaseAuthPolicy', 'in' => 'query', 'schema' => [ - 'description' => 'The value of the variable in the text message template. The verification code is replaced with "##code##".'."\n" + 'description' => 'The case-sensitivity policy for verification. Valid values:'."\n" ."\n" - .'Example 1: For a system-defined template that contains variables, if the template content is "Your verification code is ${code} and valid for 5 minutes. Do not disclose the verification code to others.", specify the value of this parameter as {"code":"##code##"}'."\n" + .'- `1`: Case-insensitive.'."\n" ."\n" - .'Example 2: For a custom template, if the template content is ${content}, specify the value of this parameter as {"content":"Your verification code is ##code## and must be used within 5 minutes."}.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If line breaks are required in JSON-formatted data, they must meet the relevant requirements that are specified in the standard JSON protocol.'."\n" - ."\n" - .'* For more information about template variables, see [SMS template specifications](~~108253~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{"code":"##code##"}', + .'- `2`: Case-sensitive.', + 'enumValueTitles' => [], + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'default' => '1', + 'title' => '', ], ], - [ - 'name' => 'SmsUpExtendCode', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The extension code of the upstream text message. Upstream text messages are text messages sent to the communication service provider. Upstream text messages are used to customize a service, complete an inquiry, or send a request. You are charged for sending upstream text messages based on the billing standards of the service provider.'."\n" - ."\n" - .'> The extension code is automatically generated by the system when the signature is generated. You do not need to specify the extension code. You can skip this parameter based on your business requirements. If you want to use custom extension codes, contact your account manager.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1213123', + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => 'The access denial details.', 'type' => 'string', 'example' => '无', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => '成功', 'title' => ''], + 'Model' => [ + 'description' => 'The data returned for the request.', + 'type' => 'object', + 'properties' => [ + 'OutId' => ['description' => 'The external ID.', 'type' => 'string', 'example' => '1212312', 'title' => ''], + 'VerifyResult' => ['description' => 'Indicates whether the SMS verification code is valid. Valid values:'."\n" + ."\n" + .'- `PASS`: The verification is successful.'."\n" + ."\n" + .'- `UNKNOWN`: The verification failed.', 'type' => 'string', 'example' => 'PASS', 'title' => ''], + ], + '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 error codes, see [Error codes](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11174283.0.0.70c5616bkj38Wa).'."\n" + .' ><notice>A successful request does not mean the SMS verification code is valid. The verification result is provided in the `Model.VerifyResult` parameter.></notice>', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- `true`: The request was successful.'."\n" + ."\n" + .'- `false`: The request failed.'."\n" + .' ><notice>A successful request does not mean the SMS verification code is valid. The verification result is provided in the `Model.VerifyResult` parameter.></notice>', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CF8854E5-DB21-3E5D-A9B1-DDC752FD7384', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CheckSmsVerifyCode', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:CheckSmsVerifyCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"Message\\": \\"成功\\",\\n \\"Model\\": {\\n \\"OutId\\": \\"1212312\\",\\n \\"VerifyResult\\": \\"PASS\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"CF8854E5-DB21-3E5D-A9B1-DDC752FD7384\\"\\n}","type":"json"}]', + ], + 'CreateSchemeConfig' => [ + 'summary' => 'Creates a code for a converged communication authentication service.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OutId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '193622', + 'abilityTreeNodes' => ['FEATUREdypnsF4260C'], + ], + 'parameters' => [ + [ + 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12358794Aqzaq', - ], + 'schema' => ['title' => '', 'description' => 'The service name, which can be up to 10 characters in length and can contain letters.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Aliyun'], ], [ - 'name' => 'CodeLength', + 'name' => 'Platform', 'in' => 'query', 'schema' => [ - 'description' => 'The length of the verification code. Default value: 4. Valid values: 4 to 8.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '4', - 'default' => '4', + 'title' => '', + 'description' => 'The app platform.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* Android'."\n" + .'* iOS'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Android', + 'enum' => ['Android', 'iOS'], ], ], [ - 'name' => 'ValidTime', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the verification code. Unit: seconds. Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '300', - 'default' => '300', - ], + 'schema' => ['title' => '', 'description' => 'The app name, which can be up to 20 characters in length and can contain letters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Alibaba Cloud Communications'], ], [ - 'name' => 'DuplicatePolicy', + 'name' => 'AndroidPackageName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies how to handle the verification codes received earlier in a case where verification codes are sent to the same phone number for the same scenario within the validity period.'."\n" - ."\n" - .'* 1 (default): The latest verification code overwrites the verification codes received earlier. In this case, verification codes received earlier expire.'."\n" - .'* 2: Verification codes within their validity period are valid and can be used for verification.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'enumValueTitles' => [ - 1 => '', - '', - ], - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['title' => '', 'description' => 'The package name. This parameter is required when Platform is set to Android. The name must be 1 to 128 characters in length and can contain digits, letters, hyphens (-), underscores (\\_), and periods (.).'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.android'], ], [ - 'name' => 'Interval', + 'name' => 'AndroidPackageSign', 'in' => 'query', - 'schema' => [ - 'description' => 'The time interval. Unit: seconds. Default value: 60. This parameter specifies how often you can send a verification code.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '60', - 'default' => '60', - ], + 'schema' => ['title' => '', 'description' => 'The package signature. This parameter is required when Platform is set to Android. The signature must be 32 characters in length and can contain digits and letters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dfsfaawklll1****olkweklk***'], ], [ - 'name' => 'CodeType', + 'name' => 'IosBundleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the generated verification code. Default value: 1. Valid values:'."\n" - ."\n" - .'* 1: digits only'."\n" - .'* 2: uppercase letters only'."\n" - .'* 3: lowercase letters only'."\n" - .'* 4: uppercase and lowercase letters'."\n" - .'* 5: digits and uppercase letters'."\n" - .'* 6: digits and lowercase letters'."\n" - .'* 7: digits and uppercase and lowercase letters'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'enumValueTitles' => [ - 1 => '', - '', - '', - '', - '', - '', - '', - ], - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['title' => '', 'description' => 'The bundle ID. This parameter is required when OsType is set to iOS. The bundle ID must be 1 to 128 characters in length and can contain digits, letters, hyphens (-), underscores (\\_), and periods (.).'."\n", 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.ios'], ], [ - 'name' => 'ReturnVerifyCode', + 'name' => 'H5Url', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return a verification code.'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['title' => '', 'description' => 'The reserved field. HTML5 apps are not supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '-'], ], [ - 'name' => 'AutoRetry', + 'name' => 'H5Origin', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '是否自动重试', - 'default' => '1', - ], + 'schema' => ['title' => '', 'description' => 'The reserved field. HTML5 apps are not supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '-'], ], ], 'responses' => [ @@ -342,103 +273,55 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => 'The details about the access denial.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B95B36EC-8108-4479-D3AA-2BB27F9B155A'."\n", 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'Model' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned results.'."\n", 'type' => 'object', 'properties' => [ - 'VerifyCode' => [ - 'description' => 'The verification code.'."\n", - 'type' => 'string', - 'example' => '42324', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'API-reqelekrqkllkkewrlwrjlsdfsdf', - ], - 'OutId' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'example' => '1231231313', - ], - 'BizId' => [ - 'description' => 'The business ID.'."\n", - 'type' => 'string', - 'example' => '112231421412414124123^4', - ], + 'SchemeCode' => ['description' => 'The service code.'."\n", 'type' => 'string', 'example' => 'FA100000168468035', 'title' => ''], ], - ], - 'Code' => [ - 'description' => 'The response code. If OK is returned, the request is successful. For more information, see [Response codes](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11174283.0.0.70c5616bkj38Wa).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'title' => '', + ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* If OK is returned, the request is successful.'."\n" + .'* For more information about other error codes, see [API response codes](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11186623.0.0.5c3a662fbgeAuk).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MOBILE_NUMBER_ILLEGAL', - 'errorMessage' => 'The mobile number is illegal.', - ], - [ - 'errorCode' => 'BUSINESS_LIMIT_CONTROL', - 'errorMessage' => 'The number has exceeded the limit for the day.', - ], - [ - 'errorCode' => 'FREQUENCY_FAIL', - 'errorMessage' => 'Check frequency fail.', - ], - [ - 'errorCode' => 'INVALID_PARAMETERS', - 'errorMessage' => 'parameter is not valid.', - ], - [ - 'errorCode' => 'FUNCTION_NOT_OPENED', - 'errorMessage' => 'You have not opened this function.', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B95B36EC-8108-4479-D3AA-2BB27F9B155A\\\\n\\",\\n \\"Message\\": \\"Success\\",\\n \\"Model\\": {\\n \\"SchemeCode\\": \\"FA100000168468035\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'title' => 'CreateSchemeConfig', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:CreateSchemeConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"Message\\": \\"成功 \\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Model\\": {\\n \\"VerifyCode\\": \\"4232\\",\\n \\"RequestId\\": \\"a3671ccf-0102-4c8e-8797-a3678e091d09\\",\\n \\"OutId\\": \\"1231231313\\",\\n \\"BizId\\": \\"112231421412414124123^4\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'SendSmsVerifyCode', ], - 'CheckSmsVerifyCode' => [ - 'summary' => 'Verifies SMS verification codes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateVerifyScheme' => [ + 'summary' => 'A verification scheme identifies authentication scenarios for an application (App). Each scheme typically corresponds to an App name, App package name, and package signature. The required parameters vary depending on the access terminal. You can call this API to create a verification scheme.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -447,81 +330,121 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '192246', - 'abilityTreeNodes' => [ - 'FEATUREdypnsF4260C', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92619', + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], ], 'parameters' => [ [ 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification service name. If this parameter is not specified, the default service is used. The name can be up to 20 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Aliyun', - 'default' => '默认方案', - ], + 'schema' => ['description' => 'Scheme name.', 'type' => 'string', 'required' => true, 'example' => '一键登录认证方案', 'title' => ''], ], [ - 'name' => 'CountryCode', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The country code of the phone number. Default value: 86.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '86', - 'default' => '86', - ], + 'schema' => ['description' => 'App name.', 'type' => 'string', 'required' => true, 'example' => '阿里云通信', 'title' => ''], ], [ - 'name' => 'PhoneNumber', + 'name' => 'OsType', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '18653529399', - ], + 'schema' => ['description' => 'Operating system type of the client. Valid values:'."\n" + ."\n" + .'- iOS'."\n" + ."\n" + .'- Android'."\n" + ."\n" + .'- Harmony'."\n" + ."\n" + .'- Web', 'type' => 'string', 'required' => true, 'example' => 'iOS', 'title' => ''], ], [ - 'name' => 'OutId', + 'name' => 'PackName', 'in' => 'query', - 'schema' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12123231', - 'default' => '', - ], + 'schema' => ['description' => 'Package name. Required when OsType is Android. Must contain only digits, letters, hyphens (-), underscores, or periods. Length: 1 to 128 characters.', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun', 'title' => ''], ], [ - 'name' => 'VerifyCode', + 'name' => 'PackSign', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1231', - ], + 'schema' => ['description' => 'Package signature. Required when OsType is Android. Must contain only digits and letters. Length: 32 characters.', 'type' => 'string', 'required' => false, 'example' => 'ecf65**********8ea68eda4c4a084cb', 'title' => ''], ], [ - 'name' => 'CaseAuthPolicy', + 'name' => 'BundleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification policy for uppercase and lowercase letters of the verification code. Valid values:'."\n" - ."\n" - .'* 1: The verification policy does not distinguish uppercase and lowercase letters.'."\n" - .'* 2: The verification policy distinguishes uppercase and lowercase letters.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'enumValueTitles' => [], - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'Bundle ID. Required when OsType is iOS. Must contain only digits, letters, hyphens (-), underscores, or periods. Length: 1 to 128 characters.', 'type' => 'string', 'required' => false, 'example' => 'example.aliyundoc.com', 'title' => ''], + ], + [ + 'name' => 'Origin', + 'in' => 'query', + 'schema' => ['description' => 'Source URL of the H5 scheme page. We recommend specifying the domain level.', 'type' => 'string', 'required' => false, 'example' => 'https://h5.minexiot.com', 'title' => ''], + ], + [ + 'name' => 'Url', + 'in' => 'query', + 'schema' => ['description' => 'Page URL used by the H5 scheme.', 'type' => 'string', 'required' => false, 'example' => 'https://h5.minexiot.com/', 'title' => ''], + ], + [ + 'name' => 'IpWhiteList', + 'in' => 'query', + 'schema' => ['description' => 'IP address whitelist. Optional.', 'type' => 'string', 'required' => false, 'example' => '139.9.xx.xx'."\n" + .'122.112.xx.xx'."\n" + .'139.9.xx.xx/24', 'title' => ''], + ], + [ + 'name' => 'CmApiCode', + 'in' => 'query', + 'schema' => ['description' => 'China Mobile channel code. Optional.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'CuApiCode', + 'in' => 'query', + 'schema' => ['description' => 'China Unicom channel code. Optional.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CtApiCode', + 'in' => 'query', + 'schema' => ['description' => 'China Telecom channel code. Optional.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'SceneType', + 'in' => 'query', + 'schema' => ['description' => 'Scheme type. Optional.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'Email', + 'in' => 'query', + 'schema' => ['description' => 'Email address to receive the key. Optional.', 'type' => 'string', 'required' => false, 'example' => 'username@aliyundoc.com', 'title' => ''], + ], + [ + 'name' => 'AuthType', + 'in' => 'query', + 'schema' => ['description' => 'Authentication type. Optional. Select multiple values only if number authentication is supported. Separate multiple values with commas.'."\n" + ."\n" + .'- **1**: Number authentication.'."\n" + ."\n" + .'- **2**: Text message authentication.', 'type' => 'string', 'required' => false, 'example' => '1,2', 'title' => ''], + ], + [ + 'name' => 'SmsSignName', + 'in' => 'query', + 'schema' => ['description' => 'Bound text message signature. Valid only if AuthType includes 2 (text message authentication). The signature must be approved and created under the number authentication product.', 'type' => 'string', 'required' => false, 'example' => '阿里云短信测试专用', 'title' => ''], + ], + [ + 'name' => 'HmPackageName', + 'in' => 'query', + 'schema' => ['description' => 'Package name. Required when OsType is `Harmony`. Must contain only digits, letters, underscores, or periods. Must start with a letter. Length: 7 to 127 characters.', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.harmonydemo', 'title' => ''], + ], + [ + 'name' => 'HmSignName', + 'in' => 'query', + 'schema' => ['description' => 'Package signature. Required when OsType is `Harmony`. Must contain only digits and letters. Length: 64 characters.', 'type' => 'string', 'required' => false, 'example' => '65C0B**********D4E80A135636F9A17AFFB540E4E9D2520DC095B68120EA812', 'title' => ''], + ], + [ + 'name' => 'HmAppIdentifier', + 'in' => 'query', + 'schema' => ['description' => 'App ID. Required when OsType is `Harmony`. Length: 19 digits.', 'type' => 'string', 'required' => false, 'example' => '57658*********34905', 'title' => ''], ], ], 'responses' => [ @@ -529,113 +452,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => 'The details about the access denial.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'Model' => [ - 'description' => 'The returned data.'."\n", + 'Message' => ['description' => 'Description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The ID of this API call, a unique identifier generated by Alibaba Cloud for this request. Use it to troubleshoot issues.', 'type' => 'string', 'example' => 'A1E75E69-3049-5FDB-A376-D745837CD2B1', 'title' => ''], + 'GateVerifySchemeDTO' => [ + 'description' => 'Structure.', 'type' => 'object', 'properties' => [ - 'OutId' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'example' => '1212312', - ], - 'VerifyResult' => [ - 'description' => 'The verification results. Valid values:'."\n" - ."\n" - .'* PASS: The verification is successful.'."\n" - .'* UNKNOWN: The verification failed.'."\n", - 'type' => 'string', - 'example' => 'PASS', - ], + 'SchemeCode' => ['description' => 'Scheme code.', 'type' => 'string', 'example' => 'FC10001287****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [Response codes](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11174283.0.0.70c5616bkj38Wa).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], + 'HttpStatusCode' => ['description' => 'HTTP status code.', 'type' => 'integer', 'format' => 'int64', 'example' => '200', 'title' => ''], + 'Code' => ['description' => 'Status code.'."\n" + ."\n" + .'- OK indicates that the request is successful.'."\n" + ."\n" + .'- For other error codes, see [server-side API return codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Whether the request was successful.'."\n" + ."\n" + .'- **true**: The request succeeded.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"Message\\": \\"成功\\",\\n \\"Model\\": {\\n \\"OutId\\": \\"1212312\\",\\n \\"VerifyResult\\": \\"PASS\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'CheckSmsVerifyCode', - ], - 'VerifyMobile' => [ - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SchemeNumberOverLimit', 'errorMessage' => 'The maximum number of scheme is exceeded.', 'description' => ''], + ['errorCode' => 'BundleIdConflict', 'errorMessage' => 'The specified bundleId already exists.', 'description' => ''], + ['errorCode' => 'InvalidParameters', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], + ['errorCode' => 'InvalidAccountStatus', 'errorMessage' => 'Your account has been suspended.', 'description' => ''], + ['errorCode' => 'RamPermissionDeny', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => ''], + ['errorCode' => 'PackageSignedConflict', 'errorMessage' => 'The specified package signed already exists.', 'description' => ''], + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => 'Your account not be opened the product.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Create Authentication Scheme', + 'description' => '### QPS limit'."\n" + ."\n" + .'This API supports up to 100 calls per second per user. Exceeding this limit triggers rate limiting, which may affect your business. Use this API carefully.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-10-18T01:43:25.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-11-24T13:53:49.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVerifyScheme'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:CreateVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"A1E75E69-3049-5FDB-A376-D745837CD2B1\\",\\n \\"GateVerifySchemeDTO\\": {\\n \\"SchemeCode\\": \\"FC10001287****\\"\\n },\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'DeleteVerifyScheme' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '92639', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AccessCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token obtained by the SDK for your app.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dfafdafad542****', - ], - ], - [ - 'name' => 'PhoneNumber', + 'name' => 'SchemeCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '13800****00', - ], + 'schema' => ['description' => 'The scheme code. Get this value from the `SchemeCode` parameter in the response of the [CreateVerifyScheme](~~CreateVerifyScheme~~) operation.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000014164****', 'title' => ''], ], [ - 'name' => 'OutId', + 'name' => 'CustomerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123456', - ], + 'schema' => ['description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345678', 'title' => ''], ], ], 'responses' => [ @@ -643,109 +552,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], - 'GateVerifyResultDTO' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'VerifyResult' => [ - 'description' => 'The verification results. Valid values:'."\n" - ."\n" - .'* **PASS: The input phone number is consistent with the phone number that you use.**'."\n" - .'* **REJECT: The input phone number is different from the phone number that you use.**'."\n" - .'* **UNKNOWN: The system cannot judge whether the input phone number is consistent with the phone number that you use.'."\n", - 'type' => 'string', - 'example' => 'PASS', - ], - 'VerifyId' => [ - 'description' => 'The verification ID.'."\n", - 'type' => 'string', - 'example' => '121343241', - ], - ], - ], + 'Code' => ['description' => 'The status code.'."\n" + ."\n" + .'- OK means the request succeeded.'."\n" + ."\n" + .'- For more information, see [Server-side API return codes](~~85198~~).', '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' => 'E3754956-D0B1-5947-962A-AE767D354F01', 'title' => ''], + 'Result' => ['description' => 'The result of the operation. Valid values:'."\n" + ."\n" + .'- **true**: The scheme was deleted.'."\n" + ."\n" + .'- **false**: The scheme failed to be deleted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => 'Request was denied due to api flow control.'], + ['errorCode' => 'InvalidAccountStatus', 'errorMessage' => 'Your account has been suspended.', 'description' => ''], + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => 'Your account not be opened the product.'], + ['errorCode' => 'InvalidParameters', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'You are not authorized to perform this operation.', 'description' => 'You are not authorized to perform this operation.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request.', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'An error occurred while processing your request.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerifyResultDTO\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"121343241\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<VerifyMobileResponse>\\n<GateVerifyResultDTO>\\n <VerifyResult>PASS</VerifyResult>\\n <VerifyId>121343241</VerifyId>\\n</GateVerifyResultDTO>\\n<Message>请求成功</Message>\\n<RequestId>8906582E-6722</RequestId>\\n<Code>OK</Code>\\n</VerifyMobileResponse>","errorExample":""}]', - 'title' => 'VerifyMobile', - 'summary' => 'Verifies the phone number that you use.', - 'description' => '### [](#)Preparations'."\n" - ."\n" - .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Getting Started](~~84541~~).'."\n" + 'title' => 'DeleteVerifyScheme', + 'summary' => 'If you no longer need a verification scheme, you can call this operation or delete the scheme in the Phone Number Verification Service console.', + 'description' => '- After you delete a scheme, authentication requests that use it fail. Delete schemes with care.'."\n" ."\n" - .'> This operation is applicable to only the verification of thephone number that you use. To obtain a phone number for one-click logon, call [GetMobile](~~189865~~).'."\n" + .'- You cannot modify a verification scheme after you create it. To make changes, delete the original scheme by calling this operation, create a new scheme, and then integrate the new scheme into your application using its parameters.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'### QPS limits'."\n" ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'Each user can make up to 100 API calls per second. If you exceed this limit, API calls are throttled, which may affect your business. Stay within the limit.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'GetMobile' => [ - 'methods' => [ - 'post', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVerifyScheme'], + ], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypns:DeleteVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '92629', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"E3754956-D0B1-5947-962A-AE767D354F01\\",\\n \\"Result\\": true\\n}","type":"json"}]', + ], + 'DescribeVerifyScheme' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AccessToken', + 'name' => 'SchemeCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The logon token obtained by the SDK for your app.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dfafdafad5422****', - ], + 'schema' => ['description' => 'The service code.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000010643****', 'title' => ''], ], [ - 'name' => 'OutId', + 'name' => 'CustomerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '22345****', - ], + 'schema' => ['description' => 'The user ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1234****', 'title' => ''], ], ], 'responses' => [ @@ -753,67 +653,75 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], - 'GetMobileResultDTO' => [ + 'Code' => ['description' => 'The response code. OK indicates that the request is successful. For more information about other error codes, see [API response codes](~~85198~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0C5380A7-2032-5F7D-9614-1BF8B54D16CB', 'title' => ''], + 'SchemeQueryResultDTO' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Mobile' => [ - 'description' => 'The phone number,'."\n", - 'type' => 'string', - 'example' => '13900001234', - ], + 'AppEncryptInfo' => ['description' => 'The key generated when you create a service in the console.'."\n", 'type' => 'string', 'example' => 'ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => 'Request was denied due to api flow control.'], + ['errorCode' => 'InvalidAccountStatus', 'errorMessage' => 'Your account has been suspended.', 'description' => ''], + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => 'Your account not be opened the product.'], + ['errorCode' => 'SceneQueryFail', 'errorMessage' => 'The specified scene does not exist.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'You are not authorized to perform this operation.', 'description' => 'You are not authorized to perform this operation.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request.', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'An error occurred while processing your request.', 'description' => ''], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GetMobileResultDTO\\": {\\n \\"Mobile\\": \\"139****1234\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMobileResponse>\\n<Message>请求成功</Message>\\n<RequestId>8906582E-6722</RequestId>\\n<Code>OK</Code>\\n<GetMobileResultDTO>\\n <Mobile>150****0000</Mobile>\\n</GetMobileResultDTO>\\n</GetMobileResponse>","errorExample":""}]', - 'title' => 'GetMobile', - 'summary' => 'Obtains a phone number for one-click logon.', - 'description' => '### [](#)Preparations'."\n" - ."\n" - .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Getting Started](~~84541~~).'."\n" - ."\n" - .'> This operation is applicable only to one-click logon or registration. You can call this operation only after you confirm the authorization on the authorization page provided by the SDK for one-click logon. You are prohibited from simulating or bypassing the authorization process. Alibaba Cloud reserves the right to terminate our services and take legal actions against such violations.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"0C5380A7-2032-5F7D-9614-1BF8B54D16CB\\",\\n \\"SchemeQueryResultDTO\\": {\\n \\"AppEncryptInfo\\": \\"ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>OK</Message>\\n<RequestId>0C5380A7-2032-5F7D-9614-1BF8B54D16CB</RequestId>\\n<Code>OK</Code>\\n<SchemeQueryResultDTO>\\n <AppEncryptInfo>ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****</AppEncryptInfo>\\n</SchemeQueryResultDTO>","errorExample":""}]', + 'title' => 'DescribeVerifyScheme', + 'summary' => 'Queries the details of a verification service.', + 'description' => '### [](#qps)QPS limits'."\n" ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'GetAuthToken' => [ - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:DescribeVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyScheme'], + ], ], + ], + 'GetAuthToken' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -826,76 +734,53 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '92626', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', - ], + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], ], 'parameters' => [ [ 'name' => 'Url', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the requested web page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'https://www.aliyundoc.com/', - ], + 'schema' => ['description' => 'URL of the request page. Enter the URL you specified when creating the authentication plan in the console. Format: **protocol + // + domain name + /**.'."\n" + ."\n" + .'> For testing, you can temporarily use a public IP address. Use a domain name for production.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'https://www.aliyundoc.com/', 'title' => ''], ], [ 'name' => 'Origin', 'in' => 'query', - 'schema' => [ - 'description' => 'The requested domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'https://www.aliyundoc.com', - ], + 'schema' => ['description' => 'Origin URL. Enter the origin URL you specified when creating the authentication plan in the console. Format: **protocol + // + domain name**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'https://www.aliyundoc.com', 'title' => ''], ], [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'title' => '方案号', - 'type' => 'string', - 'docRequired' => false, - ], + 'schema' => ['title' => 'Plan Code ', 'description' => 'Authentication plan code.'."\n" + ."\n" + .'> This parameter is **required** due to plan upgrades. After creating an authentication plan in the console, pass its code. For details, see [Plan Management](~~615129~~).', 'type' => 'string', 'docRequired' => false, 'required' => false, 'example' => 'FC10000010643****'], ], [ 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'Business type. Valid values:'."\n" + ."\n" + .'- 0: Native number verification.'."\n" + ."\n" + .'- 1: One-click logon.'."\n" + ."\n" + .'> This parameter is **required** due to flow optimizations that reduce client-side authentication calls.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'CmApiCode', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'default' => '5', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'default' => '5', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'CuApiCode', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'default' => '10', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'default' => '10', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'CtApiCode', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'default' => '8', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'default' => '8', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -903,199 +788,111 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], + 'Code' => ['description' => 'Status code.'."\n" + ."\n" + .'- OK means the request succeeded.'."\n" + ."\n" + .'- For other error codes, see [Server-Side API Return Codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'Description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], 'TokenInfo' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'Struct.', 'type' => 'object', 'properties' => [ - 'AccessToken' => [ - 'description' => 'The business authentication token.'."\n" - ."\n" - .'> AccessToken is valid for 10 minutes and can be used repeatedly within its validity period.'."\n", - 'type' => 'string', - 'example' => 'agag****', - ], - 'JwtToken' => [ - 'description' => 'The API authentication token.'."\n" - ."\n" - .'> JwtToken is valid for 1 hour and can be used repeatedly within its validity period.'."\n", - 'type' => 'string', - 'example' => 'aweghd****', - ], + 'AccessToken' => ['description' => 'Business authentication token.'."\n" + ."\n" + .'> An AccessToken is valid for 10 minutes. You can reuse it during this period.', 'type' => 'string', 'example' => 'agag****', 'title' => ''], + 'JwtToken' => ['description' => 'API authentication token.'."\n" + ."\n" + .'> A JwtToken is valid for 1 hour. You can reuse it during this period.', 'type' => 'string', 'example' => 'aweghd****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"TokenInfo\\": {\\n \\"AccessToken\\": \\"agag****\\",\\n \\"JwtToken\\": \\"aweghd****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAuthTokenResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <TokenInfo>\\n <AccessToken>agag****</AccessToken>\\n <JwtToken>aweghd****</JwtToken>\\n </TokenInfo>\\n</GetAuthTokenResponse>","errorExample":""}]', - 'title' => 'GetAuthToken', - 'summary' => 'Obtains the authorization token used for the authentication of the phone number verification for HTML5 pages. You can obtain AccessToken and JwtToken after a successful call.', - 'description' => '### [](#)Preparations'."\n" + 'title' => 'Obtain H5 Authentication Authorization Token ', + 'summary' => 'Obtain an authorization token for H5 native number verification. The response includes an AccessToken and a JwtToken.', + 'description' => '### Preparations'."\n" ."\n" - .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Use the phone number verification feature for HTML5 pages](~~169786~~).'."\n" + .'You can register an Alibaba Cloud account, obtain an AccessKey pair, and create an authentication plan before you begin. For more information, see [H5 Native Number Verification Integration Flow](https://help.aliyun.com/zh/pnvs/getting-started/h5-page-integration).'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'### QPS limit'."\n" ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'The per-user QPS limit for this operation is 1000 calls per second. Exceeding this limit triggers rate limiting, which may affect your business. Call this operation only as needed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'GetPhoneWithToken' => [ - 'summary' => 'Obtains a phone number for one-click logon. This operation is exclusive to HTML5 pages.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'paid', - ], - 'parameters' => [ - [ - 'name' => 'SpToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token for phone number verification that is obtained by the JavaScript SDK. The validity period of the token is 10 minutes for China Telecom, 30 minutes for China Unicom, and 2 minutes for China Mobile. The token can be used only once.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Dfafdafad542****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '0F335F48-****-****-****-CA7914FE5D77', - ], - 'Data' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'Mobile' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'example' => '13900001234', - ], - ], - ], + 'extraInfo' => '### Java SDK '."\n" + .'You can install the Alibaba Cloud Java software development kit (SDK) by adding a Maven dependency. The SDK version is continuously updated. For the latest version, refer to the [OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/) page.'."\n" + ."\n" + .'Maven coordinates for the Java SDK:'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2024-10-24T07:04:41.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-29T03:39:23.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-11-24T13:53:49.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAuthToken'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:GetAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"0F335F48-****-****-****-CA7914FE5D77\\",\\n \\"Data\\": {\\n \\"Mobile\\": \\"13900001234\\"\\n }\\n}","type":"json"}]', - 'title' => 'GetPhoneWithToken', - 'description' => '### [](#)Preparations'."\n" - ."\n" - .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Getting Started](~~84541~~).'."\n" - ."\n" - .'> This operation is applicable only to one-click logon or registration in HTML5 pages. You can call this operation only after you confirm the authorization on the authorization page provided by the JavaScript SDK. You are prohibited from simulating or bypassing the authorization process. Alibaba Cloud reserves the right to terminate our services and take legal actions against such violations.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"TokenInfo\\": {\\n \\"AccessToken\\": \\"agag****\\",\\n \\"JwtToken\\": \\"aweghd****\\"\\n }\\n}","type":"json"}]', ], - 'VerifyPhoneWithToken' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetAuthorizationUrl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'PhoneNumber', + 'name' => 'PhoneNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1380000****', - ], + 'schema' => ['description' => 'The phone number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1390000****', 'title' => ''], ], [ - 'name' => 'SpToken', + 'name' => 'SchemeId', 'in' => 'query', - 'schema' => [ - 'description' => 'The token for phone number verification that is obtained by the JavaScript SDK.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Dfafdafad542****', - ], + 'schema' => ['description' => 'The authorization scenario ID. You can view the authorization scenario ID on the **Authorization Scenarios** page in the **Phone Number Verification Service console**.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '234****', 'title' => ''], + ], + [ + 'name' => 'EndDate', + 'in' => 'query', + 'schema' => ['description' => 'The authorization end date. This field is required for contract-based plans. Format: yyyy-MM-dd.', 'type' => 'string', 'required' => false, 'example' => '2020–12–28', 'title' => ''], ], ], 'responses' => [ @@ -1103,109 +900,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], - 'GateVerify' => [ - 'description' => 'The response parameters.'."\n", + 'Code' => ['description' => 'The status code.'."\n" + ."\n" + .'- OK means the request succeeded.'."\n" + ."\n" + .'- For other status codes, see [Server-side API status codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'A description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], + 'Data' => [ + 'description' => 'The response struct.', 'type' => 'object', 'properties' => [ - 'VerifyResult' => [ - 'description' => 'The verification results. Valid values:'."\n" - ."\n" - .'* PASS: The input phone number is consistent with the phone number used in HTML5 pages.'."\n" - .'* REJECT: The input phone number is different from the phone number used in HTML5 pages.'."\n" - .'* UNKNOWN: The system cannot judge whether the input phone number is consistent with the phone number used in HTML5 pages.'."\n", - 'type' => 'string', - 'example' => 'PASS', - ], - 'VerifyId' => [ - 'description' => 'The external ID.'."\n", - 'type' => 'string', - 'example' => '12134****', - ], + 'AuthorizationUrl' => ['description' => 'The authorization URL.', 'type' => 'string', 'example' => 'https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'UnknowError', - 'errorMessage' => 'The requested service is not available now, please try again later.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'MobileNumberIllgeal', - 'errorMessage' => 'The specified mobile phone number is invalid.', - ], - [ - 'errorCode' => 'InvalidToken', - 'errorMessage' => 'The token is invalid.', - ], - [ - 'errorCode' => 'VerifySchemeNotExist', - 'errorMessage' => 'The specified verify scheme already exists.', - ], + ['errorCode' => 'InvalidParameters', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'You must specify the parameter.', 'description' => ''], + ['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => 'Request was denied due to api flow control.'], + ['errorCode' => 'MobileNumberIllgeal', 'errorMessage' => 'The specified mobile phone number is invalid.', 'description' => ''], + ['errorCode' => 'DataNotFound', 'errorMessage' => 'The specified scheme does not exist.', 'description' => ''], + ['errorCode' => 'IllegalParameter', 'errorMessage' => 'The specified endDate is invalid.', 'description' => ''], + ['errorCode' => 'SchemeNotPassed', 'errorMessage' => 'The scheme is not passed.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => ''], + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'Failed to verify your access permissions.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'IdentityCertifyNotExist', 'errorMessage' => 'The identity verification record does not exist.', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request.', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'OutOfService', 'errorMessage' => 'The account is suspended.', 'description' => ''], + ['errorCode' => 'FunctionNotSubscribed', 'errorMessage' => 'You have not subscribed to the function.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerify\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"12134****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<VerifyPhoneWithTokenResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <GateVerify>\\n <VerifyResult>PASS</VerifyResult>\\n <VerifyId>12134****</VerifyId>\\n </GateVerify>\\n</VerifyPhoneWithTokenResponse>","errorExample":""}]', - 'title' => 'VerifyPhoneWithToken', - 'summary' => 'Verifies the phone number used in HTML5 pages.', - 'description' => '### [](#)Preparations'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetAuthorizationUrl', + 'summary' => 'This operation is offline.', + 'description' => '### Preparations'."\n" ."\n" - .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Use the phone number verification feature for HTML5 pages](~~169786~~).'."\n" + .'Register an Alibaba Cloud account and obtain an AccessKey pair. For more information, see [Communication Authorization Service workflow](~~196922~~).'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'### QPS limit'."\n" ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'The per-user QPS limit for this operation is 1,000 calls per second. Exceeding this limit triggers rate limiting, which may affect your business. Call this operation only as needed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', + 'extraInfo' => '### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAuthorizationUrl'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetAuthorizationUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AuthorizationUrl\\": \\"https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod\\"\\n }\\n}","type":"json"}]', ], 'GetFusionAuthToken' => [ - 'summary' => 'Obtains the verification results by using the token that is obtained from the client SDKs.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'After the fusion authentication client completes initialization, you can call this API from your server to obtain an authentication token. You can then pass the authentication token to the SDK for authentication.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1213,78 +1002,37 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'SchemeCode', 'in' => 'query', - 'schema' => [ - 'title' => '方案Code。', - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FA1000*************201', - ], + 'schema' => ['description' => 'The scheme code.', 'type' => 'string', 'required' => true, 'example' => 'FA1000*************201', 'title' => ''], ], [ 'name' => 'PackageName', 'in' => 'query', - 'schema' => [ - 'title' => 'Platform为Android时必须传入,App的包名信息。', - 'description' => 'The package name of the app. This parameter is required when Platform is set to Android.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.example.test', - ], + 'schema' => ['description' => 'Required when Platform is Android. The app package name.', 'type' => 'string', 'required' => false, 'example' => 'com.example.test', 'title' => ''], ], [ 'name' => 'PackageSign', 'in' => 'query', - 'schema' => [ - 'title' => 'Platform为Android时必须传入,App的包签名信息。', - 'description' => 'The package signature of the app. This parameter is required when Platform is set to Android.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '47fcc************************278', - ], + 'schema' => ['description' => 'Required when Platform is Android. The app package signature.', 'type' => 'string', 'required' => false, 'example' => '47fcc************************278', 'title' => ''], ], [ 'name' => 'BundleId', 'in' => 'query', - 'schema' => [ - 'title' => 'Platform为iOS时必须传入,App的bundleId信息。', - 'description' => 'The bundle ID of the app. This parameter is required when Platform is set to iOS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.example.test', - ], + 'schema' => ['description' => 'Required when Platform is iOS. The app bundle ID.', 'type' => 'string', 'required' => false, 'example' => 'com.example.test', 'title' => ''], ], [ 'name' => 'Platform', 'in' => 'query', - 'schema' => [ - 'title' => '平台,Android或者iOS。', - 'description' => 'The platform type. Valid values: Android and iOS.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Android', - ], + 'schema' => ['description' => 'The platform. Valid values: Android or iOS.', 'type' => 'string', 'required' => true, 'example' => 'Android', 'title' => ''], ], [ 'name' => 'DurationSeconds', 'in' => 'query', - 'schema' => [ - 'title' => 'Token有效时长,单位是秒,最小值900,最大值43200。', - 'description' => 'The validity period of the token. Unit: seconds. Valid values: 900 to 43200.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '900', - ], + 'schema' => ['description' => 'The validity period of the token, in seconds. Minimum value: 900. Maximum value: 43200.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '900', 'title' => ''], ], ], 'responses' => [ @@ -1292,285 +1040,264 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID, which is used to locate and troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Model' => [ - 'description' => 'The authentication code. The value of this parameter is a string.'."\n", - 'type' => 'string', - 'example' => 'FKcksloqk***********jalEc+', - ], - 'Code' => [ - 'description' => 'The response code. If OK is returned, the request is successful. Other values indicate that the request failed. For more information, see Error codes.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values: true false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => '成功', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique identifier for each request. Use it to troubleshoot issues.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Model' => ['description' => 'The authentication token string. Use this token to verify the client SDK during initialization.', 'type' => 'string', 'example' => 'FKcksloqk***********jalEc+', 'title' => ''], + 'Code' => ['description' => 'The request status code.'."\n" + ."\n" + .'- OK indicates a successful request.'."\n" + ."\n" + .'- For other error codes, see the error code list.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the API call succeeded. Valid values:'."\n" + ."\n" + .'- true: The call succeeded.'."\n" + ."\n" + .'- false: The call failed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SchemeNumberOverLimit', - 'errorMessage' => 'The maximum number of scheme is exceeded.', - ], - [ - 'errorCode' => 'SmsCodeVerifyFail', - 'errorMessage' => 'The specified smsCode is invalid.', - ], - [ - 'errorCode' => 'SmsSignNameNotExist', - 'errorMessage' => 'The specified sms signName is invalid.', - ], - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'UnknowError', - 'errorMessage' => 'The requested service is not available now, please try again later.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'VerifySchemeNotExist', - 'errorMessage' => 'The specified verify scheme already exists.', - ], - [ - 'errorCode' => 'PackageSignedConflict', - 'errorMessage' => 'The specified package signed already exists.', - ], - [ - 'errorCode' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'SceneQueryFail', - 'errorMessage' => 'The specified scene does not exist.', - ], - [ - 'errorCode' => 'SchemeNotPassed', - 'errorMessage' => 'The scheme is not passed.', - ], + ['errorCode' => 'SchemeNumberOverLimit', 'errorMessage' => 'The maximum number of scheme is exceeded.', 'description' => ''], + ['errorCode' => 'SmsCodeVerifyFail', 'errorMessage' => 'The specified smsCode is invalid.', 'description' => ''], + ['errorCode' => 'SmsSignNameNotExist', 'errorMessage' => 'The specified sms signName is invalid.', 'description' => ''], + ['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => 'Request was denied due to api flow control.'], + ['errorCode' => 'UnknowError', 'errorMessage' => 'The requested service is not available now, please try again later.', 'description' => ''], + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => 'Your account not be opened the product.'], + ['errorCode' => 'VerifySchemeNotExist', 'errorMessage' => 'The specified verify scheme already exists.', 'description' => ''], + ['errorCode' => 'PackageSignedConflict', 'errorMessage' => 'The specified package signed already exists.', 'description' => ''], + ['errorCode' => 'RamPermissionDeny', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => ''], + ['errorCode' => 'SceneQueryFail', 'errorMessage' => 'The specified scene does not exist.', 'description' => ''], + ['errorCode' => 'SchemeNotPassed', 'errorMessage' => 'The scheme is not passed.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'Failed to verify your access permissions.', - ], + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'Failed to verify your access permissions.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'OutOfService', - 'errorMessage' => 'The account is suspended.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'OutOfService', 'errorMessage' => 'The account is suspended.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Model\\": \\"FKcksloqk***********jalEc+\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetFusionAuthToken', - ], - 'VerifyWithFusionAuthToken' => [ - 'summary' => 'Obtains the verification results by using the verification token that is obtained by using the authentication token.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetFusionAuthToken'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetFusionAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Model\\": \\"FKcksloqk***********jalEc+\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]', + ], + 'GetMobile' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '167123', - 'abilityTreeNodes' => [ - 'FEATUREdypns9ZAN79', - 'FEATUREdypns1LCGAH', - 'FEATUREdypnsBK4NX5', - 'FEATUREdypnsC68T0U', - 'FEATUREdypnsRN54HJ', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '92629', + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], ], 'parameters' => [ [ - 'name' => 'VerifyToken', + 'name' => 'AccessToken', + 'in' => 'query', + 'schema' => ['description' => 'Login token obtained from the app-side SDK. Token validity period and usage limits:'."\n" + ."\n" + .'- China Telecom: 10 minutes, usable once.'."\n" + ."\n" + .'- China Unicom: 30 minutes, usable once.'."\n" + ."\n" + .'- China Mobile: 2 minutes, usable once.', 'type' => 'string', 'required' => true, 'example' => 'Dfafdafad5422****', 'title' => ''], + ], + [ + 'name' => 'OutId', 'in' => 'query', + 'schema' => ['description' => 'External transaction ID.', 'type' => 'string', 'required' => false, 'example' => '22345****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The unified verification token that is returned by the client SDKs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'LD108enNdlsl*******sFLKCks1==', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'Status code.'."\n" + ."\n" + .'- OK indicates a successful request.'."\n" + ."\n" + .'- For other error codes, see [Server-side API return codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'Description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], + 'GetMobileResultDTO' => [ + 'description' => 'Struct.', + 'type' => 'object', + 'properties' => [ + 'Mobile' => ['description' => 'Retrieved mobile phone number.'."\n" + .'><notice>The example value in this field is masked. A successful request returns an 11-digit plaintext mobile phone number.></notice>', 'type' => 'string', 'example' => '139****1234', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', 'title' => '', + 'example' => '', ], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetMobile', + 'summary' => 'This API retrieves a mobile phone number using the one-click login feature of the Phone Number Verification Service. If the call is successful, the mobile phone number is returned.', + 'description' => '### Prerequisites'."\n" + ."\n" + .'- Before you use this API, review the billing model and [pricing](~~85132~~) of the Phone Number Verification Service.'."\n" + ."\n" + .'- Register an Alibaba Cloud account, obtain your AccessKey pair, and create an authentication scheme. For more information, see [Quick Start](~~84541~~).'."\n" + ."\n" + .'> This operation is applicable only to one-click login or registration scenarios. You can call this operation only after the end user confirms the authorization on the authorization page that is provided by the one-click login SDK. Do not simulate or bypass the authorization in any way. Otherwise, Alibaba Cloud reserves the right to suspend the service and pursue legal action.'."\n" + ."\n" + .'### Limits'."\n" + ."\n" + .'The per-user limit for this operation is 5,000 queries per second (QPS). If you exceed this limit, rate limiting is triggered, which may affect your business.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2023-06-06T02:42:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMobile'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:GetMobile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GetMobileResultDTO\\": {\\n \\"Mobile\\": \\"139****1234\\"\\n }\\n}","type":"json"}]', + ], + 'GetPhoneWithToken' => [ + 'summary' => 'Obtains a phone number for one-click logon. This operation is exclusive to HTML5 pages.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid'], + 'parameters' => [ + [ + 'name' => 'SpToken', + 'in' => 'query', + 'schema' => ['description' => 'The token for phone number verification that is obtained by the JavaScript SDK. The validity period of the token is 10 minutes for China Telecom, 30 minutes for China Unicom, and 2 minutes for China Mobile. The token can be used only once.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Dfafdafad542****', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID, which is used to troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'."\n", - ], - 'Model' => [ - 'description' => 'The returned data.'."\n", + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* If OK is returned, the request is successful.'."\n" + .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '0F335F48-****-****-****-CA7914FE5D77', 'title' => ''], + 'Data' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'PhoneNumber' => [ - 'description' => 'The phone number, which is returned when the verification is successful.'."\n", - 'type' => 'string', - 'example' => '180********', - 'title' => '', - ], - 'VerifyResult' => [ - 'description' => 'The verification result. Valid values: PASS and UNKNOWN.'."\n", - 'type' => 'string', - 'example' => 'PASS', - 'title' => '', - ], - 'PhoneScore' => [ - 'description' => 'The phone number score, which is generated only after the phone number scoring node is enabled and the verification is successful. The higher the score, the more risky the phone number. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - 'title' => '', - ], + 'Mobile' => ['description' => 'The phone number.'."\n", 'type' => 'string', 'example' => '13900001234', 'title' => ''], ], - ], - 'Code' => [ - 'description' => 'The response code. If OK is returned, the request is successful. Other values indicate that the request failed. For more information, see Error codes.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values: true false'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SchemeNumberOverLimit', - 'errorMessage' => 'The maximum number of scheme is exceeded.', - ], - [ - 'errorCode' => 'SmsCodeVerifyFail', - 'errorMessage' => 'The specified smsCode is invalid.', - ], - [ - 'errorCode' => 'SmsSignNameNotExist', - 'errorMessage' => 'The specified sms signName is invalid.', - ], - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'UnknowError', - 'errorMessage' => 'The requested service is not available now, please try again later.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'VerifySchemeNotExist', - 'errorMessage' => 'The specified verify scheme already exists.', - ], - [ - 'errorCode' => 'PackageSignedConflict', - 'errorMessage' => 'The specified package signed already exists.', - ], - [ - 'errorCode' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'SceneQueryFail', - 'errorMessage' => 'The specified scene does not exist.', - ], - [ - 'errorCode' => 'SchemeNotPassed', - 'errorMessage' => 'The scheme is not passed.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'Failed to verify your access permissions.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"0F335F48-****-****-****-CA7914FE5D77\\",\\n \\"Data\\": {\\n \\"Mobile\\": \\"13900001234\\"\\n }\\n}","type":"json"}]', + 'title' => 'GetPhoneWithToken', + 'description' => '### [](#)Preparations'."\n" + ."\n" + .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Getting Started](~~84541~~).'."\n" + ."\n" + .'> This operation is applicable only to one-click logon or registration in HTML5 pages. You can call this operation only after you confirm the authorization on the authorization page provided by the JavaScript SDK. You are prohibited from simulating or bypassing the authorization process. Alibaba Cloud reserves the right to terminate our services and take legal actions against such violations.'."\n" + ."\n" + .'### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPhoneWithToken'], ], - 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'OutOfService', - 'errorMessage' => 'The account is suspended.', + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetPhoneWithToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"示例值\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\\\n\\",\\n \\"Model\\": {\\n \\"PhoneNumber\\": \\"180****1234\\",\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"PhoneScore\\": 20\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'VerifyWithFusionAuthToken', ], 'GetSmsAuthTokens' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1582,98 +1309,48 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '92630', - 'abilityTreeNodes' => [ - 'FEATUREdypnsZ7LLRH', - ], + 'abilityTreeNodes' => ['FEATUREdypnsZ7LLRH'], ], 'parameters' => [ [ 'name' => 'PackageName', 'in' => 'query', - 'schema' => [ - 'description' => 'The package name. This parameter is required if OsType is set to **Android**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliqin.mytel.test', - ], + 'schema' => ['description' => 'Package name. Required when OsType is **Android**.', 'type' => 'string', 'required' => false, 'example' => 'com.aliqin.mytel.test', 'title' => ''], ], [ 'name' => 'SignName', 'in' => 'query', - 'schema' => [ - 'description' => 'The signature. This parameter is required if OsType is set to **Android**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '47fcc6615485e83b4100433****', - ], + 'schema' => ['description' => 'Signature. Required when OsType is **Android**.', 'type' => 'string', 'required' => false, 'example' => '47fcc6615485e83b4100433****', 'title' => ''], ], [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC100000134840112', - ], + 'schema' => ['description' => 'Authentication flow ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC100000134840112', 'title' => ''], ], [ 'name' => 'OsType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the operating system. Valid values: **Android** and **iOS**.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Android', - ], + 'schema' => ['description' => 'Operating system type. Valid values: **Android** or **iOS**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Android', 'title' => ''], ], [ 'name' => 'BundleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the iOS application. This parameter is required if OsType is set to **iOS**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12345****', - ], + 'schema' => ['description' => 'iOS bundle ID. Required when OsType is **iOS**.', 'type' => 'string', 'required' => false, 'example' => '12345****', 'title' => ''], ], [ 'name' => 'Expire', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the token. Unit: seconds. Valid values: 900 to 43200.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'maximum' => '43200', - 'minimum' => '900', - 'example' => '900', - ], + 'schema' => ['description' => 'Token time-to-live (TTL), in seconds. Minimum value: 900. Maximum value: 43200.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '43200', 'minimum' => '900', 'example' => '900', 'title' => ''], ], [ 'name' => 'SmsTemplateCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The code of the text message template.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'SMS_13987****', - ], + 'schema' => ['description' => 'SMS template code.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS_13987****', 'title' => ''], ], [ 'name' => 'SmsCodeExpire', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the SMS verification code. Unit: seconds. Default value: 180.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'SMS verification code TTL, in seconds. Default value: 180.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], ], 'responses' => [ @@ -1681,140 +1358,115 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], + 'Code' => ['description' => 'Request status code.'."\n" + ."\n" + .'- OK indicates a successful request.'."\n" + ."\n" + .'- For other error codes, see [Server-side API return codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'Description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'Struct.', 'type' => 'object', 'properties' => [ - 'BizToken' => [ - 'description' => 'The business token.'."\n", - 'type' => 'string', - 'example' => 'FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****', - ], - 'StsAccessKeySecret' => [ - 'description' => 'The AccessKey secret.'."\n", - 'type' => 'string', - 'example' => 'VboZ4xbZ****', - ], - 'StsAccessKeyId' => [ - 'description' => 'The AccessKey ID.'."\n", - 'type' => 'string', - 'example' => 'STS.NSqC****', - ], - 'ExpireTime' => [ - 'description' => 'The time when the token expired. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1631526326000', - ], - 'StsToken' => [ - 'description' => 'The security token.'."\n", - 'type' => 'string', - 'example' => 'CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****', - ], + 'BizToken' => ['description' => 'Business token.', 'type' => 'string', 'example' => 'FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****', 'title' => ''], + 'StsAccessKeySecret' => ['description' => 'AccessKey secret.', 'type' => 'string', 'example' => 'VboZ4xbZ****', 'title' => ''], + 'StsAccessKeyId' => ['description' => 'AccessKey ID.', 'type' => 'string', 'example' => 'STS.NSqC****', 'title' => ''], + 'ExpireTime' => ['description' => 'Expiration time, expressed as a UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1631526326000', 'title' => ''], + 'StsToken' => ['description' => 'Security token.', 'type' => 'string', 'example' => 'CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SmsSignNameNotExist', - 'errorMessage' => 'The specified sms signName is invalid.', - ], + ['errorCode' => 'SmsSignNameNotExist', 'errorMessage' => 'The specified sms signName is invalid.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"BizToken\\": \\"FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****\\",\\n \\"StsAccessKeySecret\\": \\"VboZ4xbZ****\\",\\n \\"StsAccessKeyId\\": \\"STS.NSqC****\\",\\n \\"ExpireTime\\": 1631526326000,\\n \\"StsToken\\": \\"CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSmsAuthTokensResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <BizToken>FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****</BizToken>\\n <StsAccessKeySecret>VboZ4xbZ****</StsAccessKeySecret>\\n <StsAccessKeyId>STS.NSqC****</StsAccessKeyId>\\n <ExpireTime>1631526326000</ExpireTime>\\n <StsToken>CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****</StsToken>\\n </Data>\\n</GetSmsAuthTokensResponse>","errorExample":""}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetSmsAuthTokens', - 'summary' => 'Obtains the authorization token for an SMS verification code.', - 'description' => '### [](#)Preparations'."\n" + 'summary' => 'This operation is offline.', + 'description' => '### Preparations'."\n" ."\n" - .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Use the SMS verification feature](~~313209~~).'."\n" + .'Before you use this operation, register an Alibaba Cloud account, obtain an AccessKey pair, and create an authentication flow. For more information, see [SMS authentication workflow](~~313209~~).'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'### QPS limit'."\n" ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'The per-user QPS limit for this operation is 5000 calls per second. Exceeding this limit triggers rate limiting, which may affect your business. Call this operation only as needed.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'VerifySmsCode' => [ - 'summary' => 'Verifies SMS verification codes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSmsAuthTokens'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetSmsAuthTokens', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"BizToken\\": \\"FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****\\",\\n \\"StsAccessKeySecret\\": \\"VboZ4xbZ****\\",\\n \\"StsAccessKeyId\\": \\"STS.NSqC****\\",\\n \\"ExpireTime\\": 1631526326000,\\n \\"StsToken\\": \\"CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****\\"\\n }\\n}","type":"json"}]', + ], + 'QueryGateVerifyBillingPublic' => [ + 'summary' => 'You can call this API to query monthly billing details for a specific authentication method.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'SmsCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The SMS verification code.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '12****', - ], - ], - [ - 'name' => 'PhoneNumber', + 'name' => 'Month', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number, which is used to receive SMS verification codes.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1321111****', - ], + 'schema' => ['description' => 'The monthly bill. Format is YYYYMM, such as 202111.', 'type' => 'string', 'required' => true, 'example' => '202111', 'title' => ''], ], [ - 'name' => 'SmsToken', + 'name' => 'AuthenticationType', 'in' => 'query', - 'schema' => [ - 'description' => 'The text message verification code. After you successfully call the corresponding API operation to send the SMS verification code, the end users receive the SMS verification code. SmsToken is returned by the SDK for SMS verification for you to verify the text message verification code. For an Android client, sendVerifyCode is called to send the verification code. For an iOS client, sendVerifyCodeWithTimeout is called to send the verification code. For more information, see [Overview](~~400434~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'sddsbvdbvjd****', - ], + 'schema' => ['description' => 'The authentication method. Values:'."\n" + ."\n" + .'- **0**: Native number verification.'."\n" + ."\n" + .'- **1**: One-click logon.'."\n" + ."\n" + .'- **2**: All.'."\n" + ."\n" + .'- **3**: Liveness verification.'."\n" + ."\n" + .'- **4**: Text message verification.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '99', 'minimum' => '0', 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -1822,73 +1474,82 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], + 'Code' => ['description' => 'The status code. Values:'."\n" + ."\n" + .'- OK indicates a successful request.'."\n" + ."\n" + .'- For other error codes, see [Server-side API Return Codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'successful', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], 'Data' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', + 'description' => 'The billing quantity and amount for each plan.', + 'type' => 'object', + 'properties' => [ + 'AmountSum' => ['description' => 'The consumption amount for the plan (unit: CNY).', 'type' => 'string', 'example' => '1234', 'title' => ''], + 'SceneBillingList' => [ + 'description' => 'The consumption amount list.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Add' => ['description' => 'The billing quantity.', 'type' => 'string', 'example' => '74', 'title' => ''], + 'SinglePrice' => ['description' => 'The unit price (unit: CNY).', 'type' => 'string', 'example' => '0.02', 'title' => ''], + 'Amount' => ['description' => 'The consumption amount for the plan (unit: CNY).', 'type' => 'string', 'example' => '1.48', 'title' => ''], + 'ItemName' => ['description' => 'The authentication method.', 'type' => 'string', 'example' => '本机号码校验', 'title' => ''], + 'SceneCode' => ['description' => 'The plan code.', 'type' => 'string', 'example' => 'FC100000038194004', 'title' => ''], + 'AppName' => ['description' => 'The App name.', 'type' => 'string', 'example' => '阿里云', 'title' => ''], + 'SceneName' => ['description' => 'The plan name.', 'type' => 'string', 'example' => '阿里云通信', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'SmsCodeVerifyFail', - 'errorMessage' => 'The specified smsCode is invalid.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'QueryGateVerifyBillingPublic', + 'description' => '### QPS Limits'."\n" + ."\n" + .'The queries per second (QPS) limit for a single user is 500. Exceeding this limit triggers rate limiting, which may affect your business.', + 'changeSet' => [ + ['createdAt' => '2022-01-13T03:21:47.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-01-07T03:34:23.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGateVerifyBillingPublic'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:QueryGateVerifyBillingPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"8906582E-6722\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifySmsCodeResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <Data>true</Data>\\n <RequestId>8906582E-6722</RequestId>\\n</VerifySmsCodeResponse>","errorExample":""}]', - 'title' => 'VerifySmsCode', - 'description' => '### [](#)Preparations'."\n" - ."\n" - .'You must register an Alibaba Cloud account, obtain an Alibaba Cloud AccessKey pair, and create a verification service. For more information, see [Use the SMS verification feature](~~313209~~).'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AmountSum\\": \\"1234\\",\\n \\"SceneBillingList\\": [\\n {\\n \\"Add\\": \\"74\\",\\n \\"SinglePrice\\": \\"0.02\\",\\n \\"Amount\\": \\"1.48\\",\\n \\"ItemName\\": \\"本机号码校验\\",\\n \\"SceneCode\\": \\"FC100000038194004\\",\\n \\"AppName\\": \\"阿里云\\",\\n \\"SceneName\\": \\"阿里云通信\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'GetAuthorizationUrl' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'QueryGateVerifyStatisticPublic' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1899,42 +1560,47 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdypnsSZ1J9W'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'PhoneNo', + 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => 'The service code.', 'type' => 'string', 'required' => false, 'example' => 'FC100000038194004', 'title' => ''], ], [ - 'name' => 'SchemeId', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the authorization scenario. You can view the ID of the authorization scenario on the **Authorization Scenario Management** page in the **Phone Number Verification Service console**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '234****', - ], + 'schema' => ['description' => 'The start date. Specify this parameter in the YYYYMMDD format. Example: 20220101.', 'type' => 'string', 'required' => true, 'example' => '20220101', 'title' => ''], ], [ 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => 'The authorization end date, which is in the yyyy-MM-dd format. This parameter is required for services of contract type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020–12–28', - ], + 'schema' => ['description' => 'The end date. Specify this parameter in the YYYYMMDD format. Example: 20220106.', 'type' => 'string', 'required' => true, 'example' => '20220106', 'title' => ''], + ], + [ + 'name' => 'AuthenticationType', + 'in' => 'query', + 'schema' => ['description' => 'The verification method. Valid values:'."\n" + ."\n" + .'- **1**: one-click logon'."\n" + ."\n" + .'- **2**: phone number verification, including the verification of the phone number used in HTML5 pages'."\n" + ."\n" + .'- **3**: SMS verification'."\n" + ."\n" + .'- **4**: facial recognition', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '99', 'minimum' => '0', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'OsType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the operating system. Valid values:'."\n" + ."\n" + .'- **Android**'."\n" + ."\n" + .'- **iOS**', 'type' => 'string', 'required' => false, 'example' => 'Android', 'title' => ''], ], ], 'responses' => [ @@ -1942,241 +1608,119 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], + 'Code' => ['description' => 'The response code. Valid values:'."\n" + ."\n" + .'- If OK is returned, the request is successful.'."\n" + ."\n" + .'- For more information about other error codes, see [API response codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], 'Data' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The information about the calls of Phone Number Verification Service, including the total calls, the successful calls, failed calls, unknown calls, and daily calls within the statistical date range.', 'type' => 'object', 'properties' => [ - 'AuthorizationUrl' => [ - 'description' => 'The authorization URL.'."\n", - 'type' => 'string', - 'example' => 'https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod', + 'TotalFail' => ['description' => 'The failed calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Total' => ['description' => 'The total calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'TotalSuccess' => ['description' => 'The successful calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'TotalUnknown' => ['description' => 'The unknown calls.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'DayStatistic' => [ + 'description' => 'The information about the daily calls.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'StatisticDateStr' => ['description' => 'The date. This field is accurate to the day. The value of this field is in the YYYYMMDD format. Example: 20220103.', 'type' => 'string', 'example' => '20220103', 'title' => ''], + 'TotalSuccess' => ['description' => 'The successful calls on the day.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'TotalFail' => ['description' => 'The failed calls on the day.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'TotalUnknown' => ['description' => 'The unknown calls on the day.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The specified parameter is not valid.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'You must specify the parameter.', - ], - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'MobileNumberIllgeal', - 'errorMessage' => 'The specified mobile phone number is invalid.', - ], - [ - 'errorCode' => 'DataNotFound', - 'errorMessage' => 'The specified scheme does not exist.', - ], - [ - 'errorCode' => 'IllegalParameter', - 'errorMessage' => 'The specified endDate is invalid.', - ], - [ - 'errorCode' => 'SchemeNotPassed', - 'errorMessage' => 'The scheme is not passed.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Forbidden', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'Failed to verify your access permissions.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'QueryGateVerifyStatisticPublic', + 'summary' => 'Queries the calls of Phone Number Verification Service.', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.', + 'changeSet' => [ + ['createdAt' => '2022-01-13T03:21:47.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-01-07T03:34:23.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGateVerifyStatisticPublic'], ], - 500 => [ - [ - 'errorCode' => 'IdentityCertifyNotExist', - 'errorMessage' => 'The identity verification record does not exist.', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'OutOfService', - 'errorMessage' => 'The account is suspended.', - ], - [ - 'errorCode' => 'FunctionNotSubscribed', - 'errorMessage' => 'You have not subscribed to the function.', + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:QueryGateVerifyStatisticPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AuthorizationUrl\\": \\"https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAuthorizationUrlResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <AuthorizationUrl>https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod</AuthorizationUrl>\\n </Data>\\n</GetAuthorizationUrlResponse>","errorExample":""}]', - 'title' => 'GetAuthorizationUrl', - 'summary' => 'Obtains the URL for the Alipay account authorization.', - 'description' => '### [](#)Preparations'."\n" - ."\n" - .'You must register an Alibaba Cloud account and obtain an Alibaba Cloud AccessKey pair. For more information, see [Process of communication authorization](~~196922~~).'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"TotalFail\\": 20,\\n \\"Total\\": 20,\\n \\"TotalSuccess\\": 0,\\n \\"TotalUnknown\\": 0,\\n \\"DayStatistic\\": [\\n {\\n \\"StatisticDateStr\\": \\"20220103\\",\\n \\"TotalSuccess\\": 0,\\n \\"TotalFail\\": 20,\\n \\"TotalUnknown\\": 0\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'CreateSchemeConfig' => [ - 'summary' => 'Creates a code for a converged communication authentication service.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'QuerySendDetails' => [ + 'summary' => 'Queries the delivery status of the SMS verification code. You can query only the delivery status of the SMS verification code that is sent by calling corresponding API operations.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '193622', - 'abilityTreeNodes' => [ - 'FEATUREdypnsF4260C', - ], - ], + 'deprecated' => true, + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'SchemeName', - 'in' => 'query', - 'schema' => [ - 'title' => '方案名称,由中、英文字母构成,长度限制为10个字符。'."\n", - 'description' => 'The service name, which can be up to 10 characters in length and can contain letters.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Aliyun', - ], - ], - [ - 'name' => 'Platform', - 'in' => 'query', - 'schema' => [ - 'title' => '方案应用平台', - 'description' => 'The app platform.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Android'."\n" - .'* iOS'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Android', - 'enum' => [ - 'Android', - 'iOS', - ], - ], - ], - [ - 'name' => 'AppName', - 'in' => 'query', - 'schema' => [ - 'title' => '应用方案的App名称,由中、英文字母构成,长度限制20个字符。', - 'description' => 'The app name, which can be up to 20 characters in length and can contain letters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Alibaba Cloud Communications', - ], - ], - [ - 'name' => 'AndroidPackageName', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'title' => '包名,Platform为Android时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'description' => 'The package name. This parameter is required when Platform is set to Android. The name must be 1 to 128 characters in length and can contain digits, letters, hyphens (-), underscores (\\_), and periods (.).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliyun.android', - ], + 'schema' => ['description' => 'The phone number.'."\n", 'type' => 'string', 'required' => true, 'example' => '186****9399', 'title' => ''], ], [ - 'name' => 'AndroidPackageSign', + 'name' => 'SendDate', 'in' => 'query', - 'schema' => [ - 'title' => '包签名,Platform为Android时必选。由数字和字母组成,长度为32个字符。', - 'description' => 'The package signature. This parameter is required when Platform is set to Android. The signature must be 32 characters in length and can contain digits and letters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dfsfaawklll1****olkweklk***', - ], + 'schema' => ['description' => 'The date when the text message was sent. You can query text messages that were sent within the last 30 days.'."\n" + ."\n" + .'Specify the date in the yyyyMMdd format. Example: 20181225.'."\n", 'type' => 'string', 'required' => true, 'example' => '20181225', 'title' => ''], ], [ - 'name' => 'IosBundleId', + 'name' => 'BizId', 'in' => 'query', - 'schema' => [ - 'title' => 'BundleID,osType为iOS时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'description' => 'The bundle ID. This parameter is required when OsType is set to iOS. The bundle ID must be 1 to 128 characters in length and can contain digits, letters, hyphens (-), underscores (\\_), and periods (.).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliyun.ios', - ], + 'schema' => ['description' => 'The unique ID of the business, which is provided by Alibaba Cloud.'."\n", 'type' => 'string', 'required' => false, 'example' => '1231891289318923^12', 'title' => ''], ], [ - 'name' => 'H5Url', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '保留字段,暂不支持H5方案', - 'description' => 'The reserved field. HTML5 apps are not supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '50', 'default' => '', 'title' => ''], ], [ - 'name' => 'H5Origin', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'title' => '保留字段,暂不支持H5方案。', - 'description' => 'The reserved field. HTML5 apps are not supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'The number of the page on which you are reading the text message. Pages start from page 1. The value of this parameter cannot exceed the maximum page number.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'default' => '', 'title' => ''], ], ], 'responses' => [ @@ -2184,270 +1728,228 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B95B36EC-8108-4479-D3AA-2BB27F9B155A'."\n", - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.'."\n", 'type' => 'string', 'example' => 'none', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries in the list.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '42', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], 'Model' => [ - 'description' => 'The returned results.'."\n", - 'type' => 'object', - 'properties' => [ - 'SchemeCode' => [ - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'example' => 'FA100000168468035', + 'description' => 'The returned data.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TemplateCode' => ['description' => 'The code of the text message template.'."\n" + ."\n" + .'Log on to the SMS console. In the left-side navigation pane, click **Go China** or **Go Globe**. You can view the text message template code in the **Template Code** column on the **Message Templates** tab.'."\n" + ."\n" + .'> The text message templates must be created on the Go Globe page and approved.'."\n", 'type' => 'string', 'example' => 'SMS_12231****'."\n", 'title' => ''], + 'ReceiveDate' => ['description' => 'The date and time when the text message was received.'."\n", 'type' => 'string', 'example' => '2019-01-08 16:44:13'."\n", 'title' => ''], + 'PhoneNum' => ['description' => 'The phone number.'."\n", 'type' => 'string', 'example' => '1390000****'."\n", 'title' => ''], + 'Content' => ['description' => 'The content of the text message.'."\n", 'type' => 'string', 'example' => '203160', 'title' => ''], + 'SendStatus' => [ + 'description' => 'The delivery status of the text message.'."\n" + ."\n" + .'* 1: A delivery receipt is to be sent.'."\n" + .'* 2: The text message failed to be sent.'."\n" + .'* 3: The text message was sent.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'enumValueTitles' => [], + 'example' => '3', + 'title' => '', + ], + 'OutId' => ['description' => 'The extension field.'."\n", 'type' => 'string', 'example' => '12131231', 'title' => ''], + 'SendDate' => ['description' => 'The date when the text message was sent. You can query text messages that were sent within the last 30 days.'."\n" + ."\n" + .'The date is in the yyyyMMdd format. Example: 20181225.'."\n", 'type' => 'string', 'example' => '2019-01-08 16:44:13'."\n", 'title' => ''], + 'ErrCode' => ['description' => 'The status code returned by the carrier.'."\n" + ."\n" + .'* If the text message was delivered, "DELIVERED" is returned.'."\n" + .'* If the text message failed to be sent, see [Error codes](https://help.aliyun.com/document_detail/101347.html?spm=a2c4g.419277.0.i8) for more information.'."\n", 'type' => 'string', 'example' => 'DELIVERED', 'title' => ''], ], + 'title' => '', ], - ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11186623.0.0.5c3a662fbgeAuk).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], + 'example' => '', + 'title' => '', + ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'If OK is returned, the request is successful. Other values indicate that the request failed. For more information, see [Error codes](https://help.aliyun.com/document_detail/101346.html?spm=a2c4g.419277.0.i11).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['noSubstitutionReason' => '暂无替代API,请关注后续API最新发布。'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"none\\",\\n \\"TotalCount\\": 42,\\n \\"Message\\": \\"Success\\",\\n \\"Model\\": [\\n {\\n \\"TemplateCode\\": \\"SMS_12231****\\\\n\\",\\n \\"ReceiveDate\\": \\"2019-01-08 16:44:13\\\\n\\",\\n \\"PhoneNum\\": \\"1390000****\\\\n\\",\\n \\"Content\\": \\"203160\\",\\n \\"SendStatus\\": 3,\\n \\"OutId\\": \\"12131231\\",\\n \\"SendDate\\": \\"2019-01-08 16:44:13\\\\n\\",\\n \\"ErrCode\\": \\"DELIVERED\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'QuerySendDetails', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dypns:QuerySendDetails', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B95B36EC-8108-4479-D3AA-2BB27F9B155A\\\\n\\",\\n \\"Message\\": \\"成功\\",\\n \\"Model\\": {\\n \\"SchemeCode\\": \\"FA100000168468035\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]', - 'title' => 'CreateSchemeConfig', ], - 'CreateVerifyScheme' => [ - 'summary' => 'Creates a verification service.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SendSmsVerifyCode' => [ + 'summary' => 'Sends an SMS verification code.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92619', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '192247', + 'abilityTreeNodes' => ['FEATUREdypnsZ7LLRH'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => 'The service name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Aliyun', - ], - ], - [ - 'name' => 'AppName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The app name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Alibaba Cloud Communications', - ], + 'schema' => ['description' => 'The scheme name. If this parameter is not specified, the value defaults to "Default Scheme". The value can be up to 20 characters in length.', 'type' => 'string', 'required' => false, 'example' => '测试方案', 'default' => '默认方案', 'title' => ''], ], [ - 'name' => 'OsType', + 'name' => 'CountryCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the operating system for the terminal. Valid values: iOS and Android.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'iOS', - ], + 'schema' => ['description' => 'The country code of the phone number. Default value: 86. Currently, only phone numbers in the Chinese mainland are supported.', 'type' => 'string', 'required' => false, 'example' => '86', 'default' => '86', 'title' => ''], ], [ - 'name' => 'PackName', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The package name. This parameter is required when OsType is set to Android. The name must be 1 to 128 characters in length and can contain digits, letters, hyphens (-), underscores (\\_), and periods (.).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliyun', - ], + 'schema' => ['description' => 'The phone number of the SMS recipient.', 'type' => 'string', 'required' => true, 'example' => '130****0000', 'title' => ''], ], [ - 'name' => 'PackSign', + 'name' => 'SignName', 'in' => 'query', - 'schema' => [ - 'description' => 'The package signature. This parameter is required when OsType is set to Android. The signature must be 32 characters in length and can contain digits and letters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123aliyun', - ], + 'schema' => ['description' => 'The signature name. Custom signatures are not supported. Use the system-provided signature. You can select the signature to use on the [Complimentary Signature Configuration](https://dypns.console.aliyun.com/smsCertParamsConfig/sign) page.', 'type' => 'string', 'required' => true, 'example' => '恒创联众', 'title' => ''], ], [ - 'name' => 'BundleId', + 'name' => 'TemplateCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The bundle ID. This parameter is required when OsType is set to iOS. The bundle ID must be 1 to 128 characters in length and can contain digits, letters, hyphens (-), underscores (\\_), and periods (.).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.aliyundoc.com', - ], + 'schema' => ['description' => 'The SMS template code. When the SignName parameter is set to a system-provided signature, a system-provided template must be used. You can select a template that fits your business scenario on the [Complimentary Template Configuration](https://dypns.console.aliyun.com/smsCertParamsConfig/template) page.', 'type' => 'string', 'required' => true, 'example' => '100001', 'title' => ''], ], [ - 'name' => 'Origin', + 'name' => 'TemplateParam', 'in' => 'query', - 'schema' => [ - 'description' => 'The source URL of the HTML5 app page. We recommend that you specify this parameter as a domain name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://h5.minexiot.com', - ], + 'schema' => ['description' => 'The SMS template parameters. You can pass the verification code in two ways:'."\n" + ."\n" + .'- Use "##code##" as a placeholder, and specify the CodeType parameter to define the verification code generation rule.'."\n" + .'- Pass a specific verification code value directly, which is sent to the recipient as-is.'."\n" + ."\n" + .'Example: If the template content is "Your verification code is ${code}, valid for ${min} minutes. Do not share it with anyone."'."\n" + .'<notice>Replace "code" in the example above with the actual parameter name in your verification code template.</notice>'."\n" + .'- You can pass `{"code":"##code##","min":"5"}` to let the system generate a verification code based on the specified rule.'."\n" + ."\n" + .'- Or pass a specific verification code value directly: `{"code":"123456","min":"5"}`.'."\n" + ."\n" + .'> - {"code":"##code##","min":"5"}: The verification code is dynamically generated by the API, and the Alibaba Cloud API can perform verification.'."\n" + .'> - {"code":"123456","min":"5"}: The verification code is user-specified and not dynamically generated by the API. The Alibaba Cloud API cannot perform verification.'."\n" + ."\n" + .'> - If the JSON string contains line breaks, handle them in accordance with the standard JSON protocol.'."\n" + .'> - For template variable specifications, see [SMS template specifications](~~108253~~).', 'type' => 'string', 'required' => true, 'example' => '{"code":"##code##","min":"5"}', 'title' => ''], ], [ - 'name' => 'Url', + 'name' => 'SmsUpExtendCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the HTML5 app page.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https://h5.minexiot.com/index.html', - ], + 'schema' => ['description' => 'The uplink SMS extension code. Uplink SMS messages are messages sent to a telecommunications service provider to subscribe to a service, complete a query, or handle a transaction. Uplink SMS messages are charged at the standard SMS rate of the carrier.'."\n" + ."\n" + .'> The extension code is automatically generated by the system when the signature is created and cannot be manually specified. Ignore this parameter unless you have specific requirements. To use this parameter, contact your account manager.', 'type' => 'string', 'required' => false, 'example' => '1213123', 'title' => ''], ], [ - 'name' => 'IpWhiteList', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address whitelist.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139.9.167.181'."\n" - .'122.112.210.205'."\n" - .'139.9.172.0/24', - ], + 'schema' => ['description' => 'The external serial number.', 'type' => 'string', 'required' => false, 'example' => '外部流水号(透传)', 'title' => ''], ], [ - 'name' => 'CmApiCode', + 'name' => 'CodeLength', 'in' => 'query', - 'schema' => [ - 'description' => 'The channel code of China Mobile.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The length of the verification code. Valid values: 4 to 8. Default value: 4.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4', 'default' => '4', 'title' => ''], ], [ - 'name' => 'CuApiCode', + 'name' => 'ValidTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The channel code of China Unicom.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The validity period of the verification code. Unit: seconds. Default value: 300.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '300', 'default' => '300', 'title' => ''], ], [ - 'name' => 'CtApiCode', + 'name' => 'DuplicatePolicy', 'in' => 'query', 'schema' => [ - 'description' => 'The channel code of China Telecom.'."\n", + 'description' => 'The verification rule that specifies how to handle old verification codes when a new verification code is sent to the same phone number within the same scenario during the validity period. Valid values:'."\n" + ."\n" + .'- 1: Override (default). The old verification code is invalidated.'."\n" + ."\n" + .'- 2: Retain. Multiple verification codes are valid and can pass verification within the validity period.', + 'enumValueTitles' => [1 => 'override.', 'retain.'], 'type' => 'integer', 'format' => 'int64', 'required' => false, - 'example' => '3', - ], - ], - [ - 'name' => 'SceneType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The service type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - ], - [ - 'name' => 'Email', - 'in' => 'query', - 'schema' => [ - 'description' => 'The email address that receives the key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'username@aliyundoc.com', + 'example' => '1', + 'default' => '1', + 'title' => '', ], ], [ - 'name' => 'AuthType', + 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification type. You can select multiple types only when the phone number verification is supported. Separate multiple types with commas (,).'."\n" - ."\n" - .'* **1**: phone number verification'."\n" - .'* **2**: SMS verification'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1,2', - ], + 'schema' => ['description' => 'The minimum interval between two consecutive verification code deliveries. Unit: seconds. This parameter is used for frequency control. Default value: 60.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'default' => '60', 'title' => ''], ], [ - 'name' => 'SmsSignName', + 'name' => 'CodeType', 'in' => 'query', 'schema' => [ - 'description' => 'The bound SMS signature. This parameter is valid only when AuthType is set to 2. The signature must be approved.'."\n", - 'type' => 'string', + 'description' => 'The type of the verification code to generate. This parameter is required when the TemplateParam parameter contains a placeholder. The system generates a verification code based on the specified rule. Valid values:'."\n" + .'- 1: digits only (default).'."\n" + .'- 2: uppercase letters only.'."\n" + .'- 3: lowercase letters only.'."\n" + .'- 4: mixed uppercase and lowercase letters.'."\n" + .'- 5: digits and uppercase letters.'."\n" + .'- 6: digits and lowercase letters.'."\n" + .'- 7: digits, uppercase letters, and lowercase letters.', + 'enumValueTitles' => [1 => 'digits only.', 'uppercase letters only.', 'lowercase letters only.', 'mixed uppercase and lowercase letters.', 'digits and uppercase letters.', 'digits and lowercase letters.', 'digits, uppercase letters, and lowercase letters.'], + 'type' => 'integer', + 'format' => 'int64', 'required' => false, - 'example' => 'Aliyun Test', - ], - ], - [ - 'name' => 'HmPackageName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + 'example' => '1', + 'default' => '1', + 'title' => '', ], ], [ - 'name' => 'HmSignName', + 'name' => 'ReturnVerifyCode', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to return the verification code. Valid values:'."\n" + .'- **true**: Returns the verification code.'."\n" + .'- **false**: Does not return the verification code.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false', 'title' => ''], ], [ - 'name' => 'HmAppIdentifier', + 'name' => 'AutoRetry', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'Specifies whether to automatically retry with an alternative signature. This feature is enabled by default. Valid values:'."\n" + ."\n" + .'- 1: Enables automatic retry. When enabled, if the carrier returns an explicit failure status within the verification code validity period, Alibaba Cloud attempts to resend the verification code through alternative methods to improve the delivery success rate. Alternative methods include but are not limited to retrying through a different carrier or using a different signature.'."\n" + ."\n" + .'- 0: Disables automatic retry.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '是否自动重试', 'default' => '1', 'title' => ''], ], ], 'responses' => [ @@ -2455,107 +1957,74 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A1E75E69-3049-5FDB-A376-D745837CD2B1', - ], - 'GateVerifySchemeDTO' => [ - 'description' => 'The response parameters.'."\n", + 'AccessDeniedDetail' => ['description' => 'The access denied details.', 'type' => 'string', 'example' => '无', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => '成功 ', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', 'title' => ''], + 'Model' => [ + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'SchemeCode' => [ - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'example' => 'FC10001287****', - ], + 'VerifyCode' => ['description' => 'The verification code.', 'type' => 'string', 'example' => '4232', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'a3671ccf-0102-4c8e-8797-a3678e091d09', 'title' => ''], + 'OutId' => ['description' => 'The external serial number.', 'type' => 'string', 'example' => '1231231313', 'title' => ''], + 'BizId' => ['description' => 'The business ID.', 'type' => 'string', 'example' => '112231421412414124123^4', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '200', - ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The request status code. OK indicates a successful request. For other error codes, see [Return codes](https://www.alibabacloud.com/help/en/pnvs/developer-reference/api-return-code).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- **true**: The request is successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SchemeNumberOverLimit', - 'errorMessage' => 'The maximum number of scheme is exceeded.', - ], - [ - 'errorCode' => 'BundleIdConflict', - 'errorMessage' => 'The specified bundleId already exists.', - ], - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The specified parameter is not valid.', - ], - [ - 'errorCode' => 'InvalidAccountStatus', - 'errorMessage' => 'Your account has been suspended.', - ], - [ - 'errorCode' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'PackageSignedConflict', - 'errorMessage' => 'The specified package signed already exists.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], + ['errorCode' => 'MOBILE_NUMBER_ILLEGAL', 'errorMessage' => 'The mobile number is illegal.', 'description' => 'Phone number format error'], + ['errorCode' => 'BUSINESS_LIMIT_CONTROL', 'errorMessage' => 'The number has exceeded the limit for the day.', 'description' => 'Trigger number day flow control'], + ['errorCode' => 'FREQUENCY_FAIL', 'errorMessage' => 'Check frequency fail.', 'description' => 'Frequency control check failed'], + ['errorCode' => 'INVALID_PARAMETERS', 'errorMessage' => 'parameter is not valid.', 'description' => 'Illegal parameter'], + ['errorCode' => 'FUNCTION_NOT_OPENED', 'errorMessage' => 'You have not opened this function.', 'description' => 'Converged authentication function is not activated'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"Message\\": \\"成功 \\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Model\\": {\\n \\"VerifyCode\\": \\"4232\\",\\n \\"RequestId\\": \\"a3671ccf-0102-4c8e-8797-a3678e091d09\\",\\n \\"OutId\\": \\"1231231313\\",\\n \\"BizId\\": \\"112231421412414124123^4\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Send SMS verification code', + 'description' => '- Due to recent tightening of SMS signature regulations by carriers, custom signatures may fail to be delivered. Use the SMS signatures and templates provided free of charge in the Phone Number Verification Service console for SMS verification. System-provided signatures must be used with system-provided templates.'."\n" + .'- Before using this operation, make sure that you fully understand the billing method and [pricing](~~85132~~) of Phone Number Verification Service. SMS verification is charged only for SMS sending (billed based on the carrier receipt status. No fee is charged if the SMS is committed successfully but the carrier returns a failed receipt). The verification service is free of charge.', + 'changeSet' => [ + ['createdAt' => '2026-01-15T07:40:37.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-26T14:45:55.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-26T14:45:51.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-26T14:43:10.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:SendSmsVerifyCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"A1E75E69-3049-5FDB-A376-D745837CD2B1\\",\\n \\"GateVerifySchemeDTO\\": {\\n \\"SchemeCode\\": \\"FC10001287****\\"\\n },\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateVerifySchemeResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E6722</RequestId>\\n <GateVerifySchemeDTO>\\n <SchemeCode>FC10001287****</SchemeCode>\\n </GateVerifySchemeDTO>\\n</CreateVerifySchemeResponse>","errorExample":""}]', - 'title' => 'CreateVerifyScheme', - 'description' => '### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DeleteVerifyScheme' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'VerifyMobile' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2563,32 +2032,35 @@ ], 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', + 'chargeType' => 'paid', + 'abilityTreeCode' => '92639', + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SchemeCode', + 'name' => 'AccessCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC10000014164****', - ], + 'schema' => ['description' => 'Token validity and usage limits:'."\n" + ."\n" + .'- China Telecom: valid for 10 minutes. Use once only.'."\n" + ."\n" + .'- China Unicom: valid for 30 minutes. Use once only.'."\n" + ."\n" + .'- China Mobile: valid for 2 minutes. Use once only.', 'type' => 'string', 'required' => true, 'example' => 'Dfafdafad542****', 'title' => ''], ], [ - 'name' => 'CustomerId', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The user ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '12345678', - ], + 'schema' => ['description' => 'The phone number to verify.', 'type' => 'string', 'required' => true, 'example' => '13800****00', 'title' => ''], + ], + [ + 'name' => 'OutId', + 'in' => 'query', + 'schema' => ['description' => 'The external sequence number.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''], ], ], 'responses' => [ @@ -2596,129 +2068,114 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The request is successful. For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E3754956-D0B1-5947-962A-AE767D354F01', - ], - 'Result' => [ - 'description' => 'The result of the operation. Valid values:'."\n" - ."\n" - .'* **true**: The verification service is deleted.'."\n" - .'* **false**: The verification service failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'Code' => ['description' => 'The status code.'."\n" + ."\n" + .'- OK means the request succeeded.'."\n" + ."\n" + .'- For other error codes, see [Server-side API return codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'A description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], + 'GateVerifyResultDTO' => [ + 'description' => 'The response struct.', + 'type' => 'object', + 'properties' => [ + 'VerifyResult' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- **PASS**: The numbers match.'."\n" + ."\n" + .'- **REJECT**: The numbers do not match.'."\n" + ."\n" + .'- **UNKNOWN**: Unable to determine.', 'type' => 'string', 'example' => 'PASS', 'title' => ''], + 'VerifyId' => ['description' => 'The sequence number.', 'type' => 'string', 'example' => '121343241', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'InvalidAccountStatus', - 'errorMessage' => 'Your account has been suspended.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The specified parameter is not valid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'You are not authorized to perform this operation.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"E3754956-D0B1-5947-962A-AE767D354F01\\",\\n \\"Result\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteVerifySchemeResponse>\\n <Code>OK</Code>\\n <Message>OK</Message>\\n <RequestId>E3754956-D0B1-5947-962A-AE767D354F01</RequestId>\\n <Result>true</Result>\\n</DeleteVerifySchemeResponse>","errorExample":""}]', - 'title' => 'DeleteVerifyScheme', - 'summary' => 'Deletes a verification service.', - 'description' => '### [](#qps)QPS limits'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'VerifyMobile', + 'summary' => 'Call this operation to verify the phone number of the current device. It returns the verification result.', + 'description' => '### Preparations'."\n" ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'- Before you use this operation, review the billing model and [pricing](~~85132~~) for Phone Number Verification Service.'."\n" + ."\n" + .'- Complete Alibaba Cloud account registration, obtain an AccessKey pair, and create a verification plan. For more information, see [Quick Start](~~84541~~).'."\n" + ."\n" + .'> This operation supports only device-based phone number verification. To implement one-click logon, use [GetMobile](~~189865~~).'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The per-user QPS limit for this operation is 5,000 calls per second. Calls that exceed this limit are rate limited, which may affect your business. Make sure to call the operation within the limit.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeVerifyScheme' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```'."\n" + ."\n", + 'changeSet' => [ + ['createdAt' => '2022-11-24T13:53:49.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyMobile'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifyMobile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerifyResultDTO\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"121343241\\"\\n }\\n}","type":"json"}]', + ], + 'VerifyPhoneWithToken' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'SchemeCode', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC10000010643****', - ], + 'schema' => ['description' => 'The phone number to verify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1380000****', 'title' => ''], ], [ - 'name' => 'CustomerId', + 'name' => 'SpToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The user ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1234****', - ], + 'schema' => ['description' => 'The phone number verification token obtained from the JSSDK. The validity period and usage count of the token vary by carrier:'."\n" + ."\n" + .'- China Telecom: 10 minutes, single use.'."\n" + ."\n" + .'- China Unicom: 30 minutes, single use.'."\n" + ."\n" + .'- China Mobile: 2 minutes, single use.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Dfafdafad542****', 'title' => ''], ], ], 'responses' => [ @@ -2726,168 +2183,151 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. OK indicates that the request is successful. For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '0C5380A7-2032-5F7D-9614-1BF8B54D16CB', - ], - 'SchemeQueryResultDTO' => [ - 'description' => 'The response parameters.'."\n", + 'Code' => ['description' => 'The status code.'."\n" + ."\n" + .'- A value of OK indicates that the request is successful.'."\n" + ."\n" + .'- For more information about other error codes, see [Server-side API return codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], + 'GateVerify' => [ + 'description' => 'A structure.', 'type' => 'object', 'properties' => [ - 'AppEncryptInfo' => [ - 'description' => 'The key generated when you create a service in the console.'."\n", - 'type' => 'string', - 'example' => 'ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****', - ], + 'VerifyResult' => ['description' => 'The verification result. Valid values:'."\n" + ."\n" + .'- PASS: The phone number is consistent.'."\n" + ."\n" + .'- REJECT: The phone number is inconsistent.'."\n" + ."\n" + .'- UNKNOWN: The consistency cannot be determined.', 'type' => 'string', 'example' => 'PASS', 'title' => ''], + 'VerifyId' => ['description' => 'The serial number of the verification.', 'type' => 'string', 'example' => '12134****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'InvalidAccountStatus', - 'errorMessage' => 'Your account has been suspended.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'SceneQueryFail', - 'errorMessage' => 'The specified scene does not exist.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'You are not authorized to perform this operation.', - ], + ['errorCode' => 'RamPermissionDeny', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => ''], + ['errorCode' => 'UnknowError', 'errorMessage' => 'The requested service is not available now, please try again later.', 'description' => ''], + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => 'Your account not be opened the product.'], + ['errorCode' => 'MobileNumberIllgeal', 'errorMessage' => 'The specified mobile phone number is invalid.', 'description' => ''], + ['errorCode' => 'InvalidToken', 'errorMessage' => 'The token is invalid.', 'description' => ''], + ['errorCode' => 'VerifySchemeNotExist', 'errorMessage' => 'The specified verify scheme already exists.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'An error occurred while processing your request.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"0C5380A7-2032-5F7D-9614-1BF8B54D16CB\\",\\n \\"SchemeQueryResultDTO\\": {\\n \\"AppEncryptInfo\\": \\"ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>OK</Message>\\n<RequestId>0C5380A7-2032-5F7D-9614-1BF8B54D16CB</RequestId>\\n<Code>OK</Code>\\n<SchemeQueryResultDTO>\\n <AppEncryptInfo>ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****</AppEncryptInfo>\\n</SchemeQueryResultDTO>","errorExample":""}]', - 'title' => 'DescribeVerifyScheme', - 'summary' => 'Queries the details of a verification service.', - 'description' => '### [](#qps)QPS limits'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'VerifyPhoneWithToken', + 'summary' => 'Call this API to verify phone numbers on H5 pages and retrieve the verification result when the operation completes.', + 'description' => '### Preparations'."\n" ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'- Review the billing methods and [pricing](~~85132~~) for the Phone Number Verification Service before you use this API.'."\n" + ."\n" + .'- Create an Alibaba Cloud account, obtain an AccessKey, and configure a verification scheme. For more information, see [H5 Phone Number Verification Process](~~169786~~).'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'This API supports up to 1,000 queries per second (QPS) per user. If you exceed this limit, rate limiting is applied to your API calls, which may impact your business operations. Plan your API usage accordingly.', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'QueryGateVerifyStatisticPublic' => [ - 'summary' => 'Queries the calls of Phone Number Verification Service.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '## 补充说明'."\n" + .'### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```'."\n" + ."\n" + .'### 校验失败返回示例'."\n" + .'JSON格式'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "Code": "OK",'."\n" + .' "Message": "请求成功",'."\n" + .' "RequestId": "6CAB3AC6-B7C3",'."\n" + .' "GateVerify": {'."\n" + .' "VerifyResult": "REJECT",'."\n" + .' "VerifyId": "12134****"'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'### 请求结果异常返回示例'."\n" + .'JSON格式'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "Code": "isv.CARRIER_NOT_MATCH",'."\n" + .' "Message": "验证号码与实际流量号码运营商不一致",'."\n" + .' "RequestId": "6EA6E9F5-37CC"'."\n" + .'}'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyPhoneWithToken'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifyPhoneWithToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerify\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"12134****\\"\\n }\\n}","type":"json"}]', + ], + 'VerifySmsCode' => [ + 'summary' => 'This API operation is unpublished.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'SceneCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FC100000038194004', - ], - ], - [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start date. Specify this parameter in the YYYYMMDD format. Example: 20220101.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '20220101', - ], - ], - [ - 'name' => 'EndDate', + 'name' => 'SmsCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The end date. Specify this parameter in the YYYYMMDD format. Example: 20220106.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '20220106', - ], + 'schema' => ['description' => 'The verification code.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '12****', 'title' => ''], ], [ - 'name' => 'AuthenticationType', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification method. Valid values:'."\n" - ."\n" - .'* **1**: one-click logon'."\n" - .'* **2**: phone number verification, including the verification of the phone number used in HTML5 pages'."\n" - .'* **3**: SMS verification'."\n" - .'* **4**: facial recognition'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '99', - 'minimum' => '0', - 'example' => '1', - ], + 'schema' => ['description' => 'The mobile phone number. This is returned when you obtain the text message verification code.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1321111****', 'title' => ''], ], [ - 'name' => 'OsType', + 'name' => 'SmsToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the operating system. Valid values:'."\n" - ."\n" - .'* **Android**'."\n" - .'* **iOS**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Android', - ], + 'schema' => ['description' => 'The text message token.'."\n" + .'When you call the operation to send a verification code using the text message verification software development kit (SDK), the end user receives a verification code. The SDK then returns an SmsToken that is used to verify the code. Android clients call the sendVerifyCode operation. iOS clients call the sendVerifyCodeWithTimeout operation. For more information, see [Integration overview](~~400434~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sddsbvdbvjd****', 'title' => ''], ], ], 'responses' => [ @@ -2895,524 +2335,605 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], - 'Data' => [ - 'description' => 'The information about the calls of Phone Number Verification Service, including the total calls, the successful calls, failed calls, unknown calls, and daily calls within the statistical date range.'."\n", - 'type' => 'object', - 'properties' => [ - 'TotalFail' => [ - 'description' => 'The failed calls.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Total' => [ - 'description' => 'The total calls.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'TotalSuccess' => [ - 'description' => 'The successful calls.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TotalUnknown' => [ - 'description' => 'The unknown calls.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'DayStatistic' => [ - 'description' => 'The information about the daily calls.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'StatisticDateStr' => [ - 'description' => 'The date. This field is accurate to the day. The value of this field is in the YYYYMMDD format. Example: 20220103.'."\n", - 'type' => 'string', - 'example' => '20220103', - ], - 'TotalSuccess' => [ - 'description' => 'The successful calls on the day.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'TotalFail' => [ - 'description' => 'The failed calls on the day.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'TotalUnknown' => [ - 'description' => 'The unknown calls on the day.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - ], - ], - ], - ], - ], + 'Code' => ['description' => 'The status code.'."\n" + ."\n" + .'- A value of OK indicates that the request was successful.'."\n" + ."\n" + .'- For other error codes, see [Server-side API return codes](~~85198~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'Data' => ['description' => 'Indicates whether the validation was successful. Valid values:'."\n" + ."\n" + .'- **true**: The validation was successful.'."\n" + ."\n" + .'- **false**: The validation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => 'Your account not be opened the product.'], + ['errorCode' => 'SmsCodeVerifyFail', 'errorMessage' => 'The specified smsCode is invalid.', 'description' => ''], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"TotalFail\\": 20,\\n \\"Total\\": 20,\\n \\"TotalSuccess\\": 0,\\n \\"TotalUnknown\\": 0,\\n \\"DayStatistic\\": [\\n {\\n \\"StatisticDateStr\\": \\"20220103\\",\\n \\"TotalSuccess\\": 0,\\n \\"TotalFail\\": 20,\\n \\"TotalUnknown\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryGateVerifyStatisticPublicResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <TotalFail>20</TotalFail>\\n <Total>20</Total>\\n <TotalSuccess>0</TotalSuccess>\\n <TotalUnknown>0</TotalUnknown>\\n <DayStatistic>\\n <StatisticDateStr>20220103</StatisticDateStr>\\n <TotalSuccess>0</TotalSuccess>\\n <TotalFail>20</TotalFail>\\n <TotalUnknown>0</TotalUnknown>\\n </DayStatistic>\\n </Data>\\n</QueryGateVerifyStatisticPublicResponse>","errorExample":""}]', - 'title' => 'QueryGateVerifyStatisticPublic', - 'description' => '### [](#qps)QPS limits'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'VerifySmsCode', + 'description' => '### Preparations'."\n" ."\n" - .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'QueryGateVerifyBillingPublic' => [ - 'summary' => 'Queries the fees generated by a verification service.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'You can register an Alibaba Cloud account, obtain an AccessKey pair, and create an authentication scheme. For more information, see [Text message authentication process](~~313209~~).'."\n" + ."\n" + .'### QPS limits'."\n" + ."\n" + .'The queries per second (QPS) limit for a single user is 500 calls per second. API calls that exceed this limit are subject to rate limiting, which may affect your business. Call this operation at a reasonable rate.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifySmsCode'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifySmsCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"8906582E-6722\\"\\n}","type":"json"}]', + ], + 'VerifyWithFusionAuthToken' => [ + 'summary' => 'Obtains the verification results by using the verification token that is obtained by using the authentication token.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', + 'chargeType' => 'paid', + 'abilityTreeCode' => '167123', + 'abilityTreeNodes' => ['FEATUREdypns9ZAN79', 'FEATUREdypns1LCGAH', 'FEATUREdypnsBK4NX5', 'FEATUREdypnsC68T0U', 'FEATUREdypnsRN54HJ'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Month', - 'in' => 'query', - 'schema' => [ - 'description' => 'The month in which the bill is generated. Specify this parameter in the YYYYMM format. Example: 202111.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '202111', - ], - ], - [ - 'name' => 'AuthenticationType', + 'name' => 'VerifyToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification method. Valid values:'."\n" - ."\n" - .'* **0**: phone number verification'."\n" - .'* **1**: one-click logon'."\n" - .'* **2**: all'."\n" - .'* **3**: facial recognition'."\n" - .'* **4**: SMS verification'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '99', - 'minimum' => '0', - 'example' => '1', - ], + 'schema' => ['description' => 'The unified verification token that is returned by the client SDKs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'LD108enNdlsl*******sFLKCks1==', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. Valid values:'."\n" - ."\n" - .'* If OK is returned, the request is successful.'."\n" - .'* For more information about other error codes, see [API response codes](~~85198~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'successful', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], - 'Data' => [ - 'description' => 'The billing information about each verification service.'."\n", + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => '示例值', 'title' => ''], + 'RequestId' => ['description' => 'The request ID, which is used to troubleshoot issues.'."\n", 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'."\n", 'title' => ''], + 'Model' => [ + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'AmountSum' => [ - 'description' => 'The fees generated for all verification services. Unitrogen: CNY.'."\n", - 'type' => 'string', - 'example' => '1234', - ], - 'SceneBillingList' => [ - 'description' => 'The details of fees.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Add' => [ - 'description' => 'The billable items.'."\n", - 'type' => 'string', - 'example' => '74', - ], - 'SinglePrice' => [ - 'description' => 'The unit price. Unit: CNY.'."\n", - 'type' => 'string', - 'example' => '0.02', - ], - 'Amount' => [ - 'description' => 'The fees generated for the verification service. Unitrogen: CNY.'."\n", - 'type' => 'string', - 'example' => '1.48', - ], - 'ItemName' => [ - 'description' => 'The verification method.'."\n", - 'type' => 'string', - 'example' => 'Verification of local phone number', - ], - 'SceneCode' => [ - 'description' => 'The service code.'."\n", - 'type' => 'string', - 'example' => 'FC100000038194004', - ], - 'AppName' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'Aliyun', - ], - 'SceneName' => [ - 'description' => 'The service name.'."\n", - 'type' => 'string', - 'example' => 'Alibaba Cloud Communications', - ], - ], - ], - ], + 'PhoneNumber' => ['description' => 'The phone number, which is returned when the verification is successful.'."\n", 'type' => 'string', 'example' => '180****1234', 'title' => ''], + 'VerifyResult' => ['description' => 'The verification result. Valid values: PASS and UNKNOWN.'."\n", 'type' => 'string', 'example' => 'PASS', 'title' => ''], + 'PhoneScore' => ['description' => 'The phone number score, which is generated only after the phone number scoring node is enabled and the verification is successful. The higher the score, the more risky the phone number. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The response code. If OK is returned, the request is successful. Other values indicate that the request failed. For more information, see Error codes.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values: true false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AmountSum\\": \\"1234\\",\\n \\"SceneBillingList\\": [\\n {\\n \\"Add\\": \\"74\\",\\n \\"SinglePrice\\": \\"0.02\\",\\n \\"Amount\\": \\"1.48\\",\\n \\"ItemName\\": \\"本机号码校验\\",\\n \\"SceneCode\\": \\"FC100000038194004\\",\\n \\"AppName\\": \\"阿里云\\",\\n \\"SceneName\\": \\"阿里云通信\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryGateVerifyBillingPublicResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <AmountLongSum>92760</AmountLongSum>\\n <AmountSum>1234</AmountSum>\\n <SceneBillingList>\\n <Add>74</Add>\\n <ItemId>15810****</ItemId>\\n <SinglePrice>0.02</SinglePrice>\\n <Amount>1.48</Amount>\\n <ItemName>本机号码校验</ItemName>\\n <SceneCode>FC100000038194004</SceneCode>\\n <AppName>阿里云</AppName>\\n <SceneName>阿里云通信</SceneName>\\n <Url>www.example.com</Url>\\n </SceneBillingList>\\n </Data>\\n</QueryGateVerifyBillingPublicResponse>","errorExample":""}]', - 'title' => 'QueryGateVerifyBillingPublic', - 'description' => '### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'QuerySendDetails' => [ - 'summary' => 'Queries the delivery status of the SMS verification code. You can query only the delivery status of the SMS verification code that is sent by calling corresponding API operations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => true, - 'systemTags' => [ - 'operationType' => 'list', - ], - 'parameters' => [ - [ - 'name' => 'PhoneNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '186****9399', - ], - ], - [ - 'name' => 'SendDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The date when the text message was sent. You can query text messages that were sent within the last 30 days.'."\n" - ."\n" - .'Specify the date in the yyyyMMdd format. Example: 20181225.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '20181225', - ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SchemeNumberOverLimit', 'errorMessage' => 'The maximum number of scheme is exceeded.', 'description' => ''], + ['errorCode' => 'SmsCodeVerifyFail', 'errorMessage' => 'The specified smsCode is invalid.', 'description' => ''], + ['errorCode' => 'SmsSignNameNotExist', 'errorMessage' => 'The specified sms signName is invalid.', 'description' => ''], + ['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => 'Request was denied due to api flow control.'], + ['errorCode' => 'UnknowError', 'errorMessage' => 'The requested service is not available now, please try again later.', 'description' => ''], + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => 'Your account not be opened the product.'], + ['errorCode' => 'VerifySchemeNotExist', 'errorMessage' => 'The specified verify scheme already exists.', 'description' => ''], + ['errorCode' => 'PackageSignedConflict', 'errorMessage' => 'The specified package signed already exists.', 'description' => ''], + ['errorCode' => 'RamPermissionDeny', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => ''], + ['errorCode' => 'SceneQueryFail', 'errorMessage' => 'The specified scene does not exist.', 'description' => ''], + ['errorCode' => 'SchemeNotPassed', 'errorMessage' => 'The scheme is not passed.', 'description' => ''], ], - [ - 'name' => 'BizId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the business, which is provided by Alibaba Cloud.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1231891289318923^12', - ], + 403 => [ + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'Failed to verify your access permissions.', 'description' => ''], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '50', - 'default' => '', - ], + 500 => [ + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ['errorCode' => 'OutOfService', 'errorMessage' => 'The account is suspended.', 'description' => ''], ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page on which you are reading the text message. Pages start from page 1. The value of this parameter cannot exceed the maximum page number.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - 'default' => '', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"示例值\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\\\n\\",\\n \\"Model\\": {\\n \\"PhoneNumber\\": \\"180****1234\\",\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"PhoneScore\\": 20\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'VerifyWithFusionAuthToken', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyWithFusionAuthToken'], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => 'The details about the access denial.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries in the list.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '42', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'Model' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TemplateCode' => [ - 'description' => 'The code of the text message template.'."\n" - ."\n" - .'Log on to the SMS console. In the left-side navigation pane, click **Go China** or **Go Globe**. You can view the text message template code in the **Template Code** column on the **Message Templates** tab.'."\n" - ."\n" - .'> The text message templates must be created on the Go Globe page and approved.'."\n", - 'type' => 'string', - 'example' => 'SMS_12231****'."\n", - ], - 'ReceiveDate' => [ - 'description' => 'The date and time when the text message was received.'."\n", - 'type' => 'string', - 'example' => '2019-01-08 16:44:13'."\n", - ], - 'PhoneNum' => [ - 'description' => 'The phone number.'."\n", - 'type' => 'string', - 'example' => '1390000****'."\n", - ], - 'Content' => [ - 'description' => 'The content of the text message.'."\n", - 'type' => 'string', - 'example' => '203160', - ], - 'SendStatus' => [ - 'description' => 'The delivery status of the text message.'."\n" - ."\n" - .'* 1: A delivery receipt is to be sent.'."\n" - .'* 2: The text message failed to be sent.'."\n" - .'* 3: The text message was sent.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'enumValueTitles' => [], - 'example' => '3', - ], - 'OutId' => [ - 'description' => 'The extension field.'."\n", - 'type' => 'string', - 'example' => '12131231', - ], - 'SendDate' => [ - 'description' => 'The date when the text message was sent. You can query text messages that were sent within the last 30 days.'."\n" - ."\n" - .'The date is in the yyyyMMdd format. Example: 20181225.'."\n", - 'type' => 'string', - 'example' => '2019-01-08 16:44:13'."\n", - ], - 'ErrCode' => [ - 'description' => 'The status code returned by the carrier.'."\n" - ."\n" - .'* If the text message was delivered, "DELIVERED" is returned.'."\n" - .'* If the text message failed to be sent, see [Error codes](https://help.aliyun.com/document_detail/101347.html?spm=a2c4g.419277.0.i8) for more information.'."\n", - 'type' => 'string', - 'example' => 'DELIVERED', - ], - ], - ], - 'example' => '', - ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'If OK is returned, the request is successful. Other values indicate that the request failed. For more information, see [Error codes](https://help.aliyun.com/document_detail/101346.html?spm=a2c4g.419277.0.i11).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'Indicates whether the request is successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifyWithFusionAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'description' => '', ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '暂无替代API,请关注后续API最新发布。', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"TotalCount\\": 42,\\n \\"Message\\": \\"成功\\",\\n \\"Model\\": [\\n {\\n \\"TemplateCode\\": \\"SMS_12231****\\\\n\\",\\n \\"ReceiveDate\\": \\"2019-01-08 16:44:13\\\\n\\",\\n \\"PhoneNum\\": \\"1390000****\\\\n\\",\\n \\"Content\\": \\"203160\\",\\n \\"SendStatus\\": 3,\\n \\"OutId\\": \\"12131231\\",\\n \\"SendDate\\": \\"2019-01-08 16:44:13\\\\n\\",\\n \\"ErrCode\\": \\"DELIVERED\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QuerySendDetails', ], ], 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'BundleIdConflict', 'message' => 'The specified bundleId already exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'BUSINESS_LIMIT_CONTROL', 'message' => 'The number has exceeded the limit for the day.', 'http_code' => 400, 'description' => 'Trigger number day flow control'], + ['code' => 'CertifyIdInvalid', 'message' => 'The certifyId is invalid.', 'http_code' => 500, 'description' => ''], + ['code' => 'CertifyNotComplete', 'message' => 'You have not completed the certification.', 'http_code' => 500, 'description' => ''], + ['code' => 'DataNotFound', 'message' => 'The specified scheme does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'Forbidden', 'message' => 'The user is not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => ''], + ['code' => 'FREQUENCY_FAIL', 'message' => 'Check frequency fail.', 'http_code' => 400, 'description' => 'Frequency control check failed'], + ['code' => 'FunctionNotSubscribed', 'message' => 'You have not subscribed to the function.', 'http_code' => 400, 'description' => ''], + ['code' => 'FUNCTION_NOT_OPENED', 'message' => 'You have not opened this function.', 'http_code' => 400, 'description' => 'Converged authentication function is not activated'], + ['code' => 'IdentityCertifyNotExist', 'message' => 'The identity verification record does not exist.', 'http_code' => 500, 'description' => ''], + ['code' => 'IllegalParameter', 'message' => 'The specified endDate is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InternalError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => ''], + ['code' => 'InternalError', 'message' => 'An internal error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'InvalidAccountStatus', 'message' => 'Your account has been suspended.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameters', 'message' => 'The specified parameter is not valid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidToken', 'message' => 'The token is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'INVALID_PARAMETERS', 'message' => 'parameter is not valid.', 'http_code' => 400, 'description' => 'Illegal parameter'], + ['code' => 'isp.ForbiddenUpdatingConfigFrequently', 'message' => 'Too many scene configuration updates.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.InvalidFusionAuthToken', 'message' => 'Invalid fusion auth token.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.SceneConfigNotExist', 'message' => 'The scene configuration is not found.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.SmsUpVerifyCodeExpired', 'message' => 'The MO message verification code has expired.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.SmsUpVerifyRecordNotExist', 'message' => 'The MO message authentication record is not found.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'You must specify the parameter.', 'http_code' => 400, 'description' => ''], + ['code' => 'MobileNumberIllgeal', 'message' => 'The specified mobile phone number is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'MOBILE_NUMBER_ILLEGAL', 'message' => 'The mobile number is illegal.', 'http_code' => 400, 'description' => 'Phone number format error'], + ['code' => 'OutOfService', 'message' => 'The account is suspended.', 'http_code' => 500, 'description' => ''], + ['code' => 'PackageSignedConflict', 'message' => 'The specified package signed already exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'RamPermissionDeny', 'message' => 'The user is not authorized to operate on the specified resource.', 'http_code' => 400, 'description' => ''], + ['code' => 'SceneQueryFail', 'message' => 'The specified scene does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'SchemeNotPassed', 'message' => 'The scheme is not passed.', 'http_code' => 400, 'description' => ''], + ['code' => 'SchemeNumberOverLimit', 'message' => 'The maximum number of scheme is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'SmsCodeVerifyFail', 'message' => 'The specified smsCode is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'SmsSignNameNotExist', 'message' => 'The specified sms signName is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'SystemError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => ''], + ['code' => 'SystemError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => ''], + ['code' => 'Throttling.System', 'message' => 'The request was denied due to API flow control.', 'http_code' => 400, 'description' => 'Request was denied due to api flow control.'], + ['code' => 'UnauthorizedOperation', 'message' => 'Failed to verify your access permissions.', 'http_code' => 403, 'description' => ''], + ['code' => 'UnauthorizedOperation', 'message' => 'You are not authorized to perform this operation.', 'http_code' => 403, 'description' => 'You are not authorized to perform this operation.'], + ['code' => 'UnknowError', 'message' => 'The requested service is not available now, please try again later.', 'http_code' => 400, 'description' => ''], + ['code' => 'Unsupported.Account', 'message' => 'Your account has not activated the product.', 'http_code' => 400, 'description' => 'Your account not be opened the product.'], + ['code' => 'VALIDATE_FAIL', 'message' => 'sms code validate fail.', 'http_code' => 400, 'description' => 'Validation failed'], + ['code' => 'VerifySchemeNotExist', 'message' => 'The specified verify scheme already exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'ACCOUNT_ACTIVITY_ANOMALY', 'message' => 'The abnormal account behavior does not pass the risk detection.', 'http_code' => 400, 'description' => 'The abnormal account behavior does not pass the risk detection. Please confirm that the account behavior and usage scenario are legal and compliant. The verification scenario only supports websites, apps, applets, or fast applications that have been filed with the Ministry of Industry and Information Technology.'], + ], + 'changeSet' => [ [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'], + ['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'], + ], + 'createdAt' => '2025-09-26T14:45:55.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'], + ], + 'createdAt' => '2025-09-26T14:45:51.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'], + ], + 'createdAt' => '2025-09-26T14:43:10.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'GetAuthToken'], + ], + 'createdAt' => '2024-10-24T07:04:50.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateVerifyScheme'], + ], + 'createdAt' => '2024-10-18T01:43:33.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'GetAuthToken'], + ], + 'createdAt' => '2023-12-29T03:39:30.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'GetMobile'], + ], + 'createdAt' => '2023-06-06T02:42:50.000Z', + 'description' => '', ], [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateVerifyScheme'], + ['description' => 'Error codes changed', 'api' => 'GetAuthToken'], + ['description' => 'Error codes changed', 'api' => 'VerifyMobile'], + ], + 'createdAt' => '2022-11-24T13:55:05.000Z', + 'description' => '直连发布', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'JyCreateVerifyScheme'], + ['description' => 'OpenAPI offline', 'api' => 'JyGetMobile'], + ], + 'createdAt' => '2022-01-14T05:10:49.000Z', + 'description' => '为极意定制API', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'QueryGateVerifyBillingPublic'], + ['description' => 'Request parameters changed', 'api' => 'QueryGateVerifyStatisticPublic'], + ], + 'createdAt' => '2022-01-13T03:22:30.000Z', + 'description' => '隐藏不必要的字段', ], [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'QueryGateVerifyBillingPublic'], + ['description' => 'OpenAPI offline', 'api' => 'QueryGateVerifyStatisticPublic'], + ], + 'createdAt' => '2022-01-07T03:40:28.000Z', + 'description' => '添加认证新API', ], [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateVerifyScheme'], + ['description' => 'Error codes changed', 'api' => 'DeleteVerifyScheme'], + ['description' => 'Error codes changed', 'api' => 'DescribeVerifyScheme'], + ['description' => 'Error codes changed', 'api' => 'GetAuthorizationUrl'], + ['description' => 'Error codes changed', 'api' => 'GetSmsAuthTokens'], + ['description' => 'Error codes changed', 'api' => 'VerifyPhoneWithToken'], + ['description' => 'Error codes changed', 'api' => 'VerifySmsCode'], + ], + 'createdAt' => '2021-12-24T06:43:11.000Z', + 'description' => '添加错误码', ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAuthorizationUrl'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGateVerifyBillingPublic'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPhoneWithToken'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSmsAuthTokens'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVerifyScheme'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyPhoneWithToken'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyWithFusionAuthToken'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateVerifyScheme'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMobile'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyScheme'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifySmsCode'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAuthToken'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGateVerifyStatisticPublic'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyMobile'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetFusionAuthToken'], ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'PhoneNumberVerificationService', + 'productName' => 'Phone Number Verification Service', + 'ramCodes' => ['dypns'], + 'ramLevel' => 'SERVICE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'GetSmsAuthTokens', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetSmsAuthTokens', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVerifyScheme', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:DescribeVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryGateVerifyStatisticPublic', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:QueryGateVerifyStatisticPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VerifyWithFusionAuthToken', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifyWithFusionAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAuthToken', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:GetAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteVerifyScheme', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypns:DeleteVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSchemeConfig', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:CreateSchemeConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetFusionAuthToken', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetFusionAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SendSmsVerifyCode', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:SendSmsVerifyCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPhoneWithToken', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetPhoneWithToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetMobile', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:GetMobile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAuthorizationUrl', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetAuthorizationUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CheckSmsVerifyCode', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:CheckSmsVerifyCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VerifySmsCode', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifySmsCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VerifyMobile', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifyMobile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'VerifyPhoneWithToken', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifyPhoneWithToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryGateVerifyBillingPublic', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:QueryGateVerifyBillingPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateVerifyScheme', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:CreateVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'resourceTypes' => [], ], ]; |
