'1.0',
'info' => ['style' => 'RPC', 'product' => 'Dypnsapi', 'version' => '2017-05-25'],
'directories' => [
[
'children' => ['SendSmsVerifyCode', 'CheckSmsVerifyCode'],
'type' => 'directory',
'title' => 'SMS authentication service',
],
[
'children' => [
[
'children' => ['VerifyMobile', 'GetMobile'],
'type' => 'directory',
'title' => 'Client-side one-click login and phone number verification',
],
[
'children' => ['GetAuthToken', 'VerifyPhoneWithToken'],
'type' => 'directory',
'title' => 'H5 one-click login and phone number verification',
],
],
'type' => 'directory',
'title' => 'Phone number verification service',
],
[
'children' => ['GetFusionAuthToken'],
'type' => 'directory',
'title' => 'Fusion authentication',
],
[
'children' => ['GetSmsAuthTokens', 'VerifySmsCode'],
'type' => 'directory',
'title' => 'SMS authentication (deprecated)',
],
[
'children' => ['GetAuthorizationUrl'],
'type' => 'directory',
'title' => 'Communication authorization service (deprecated)',
],
[
'children' => ['CreateVerifyScheme', 'DeleteVerifyScheme'],
'type' => 'directory',
'title' => 'Authentication scheme management',
],
[
'children' => ['QueryGateVerifyStatisticPublic', 'QueryGateVerifyBillingPublic'],
'type' => 'directory',
'title' => 'Usage and cost statistics',
],
[
'children' => ['CreateSchemeConfig', 'DescribeVerifyScheme', 'GetPhoneWithToken', 'QuerySendDetails', 'VerifyWithFusionAuthToken'],
'title' => 'Others',
'type' => 'directory',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'CheckSmsVerifyCode' => [
'summary' => 'Verifies an SMS verification code and returns the verification result.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '192246',
'abilityTreeNodes' => ['FEATUREdypnsF4260C'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'SchemeName',
'in' => 'query',
'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"
.'>This value must match the `SchemeName` specified in the `SendSmsVerifyCode` request.>', 'type' => 'string', 'required' => false, 'example' => '测试方案', 'default' => '默认方案', 'title' => ''],
],
[
'name' => 'CountryCode',
'in' => 'query',
'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.', 'type' => 'string', 'required' => true, 'example' => '186****0000', 'title' => ''],
],
[
'name' => 'OutId',
'in' => 'query',
'schema' => ['description' => 'An external ID to track the request.', 'type' => 'string', 'required' => false, 'example' => '12123231', 'default' => '', 'title' => ''],
],
[
'name' => 'VerifyCode',
'in' => 'query',
'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' => 'CaseAuthPolicy',
'in' => 'query',
'schema' => [
'description' => 'The case-sensitivity policy for verification. Valid values:'."\n"
."\n"
.'- `1`: Case-insensitive.'."\n"
."\n"
.'- `2`: Case-sensitive.',
'enumValueTitles' => [],
'type' => 'integer',
'format' => 'int64',
'required' => false,
'example' => '1',
'default' => '1',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'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"
.' >A successful request does not mean the SMS verification code is valid. The verification result is provided in the `Model.VerifyResult` parameter.>', '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"
.' >A successful request does not mean the SMS verification code is valid. The verification result is provided in the `Model.VerifyResult` parameter.>', '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' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '193622',
'abilityTreeNodes' => ['FEATUREdypnsF4260C'],
],
'parameters' => [
[
'name' => 'SchemeName',
'in' => 'query',
'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' => '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' => '', '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',
'in' => 'query',
'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' => 'AndroidPackageSign',
'in' => 'query',
'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' => 'IosBundleId',
'in' => 'query',
'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' => 'H5Url',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The reserved field. HTML5 apps are not supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '-'],
],
[
'name' => 'H5Origin',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The reserved field. HTML5 apps are not supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '-'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 results.'."\n",
'type' => 'object',
'properties' => [
'SchemeCode' => ['description' => 'The service code.'."\n", 'type' => 'string', 'example' => 'FA100000168468035', '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', 'title' => ''],
'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n"
."\n"
.'* **true**'."\n"
.'* **false**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
'description' => '',
'title' => '',
],
],
],
'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' => '*'],
],
],
],
],
],
'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' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '92619',
'abilityTreeNodes' => ['FEATUREdypns8SCJSK'],
],
'parameters' => [
[
'name' => 'SchemeName',
'in' => 'query',
'schema' => ['description' => 'Scheme name.', 'type' => 'string', 'required' => true, 'example' => '一键登录认证方案', 'title' => ''],
],
[
'name' => 'AppName',
'in' => 'query',
'schema' => ['description' => 'App name.', 'type' => 'string', 'required' => true, 'example' => '阿里云通信', 'title' => ''],
],
[
'name' => 'OsType',
'in' => 'query',
'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' => 'PackName',
'in' => 'query',
'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' => 'PackSign',
'in' => 'query',
'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' => 'BundleId',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'SchemeCode' => ['description' => 'Scheme code.', 'type' => 'string', 'example' => 'FC10001287****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'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' => '',
],
],
],
'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'],
],
'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' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'SchemeCode',
'in' => 'query',
'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' => 'CustomerId',
'in' => 'query',
'schema' => ['description' => 'The user ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345678', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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' => [],
],
'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"
.'- 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 limits'."\n"
."\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' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2021-12-24T06:40:44.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVerifyScheme'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'dypns:DeleteVerifyScheme',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'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' => 'SchemeCode',
'in' => 'query',
'schema' => ['description' => 'The service code.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000010643****', 'title' => ''],
],
[
'name' => 'CustomerId',
'in' => 'query',
'schema' => ['description' => 'The user ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1234****', 'title' => ''],
],
],
'responses' => [
200 => [
'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', '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' => [
'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' => '',
],
],
],
'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' => ''],
],
],
'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":"OK\\n0C5380A7-2032-5F7D-9614-1BF8B54D16CB\\nOK\\n\\n ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****\\n","errorExample":""}]',
'title' => 'DescribeVerifyScheme',
'summary' => 'Queries the details of a verification service.',
'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' => ' ',
'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' => '*'],
],
],
],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyScheme'],
],
],
],
'GetAuthToken' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '92626',
'abilityTreeNodes' => ['FEATUREdypns8SCJSK'],
],
'parameters' => [
[
'name' => 'Url',
'in' => 'query',
'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' => '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' => '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' => ['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', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
],
[
'name' => 'CuApiCode',
'in' => 'query',
'schema' => ['type' => 'integer', 'format' => 'int32', 'default' => '10', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
],
[
'name' => 'CtApiCode',
'in' => 'query',
'schema' => ['type' => 'integer', 'format' => 'int32', 'default' => '8', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => 'Struct.',
'type' => 'object',
'properties' => [
'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'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'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 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 limit'."\n"
."\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' => ' ',
'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"
.''."\n"
.' com.aliyun'."\n"
.' dypnsapi20170525'."\n"
.' 1.0.6'."\n"
.''."\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' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"TokenInfo\\": {\\n \\"AccessToken\\": \\"agag****\\",\\n \\"JwtToken\\": \\"aweghd****\\"\\n }\\n}","type":"json"}]',
],
'GetAuthorizationUrl' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'PhoneNo',
'in' => 'query',
'schema' => ['description' => 'The phone number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1390000****', 'title' => ''],
],
[
'name' => 'SchemeId',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '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' => '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'],
'title' => 'GetAuthorizationUrl',
'summary' => 'This operation is offline.',
'description' => '### Preparations'."\n"
."\n"
.'Register an Alibaba Cloud account and obtain an AccessKey pair. For more information, see [Communication Authorization Service workflow](~~196922~~).'."\n"
."\n"
.'### QPS limit'."\n"
."\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"
.''."\n"
.' com.aliyun'."\n"
.' dypnsapi20170525'."\n"
.' 1.0.6'."\n"
.''."\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' => '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' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'SchemeCode',
'in' => 'query',
'schema' => ['description' => 'The scheme code.', 'type' => 'string', 'required' => true, 'example' => 'FA1000*************201', 'title' => ''],
],
[
'name' => 'PackageName',
'in' => 'query',
'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' => ['description' => 'Required when Platform is Android. The app package signature.', 'type' => 'string', 'required' => false, 'example' => '47fcc************************278', 'title' => ''],
],
[
'name' => 'BundleId',
'in' => 'query',
'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' => ['description' => 'The platform. Valid values: Android or iOS.', 'type' => 'string', 'required' => true, 'example' => 'Android', 'title' => ''],
],
[
'name' => 'DurationSeconds',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => ''],
],
500 => [
['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => ''],
['errorCode' => 'OutOfService', 'errorMessage' => 'The account is suspended.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'GetFusionAuthToken',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetFusionAuthToken'],
],
],
'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',
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '92629',
'abilityTreeNodes' => ['FEATUREdypns8SCJSK'],
],
'parameters' => [
[
'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' => [
'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"
.'>The example value in this field is masked. A successful request returns an 11-digit plaintext mobile phone number.>', '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"
.''."\n"
.' com.aliyun'."\n"
.' dypnsapi20170525'."\n"
.' 1.0.6'."\n"
.''."\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' => [
'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' => [
'Mobile' => ['description' => 'The phone number.'."\n", 'type' => 'string', 'example' => '13900001234', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'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'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:GetPhoneWithToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'GetSmsAuthTokens' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '92630',
'abilityTreeNodes' => ['FEATUREdypnsZ7LLRH'],
],
'parameters' => [
[
'name' => 'PackageName',
'in' => 'query',
'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' => 'Signature. Required when OsType is **Android**.', 'type' => 'string', 'required' => false, 'example' => '47fcc6615485e83b4100433****', 'title' => ''],
],
[
'name' => 'SceneCode',
'in' => 'query',
'schema' => ['description' => 'Authentication flow ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC100000134840112', 'title' => ''],
],
[
'name' => 'OsType',
'in' => 'query',
'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' => 'iOS bundle ID. Required when OsType is **iOS**.', 'type' => 'string', 'required' => false, 'example' => '12345****', 'title' => ''],
],
[
'name' => 'Expire',
'in' => 'query',
'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' => 'SMS template code.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS_13987****', 'title' => ''],
],
[
'name' => 'SmsCodeExpire',
'in' => 'query',
'schema' => ['description' => 'SMS verification code TTL, in seconds. Default value: 180.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => 'Struct.',
'type' => 'object',
'properties' => [
'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.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'GetSmsAuthTokens',
'summary' => 'This operation is offline.',
'description' => '### Preparations'."\n"
."\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 limit'."\n"
."\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' => ' ',
'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"
.''."\n"
.' com.aliyun'."\n"
.' dypnsapi20170525'."\n"
.' 1.0.6'."\n"
.''."\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' => 'read',
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'Month',
'in' => 'query',
'schema' => ['description' => 'The monthly bill. Format is YYYYMM, such as 202111.', 'type' => 'string', 'required' => true, 'example' => '202111', 'title' => ''],
],
[
'name' => 'AuthenticationType',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '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' => '',
],
],
],
'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'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:QueryGateVerifyBillingPublic',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'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"}]',
],
'QueryGateVerifyStatisticPublic' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREdypnsSZ1J9W'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'SceneCode',
'in' => 'query',
'schema' => ['description' => 'The service code.', 'type' => 'string', 'required' => false, 'example' => 'FC100000038194004', 'title' => ''],
],
[
'name' => 'StartDate',
'in' => 'query',
'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 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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 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' => [
'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' => '',
],
],
],
'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'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:QueryGateVerifyStatisticPublic',
'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 \\"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"}]',
],
'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', 'title' => ''],
],
[
'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', 'title' => ''],
],
[
'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', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '50', 'default' => '', 'title' => ''],
],
[
'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' => '', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 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' => '',
],
'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' => '',
],
],
],
'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' => '*'],
],
],
],
],
],
'SendSmsVerifyCode' => [
'summary' => 'Sends an SMS verification code.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '192247',
'abilityTreeNodes' => ['FEATUREdypnsZ7LLRH'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'SchemeName',
'in' => 'query',
'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' => 'CountryCode',
'in' => 'query',
'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' => 'PhoneNumber',
'in' => 'query',
'schema' => ['description' => 'The phone number of the SMS recipient.', 'type' => 'string', 'required' => true, 'example' => '130****0000', 'title' => ''],
],
[
'name' => 'SignName',
'in' => 'query',
'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' => 'TemplateCode',
'in' => 'query',
'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' => 'TemplateParam',
'in' => 'query',
'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"
.'Replace "code" in the example above with the actual parameter name in your verification code template.'."\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' => 'SmsUpExtendCode',
'in' => 'query',
'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' => 'OutId',
'in' => 'query',
'schema' => ['description' => 'The external serial number.', 'type' => 'string', 'required' => false, 'example' => '外部流水号(透传)', 'title' => ''],
],
[
'name' => 'CodeLength',
'in' => 'query',
'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' => 'ValidTime',
'in' => 'query',
'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' => 'DuplicatePolicy',
'in' => 'query',
'schema' => [
'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' => '1',
'default' => '1',
'title' => '',
],
],
[
'name' => 'Interval',
'in' => 'query',
'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' => 'CodeType',
'in' => 'query',
'schema' => [
'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' => '1',
'default' => '1',
'title' => '',
],
],
[
'name' => 'ReturnVerifyCode',
'in' => 'query',
'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' => 'AutoRetry',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
'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' => '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'],
'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' => '*'],
],
],
],
],
],
'VerifyMobile' => [
'methods' => ['post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '92639',
'abilityTreeNodes' => ['FEATUREdypns8SCJSK'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AccessCode',
'in' => 'query',
'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' => 'PhoneNumber',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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"
.'- 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' => '### 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"
.''."\n"
.' com.aliyun'."\n"
.' dypnsapi20170525'."\n"
.' 1.0.6'."\n"
.''."\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' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'],
'parameters' => [
[
'name' => 'PhoneNumber',
'in' => 'query',
'schema' => ['description' => 'The phone number to verify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1380000****', 'title' => ''],
],
[
'name' => 'SpToken',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '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' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => ''],
],
],
'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"
.'- 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' => ' ',
'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"
.''."\n"
.' com.aliyun'."\n"
.' dypnsapi20170525'."\n"
.' 1.0.6'."\n"
.''."\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' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'],
'parameters' => [
[
'name' => 'SmsCode',
'in' => 'query',
'schema' => ['description' => 'The verification code.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '12****', 'title' => ''],
],
[
'name' => 'PhoneNumber',
'in' => 'query',
'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' => 'SmsToken',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'VerifySmsCode',
'description' => '### Preparations'."\n"
."\n"
.'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"
.''."\n"
.' com.aliyun'."\n"
.' dypnsapi20170525'."\n"
.' 1.0.6'."\n"
.''."\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' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '167123',
'abilityTreeNodes' => ['FEATUREdypns9ZAN79', 'FEATUREdypns1LCGAH', 'FEATUREdypnsBK4NX5', 'FEATUREdypnsC68T0U', 'FEATUREdypnsRN54HJ'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'VerifyToken',
'in' => 'query',
'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' => [
'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' => [
'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' => ''],
],
'title' => '',
'example' => '',
],
],
],
'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' => ''],
],
403 => [
['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'Failed to verify your access permissions.', 'description' => ''],
],
500 => [
['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\\",\\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'],
],
],
'ramActions' => [
[
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:VerifyWithFusionAuthToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
],
'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' => [
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'],
['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'],
],
'createdAt' => '2025-09-26T14:45:55.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'],
],
'createdAt' => '2025-09-26T14:45:51.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'SendSmsVerifyCode'],
],
'createdAt' => '2025-09-26T14:43:10.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'GetAuthToken'],
],
'createdAt' => '2024-10-24T07:04:50.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateVerifyScheme'],
],
'createdAt' => '2024-10-18T01:43:33.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'GetAuthToken'],
],
'createdAt' => '2023-12-29T03:39:30.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'GetMobile'],
],
'createdAt' => '2023-06-06T02:42:50.000Z',
'description' => '',
],
[
'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' => '直连发布',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'JyCreateVerifyScheme'],
['description' => 'OpenAPI offline', 'api' => 'JyGetMobile'],
],
'createdAt' => '2022-01-14T05:10:49.000Z',
'description' => '为极意定制API',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'QueryGateVerifyBillingPublic'],
['description' => 'Request parameters changed', 'api' => 'QueryGateVerifyStatisticPublic'],
],
'createdAt' => '2022-01-13T03:22:30.000Z',
'description' => '隐藏不必要的字段',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'QueryGateVerifyBillingPublic'],
['description' => 'OpenAPI offline', 'api' => 'QueryGateVerifyStatisticPublic'],
],
'createdAt' => '2022-01-07T03:40:28.000Z',
'description' => '添加认证新API',
],
[
'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' => '添加错误码',
],
],
'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'],
],
],
'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' => [],
],
];