'1.0',
'info' => ['style' => 'RPC', 'product' => 'Dypnsapi', 'version' => '2017-05-25'],
'directories' => [
[
'children' => ['SendSmsVerifyCode', 'CheckSmsVerifyCode'],
'type' => 'directory',
'title' => '短信认证服务',
'id' => 459197,
],
[
'children' => [
[
'children' => ['VerifyMobile', 'GetMobile'],
'type' => 'directory',
'title' => '客户端一键登录和本机号码校验',
'id' => 459199,
],
[
'children' => ['GetAuthToken', 'GetPhoneWithToken', 'VerifyPhoneWithToken'],
'type' => 'directory',
'title' => 'H5一键登录和本机号码校验',
'id' => 459200,
],
],
'type' => 'directory',
'title' => '号码认证服务',
'id' => 459198,
],
[
'children' => ['GetFusionAuthToken', 'VerifyWithFusionAuthToken'],
'type' => 'directory',
'title' => '融合认证',
'id' => 459202,
],
[
'children' => ['GetSmsAuthTokens', 'VerifySmsCode'],
'type' => 'directory',
'title' => '短信认证(已下线)',
'id' => 459203,
],
[
'children' => ['GetAuthorizationUrl'],
'type' => 'directory',
'title' => '通信授权服务(已下线)',
'id' => 459204,
],
[
'children' => ['CreateSchemeConfig', 'CreateVerifyScheme', 'DeleteVerifyScheme', 'DescribeVerifyScheme'],
'type' => 'directory',
'title' => '认证方案管理',
'id' => 459205,
],
[
'children' => ['QueryGateVerifyStatisticPublic', 'QueryGateVerifyBillingPublic'],
'type' => 'directory',
'title' => '用量及费用统计',
'id' => 459206,
],
[
'children' => ['QuerySendDetails'],
'type' => 'directory',
'title' => '其他',
'id' => 459207,
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'CheckSmsVerifyCode' => [
'summary' => '核验短信验证码并返回核验是否成功的结果。',
'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' => '方案名称,如果不填则为“默认方案”。最多不超过20个字符。'."\n"
.'>如果发送接口的方案名称不为空,请确保该参数不为空且与发送接口的方案名称参数一致>', 'type' => 'string', 'required' => false, 'example' => '测试方案', 'default' => '默认方案'],
],
[
'name' => 'CountryCode',
'in' => 'query',
'schema' => ['description' => '号码国家编码,默认为86。', 'type' => 'string', 'required' => false, 'example' => '86', 'default' => '86'],
],
[
'name' => 'PhoneNumber',
'in' => 'query',
'schema' => ['description' => '手机号。', 'type' => 'string', 'required' => true, 'example' => '186****0000'],
],
[
'name' => 'OutId',
'in' => 'query',
'schema' => ['description' => '外部流水号。', 'type' => 'string', 'required' => false, 'example' => '12123231', 'default' => ''],
],
[
'name' => 'VerifyCode',
'in' => 'query',
'schema' => ['description' => '验证码。'."\n"
."\n"
.'> - SendSmsVerifyCode接口的字段TemplateParam,配置方式有2种:'."\n"
.'> - - {"code":"##code##","min":"5"}'."\n"
.'> - - {"code":"123456","min":"5"}'."\n"
.'> - {"code":"##code##","min":"5"}验证码是api动态生成的,阿里云接口可以完成校验。'."\n"
.'> - {"code":"123456","min":"5"}验证码是用户配置的不是api动态生成,阿里云接口无法校验。'."\n"
.'> - 请您按照实际情况传入对应的验证码。', 'type' => 'string', 'required' => true, 'example' => '1231'],
],
[
'name' => 'CaseAuthPolicy',
'in' => 'query',
'schema' => [
'description' => '验证码大小写字母核验策略。取值:'."\n"
."\n"
.'- 1:不区分大小写。'."\n"
.'- 2:区分大小写。',
'type' => 'integer',
'format' => 'int64',
'required' => false,
'enumValueTitles' => [],
'example' => '1',
'default' => '1',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '无'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '成功'],
'Model' => [
'description' => '请求结果数据。',
'type' => 'object',
'properties' => [
'OutId' => ['description' => '外部流水号。', 'type' => 'string', 'example' => '1212312'],
'VerifyResult' => ['description' => '短信验证码核验结果。取值:'."\n"
."\n"
.'- PASS:短信验证码核验成功。'."\n"
."\n"
.'- UNKNOWN:短信验证码核验失败。', 'type' => 'string', 'example' => 'PASS'],
],
],
'Code' => ['description' => '接口请求状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[返回码](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11174283.0.0.70c5616bkj38Wa)。'."\n"
.'接口请求成功不代表短信验证码核验成功,短信验证码核验结果仅以`Model.VerifyResult`参数返回值为准。>', 'type' => 'string', 'example' => 'OK'],
'Success' => ['description' => '接口调用是否成功。取值:'."\n"
."\n"
.'- true:接口调用成功。'."\n"
."\n"
.'- false:接口调用失败。'."\n"
.'接口调用成功不代表短信验证码核验成功,短信验证码核验结果仅以`Model.VerifyResult`参数返回值为准。>', 'type' => 'boolean', 'example' => 'true'],
'RequestId' => ['title' => 'Id of the request', 'type' => 'string', 'example' => 'CF8854E5-DB21-3E5D-A9B1-DDC752FD7384'],
],
'description' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '核验验证码',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [
[
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:CheckSmsVerifyCode',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', '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' => '融合认证方案用于标识App下的认证场景,一般一个认证方案对应一个App包名、包签名。调用本接口创建融合认证方案并获取方案Code。',
'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' => '方案名称,由中、英文字母构成,长度限制为10个字符。'."\n", 'description' => '方案名称,由中、英文字母构成,长度限制为10个字符。'."\n", 'type' => 'string', 'required' => true, 'example' => 'APP测试方案'],
],
[
'name' => 'Platform',
'in' => 'query',
'schema' => [
'title' => '方案应用平台',
'description' => '方案应用平台。',
'type' => 'string',
'required' => true,
'example' => 'Android',
'enum' => ['Android', 'iOS'],
],
],
[
'name' => 'AppName',
'in' => 'query',
'schema' => ['title' => '应用方案的App名称,由中、英文字母构成,长度限制20个字符。', 'description' => '应用方案的App名称,由中、英文字母构成,长度限制20个字符。', 'type' => 'string', 'required' => false, 'example' => '阿里云通信'],
],
[
'name' => 'AndroidPackageName',
'in' => 'query',
'schema' => ['title' => '包名,Platform为Android时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'description' => '包名,Platform为Android时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.android'],
],
[
'name' => 'AndroidPackageSign',
'in' => 'query',
'schema' => ['title' => '包签名,Platform为Android时必选。由数字和字母组成,长度为32个字符。', 'description' => '包签名,Platform为Android时必选。由数字和字母组成,长度为32个字符。', 'type' => 'string', 'required' => false, 'example' => 'dfsfaawklll1****olkweklk***'],
],
[
'name' => 'IosBundleId',
'in' => 'query',
'schema' => ['title' => 'BundleID,osType为iOS时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'description' => 'BundleID,osType为iOS时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.ios'],
],
[
'name' => 'H5Url',
'in' => 'query',
'schema' => ['title' => '保留字段,暂不支持H5方案', 'description' => '保留字段,暂不支持H5方案。', 'type' => 'string', 'required' => false, 'example' => '-'],
],
[
'name' => 'H5Origin',
'in' => 'query',
'schema' => ['title' => '保留字段,暂不支持H5方案。', 'description' => '保留字段,暂不支持H5方案。', 'type' => 'string', 'required' => false, 'example' => '-'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'B95B36EC-8108-4479-D3AA-2BB27F9B155A'."\n"],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '成功'],
'Model' => [
'description' => '返回结果。',
'type' => 'object',
'properties' => [
'SchemeCode' => ['description' => '方案Code', 'type' => 'string', 'example' => 'FA100000168468035'],
],
],
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[API返回码](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11186623.0.0.5c3a662fbgeAuk)。', 'type' => 'string', 'example' => 'OK'],
'Success' => ['description' => '请求是否成功。'."\n"
."\n"
.'- **true**:请求成功。'."\n"
."\n"
.'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'false'],
],
],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B95B36EC-8108-4479-D3AA-2BB27F9B155A\\\\n\\",\\n \\"Message\\": \\"成功\\",\\n \\"Model\\": {\\n \\"SchemeCode\\": \\"FA100000168468035\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]',
'title' => '创建融合认证方案号',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'dypns:CreateSchemeConfig',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
],
'CreateVerifyScheme' => [
'summary' => '认证方案用于标识App下的认证场景,一般一个认证方案对应一个App名称、App包名、包签名等信息(接入端不同对应所需参数也不同),调用本接口创建认证方案。',
'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' => '方案名称。', 'type' => 'string', 'required' => true, 'example' => '一键登录认证方案'],
],
[
'name' => 'AppName',
'in' => 'query',
'schema' => ['description' => 'App名称。', 'type' => 'string', 'required' => true, 'example' => '阿里云通信'],
],
[
'name' => 'OsType',
'in' => 'query',
'schema' => ['description' => '终端操作系统类型,取值:'."\n"
."\n"
.'- iOS'."\n"
.'- Android'."\n"
.'- Harmony'."\n"
.'- Web', 'type' => 'string', 'required' => true, 'example' => 'iOS'],
],
[
'name' => 'PackName',
'in' => 'query',
'schema' => ['description' => '包名,osType为Android时必填。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun'],
],
[
'name' => 'PackSign',
'in' => 'query',
'schema' => ['description' => '包签名,osType为Android时必填。由数字和字母组成,长度为32个字符。', 'type' => 'string', 'required' => false, 'example' => 'ecf65**********8ea68eda4c4a084cb'],
],
[
'name' => 'BundleId',
'in' => 'query',
'schema' => ['description' => 'BundleID,osType为iOS时必填。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'example.aliyundoc.com'],
],
[
'name' => 'Origin',
'in' => 'query',
'schema' => ['description' => 'H5方案页面源地址(建议填写域名级别)。', 'type' => 'string', 'required' => false, 'example' => 'https://h5.minexiot.com'],
],
[
'name' => 'Url',
'in' => 'query',
'schema' => ['description' => 'H5方案使用的页面地址。', 'type' => 'string', 'required' => false, 'example' => 'https://h5.minexiot.com/'],
],
[
'name' => 'IpWhiteList',
'in' => 'query',
'schema' => ['description' => 'IP白名单,默认可不填。', 'type' => 'string', 'required' => false, 'example' => '139.9.xx.xx'."\n"
.'122.112.xx.xx'."\n"
.'139.9.xx.xx/24'],
],
[
'name' => 'CmApiCode',
'in' => 'query',
'schema' => ['description' => '中国移动通道Code,默认可不填。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
],
[
'name' => 'CuApiCode',
'in' => 'query',
'schema' => ['description' => '中国联通通道Code,默认可不填。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2'],
],
[
'name' => 'CtApiCode',
'in' => 'query',
'schema' => ['description' => '中国电信通道Code,默认可不填。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3'],
],
[
'name' => 'SceneType',
'in' => 'query',
'schema' => ['description' => '方案类型,默认可不填。', 'type' => 'string', 'required' => false, 'example' => '0'],
],
[
'name' => 'Email',
'in' => 'query',
'schema' => ['description' => '密钥获取接收邮箱地址,默认可不填。', 'type' => 'string', 'required' => false, 'example' => 'username@aliyundoc.com'],
],
[
'name' => 'AuthType',
'in' => 'query',
'schema' => ['description' => '认证类型,默认不填,只有支持号码认证时可多选,以英文逗号间隔。'."\n"
."\n"
.'- **1**:号码认证。'."\n"
."\n"
.'- **2**:短信认证。', 'type' => 'string', 'required' => false, 'example' => '1,2'],
],
[
'name' => 'SmsSignName',
'in' => 'query',
'schema' => ['description' => '绑定的短信签名,只有AuthType包含2(短信认证)时才有效,且签名必须是号码认证产品下创建的已经审核通过的。', 'type' => 'string', 'required' => false, 'example' => '阿里云短信测试专用'],
],
[
'name' => 'HmPackageName',
'in' => 'query',
'schema' => ['description' => '包名,osType为`Harmony`时必填。由数字、字母、下划线或点组成.必须以字母开头,长度限制为7~127个字符。', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.harmonydemo'],
],
[
'name' => 'HmSignName',
'in' => 'query',
'schema' => ['description' => '包签名,osType为`Harmony`时必填。由数字和字母组成,长度为64个字符。', 'type' => 'string', 'required' => false, 'example' => '65C0B**********D4E80A135636F9A17AFFB540E4E9D2520DC095B68120EA812'],
],
[
'name' => 'HmAppIdentifier',
'in' => 'query',
'schema' => ['description' => 'AppId,osType为`Harmony`时必填。长度为19位纯数字。', 'type' => 'string', 'required' => false, 'example' => '57658*********34905'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'A1E75E69-3049-5FDB-A376-D745837CD2B1'],
'GateVerifySchemeDTO' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'SchemeCode' => ['description' => '方案号。', 'type' => 'string', 'example' => 'FC10001287****'],
],
],
'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int64', 'example' => '200'],
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Success' => ['description' => '请求是否成功。'."\n"
."\n"
.'- **true**:请求成功。'."\n"
."\n"
.'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'],
],
'description' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'SchemeNumberOverLimit', 'errorMessage' => 'The maximum number of scheme is exceeded.', 'description' => '号码认证方案数量超过限制'],
['errorCode' => 'BundleIdConflict', 'errorMessage' => 'The specified bundleId already exists.', 'description' => 'bundleId已存在'],
['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' => '你的账号没有开通本产品。'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '创建认证方案',
'description' => '### QPS限制'."\n"
.'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"A1E75E69-3049-5FDB-A376-D745837CD2B1\\",\\n \\"GateVerifySchemeDTO\\": {\\n \\"SchemeCode\\": \\"FC10001287****\\"\\n },\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E6722\\n \\n FC10001287****\\n \\n","errorExample":""}]',
],
'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' => '方案号。本参数值可以从[CreateVerifyScheme](~~CreateVerifyScheme~~)接口的返回参数`SchemeCode`获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000014164****'],
],
[
'name' => 'CustomerId',
'in' => 'query',
'schema' => ['description' => '用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345678'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'E3754956-D0B1-5947-962A-AE767D354F01'],
'Result' => ['description' => '返回结果。取值:'."\n"
."\n"
.'- **true**:删除成功'."\n"
.'- **false**:删除失败', 'type' => 'boolean', 'example' => 'true'],
],
'description' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => '接口被限流'],
['errorCode' => 'InvalidAccountStatus', 'errorMessage' => 'Your account has been suspended.', 'description' => '您的账号已被停机。'],
['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => '你的账号没有开通本产品。'],
['errorCode' => 'InvalidParameters', 'errorMessage' => 'The specified parameter is not valid.', 'description' => '参数无效'],
],
403 => [
['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'You are not authorized to perform this operation.', 'description' => '您无权执行此操作。'],
],
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' => '删除认证方案',
'summary' => '如果您不再使用某个认证方案,需要删除方案时,调用此接口或在号码认证服务控制台删除认证方案。',
'description' => '- 删除后将不再允许基于该认证方案发起认证,请务必谨慎操作。'."\n"
.'- 新增的认证方案不支持修改操作。如有需要,请先调用本接口删除原认证方案,再创建新的认证方案,并基于新方案对应的参数信息进行开发接入。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"E3754956-D0B1-5947-962A-AE767D354F01\\",\\n \\"Result\\": true\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n E3754956-D0B1-5947-962A-AE767D354F01\\n true\\n","errorExample":""}]',
],
'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' => '方案号。本参数值可以从[CreateVerifyScheme](~~CreateVerifyScheme~~)接口的返回参数`SchemeCode`获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000010643****'],
],
[
'name' => 'CustomerId',
'in' => 'query',
'schema' => ['description' => '用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1234****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '0C5380A7-2032-5F7D-9614-1BF8B54D16CB'],
'SchemeQueryResultDTO' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'AppEncryptInfo' => ['description' => '在控制台创建方案号生成的密钥。', 'type' => 'string', 'example' => 'ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****'],
],
],
],
'description' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => '接口被限流'],
['errorCode' => 'InvalidAccountStatus', 'errorMessage' => 'Your account has been suspended.', 'description' => '您的账号已被停机。'],
['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => '你的账号没有开通本产品。'],
['errorCode' => 'SceneQueryFail', 'errorMessage' => 'The specified scene does not exist.', 'description' => '指定场景未查询到数据'],
],
403 => [
['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'You are not authorized to perform this operation.', 'description' => '您无权执行此操作。'],
],
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'],
'title' => '获取认证方案密钥',
'summary' => '调用其他API接口时会用到认证方案密钥等参数信息,本接口用于获取认证方案密钥信息。',
'description' => '### QPS限制'."\n"
.'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyScheme'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:DescribeVerifyScheme',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
'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":""}]',
],
'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' => '请求页面地址。请传入在控制台创建认证方案时填入的页面地址,格式为“**协议 + // + 域名 + /**”。'."\n"
."\n"
.'> 测试可暂时传入公网IP地址,正式上线请使用域名。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'https://www.aliyundoc.com/'],
],
[
'name' => 'Origin',
'in' => 'query',
'schema' => ['description' => '请求源地址。请传入在控制台创建认证方案时填入的源地址,格式为“**协议 + // + 域名**”。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'https://www.aliyundoc.com'],
],
[
'name' => 'SceneCode',
'in' => 'query',
'schema' => ['title' => '方案号', 'description' => '方案Code。'."\n"
."\n"
.'> 因方案升级,本参数为**必填**,请在控制台创建认证方案后传入方案Code,具体操作请参见[号码认证方案管理](~~615129~~)。', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'FC10000010643****'],
],
[
'name' => 'BizType',
'in' => 'query',
'schema' => ['description' => '业务类型。取值:'."\n"
.'- 0:本机号码认证。'."\n"
.'- 1:一键登录。'."\n"
.'> 因业务流程优化,减少了客户端鉴权接口的调用,本参数为**必填**。', 'type' => 'integer', 'format' => 'int32', 'required' => false],
],
[
'name' => 'CmApiCode',
'in' => 'query',
'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '5', 'description' => ''],
],
[
'name' => 'CuApiCode',
'in' => 'query',
'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'description' => ''],
],
[
'name' => 'CtApiCode',
'in' => 'query',
'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '8', 'description' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'TokenInfo' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'AccessToken' => ['description' => '业务鉴权Token。'."\n"
."\n"
.'> AccessToken有效期是10分钟,有效期内可以重复使用。', 'type' => 'string', 'example' => 'agag****'],
'JwtToken' => ['description' => 'API鉴权Token。'."\n"
."\n"
.'> JwtToken有效期是1小时,有效期内可以重复使用。', 'type' => 'string', 'example' => 'aweghd****'],
],
],
],
'description' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'title' => '获取 H5 认证授权 Token',
'summary' => '获取授权Token用于H5本机号码校验的鉴权,返回结果包括AccessToken和JwtToken。',
'description' => '### 准备工作'."\n"
.'请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案,更多信息,请参见[H5本机号码校验使用流程](https://help.aliyun.com/zh/pnvs/getting-started/h5-page-integration)。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"TokenInfo\\": {\\n \\"AccessToken\\": \\"agag****\\",\\n \\"JwtToken\\": \\"aweghd****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n \\n agag****\\n aweghd****\\n \\n","errorExample":""}]',
],
'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' => '手机号。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1390000****'],
],
[
'name' => 'SchemeId',
'in' => 'query',
'schema' => ['description' => '授权场景ID。您可在**号码认证服务控制台**的**授权场景管理**页面查看授权场景ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '234****'],
],
[
'name' => 'EndDate',
'in' => 'query',
'schema' => ['description' => '授权结束日期,合约型方案不能为空,类型:yyyy-MM-dd。', 'type' => 'string', 'required' => false, 'example' => '2020–12–28'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'Data' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'AuthorizationUrl' => ['description' => '授权链接。', 'type' => 'string', 'example' => 'https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod'],
],
],
],
'description' => '',
],
],
],
'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' => '接口被限流'],
['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' => '获取授权链接(已下线)',
'summary' => '该接口已下线。',
'description' => '### 准备工作'."\n"
.'请先完成阿里云账号注册、获取阿里云访问密钥,更多信息,请参见[通信授权服务使用流程](~~196922~~)。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AuthorizationUrl\\": \\"https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n \\n https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod\\n \\n","errorExample":""}]',
],
'GetFusionAuthToken' => [
'summary' => '融合认证客户端完成初始化操作后,由开发者服务器发起调用此接口,获取鉴权Token。获取到的鉴权Token用于传入SDK进行鉴权。',
'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' => ['title' => '方案Code。', 'description' => '方案Code。', 'type' => 'string', 'required' => true, 'example' => 'FA1000*************201'],
],
[
'name' => 'PackageName',
'in' => 'query',
'schema' => ['title' => 'Platform为Android时必须传入,App的包名信息。', 'description' => 'Platform为Android时必须传入,App的包名信息。', 'type' => 'string', 'required' => false, 'example' => 'com.example.test'],
],
[
'name' => 'PackageSign',
'in' => 'query',
'schema' => ['title' => 'Platform为Android时必须传入,App的包签名信息。', 'description' => 'Platform为Android时必须传入,App的包签名信息。', 'type' => 'string', 'required' => false, 'example' => '47fcc************************278'],
],
[
'name' => 'BundleId',
'in' => 'query',
'schema' => ['title' => 'Platform为iOS时必须传入,App的bundleId信息。', 'description' => 'Platform为iOS时必须传入,App的bundleId信息。', 'type' => 'string', 'required' => false, 'example' => 'com.example.test'],
],
[
'name' => 'Platform',
'in' => 'query',
'schema' => ['title' => '平台,Android或者iOS。', 'description' => '平台,Android或者iOS。', 'type' => 'string', 'required' => true, 'example' => 'Android'],
],
[
'name' => 'DurationSeconds',
'in' => 'query',
'schema' => ['title' => 'Token有效时长,单位是秒,最小值900,最大值43200。', 'description' => 'Token有效时长,单位是秒,最小值900,最大值43200。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '900'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '成功'],
'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'],
'Model' => ['description' => '返回的鉴权Token字符串。该鉴权Token主要用于客户端SDK初始化时进行合法性校验。', 'type' => 'string', 'example' => 'FKcksloqk***********jalEc+'],
'Code' => ['description' => '请求状态码。'."\n"
.'- 返回OK代表请求成功。'."\n"
.'- 其他错误码,请参见错误码列表。', 'type' => 'string', 'example' => 'OK'],
'Success' => ['description' => 'API调用是否成功。取值:'."\n"
.'- true:调用成功。'."\n"
.'- false:调用失败。', 'type' => 'boolean', 'example' => 'false'],
],
'description' => '',
],
],
],
'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' => '接口被限流'],
['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' => '你的账号没有开通本产品。'],
['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' => '融合认证获取鉴权token',
'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' => '全部资源', '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' => 'App端SDK获取的登录Token。Token有效期及可使用次数:'."\n"
.'- 中国电信10分钟,仅可使用一次;'."\n"
.'- 中国联通30分钟,仅可使用一次;'."\n"
.'- 中国移动2分钟,仅可使用一次。', 'type' => 'string', 'required' => true, 'example' => 'Dfafdafad5422****'],
],
[
'name' => 'OutId',
'in' => 'query',
'schema' => ['description' => '外部流水号。'."\n"
."\n\n"
."\n\n"
."\n\n", 'type' => 'string', 'required' => false, 'example' => '22345****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。'."\n"
."\n", 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'GetMobileResultDTO' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'Mobile' => ['description' => '取得的手机号码。'."\n"
.'>该字段示例值进行了脱敏处理,实际取号成功时将返回11位明文手机号码。>', 'type' => 'string', 'example' => '139****1234'],
],
],
],
'description' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '一键登录取号',
'summary' => '本接口用于号码认证服务端一键登录取号,成功取得号码后会将号码返回。',
'description' => '### 准备工作'."\n"
.'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n"
.'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案等操作。更多信息,请参见[快速入门](~~84541~~)。'."\n"
.'>本接口仅适用于一键登录或注册场景,需最终用户经过一键登录SDK提供的授权页确认授权后方可调用。开发者不得通过任何手段模拟或越过授权,否则我方有权终止服务并追究相应法律责任。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为5000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GetMobileResultDTO\\": {\\n \\"Mobile\\": \\"139****1234\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n请求成功\\n8906582E-6722\\nOK\\n\\n 150****0000\\n\\n","errorExample":""}]',
],
'GetPhoneWithToken' => [
'summary' => '本接口用于号码认证服务端(H5能力专用)一键登录取号,成功取得号码后会将号码返回。',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid'],
'parameters' => [
[
'name' => 'SpToken',
'in' => 'query',
'schema' => ['description' => 'JSSDK获取的号码认证Token。'."\n"
.'Token有效期及可使用次数:'."\n"
.'- 中国电信10分钟,仅可使用一次;'."\n"
.'- 中国联通30分钟,仅可使用一次;'."\n"
.'- 中国移动2分钟,仅可使用一次。', 'type' => 'string', 'required' => true, 'example' => 'Dfafdafad542****'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '结构体',
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求id。', 'type' => 'string', 'example' => '0F335F48-****-****-****-CA7914FE5D77'],
'Data' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'Mobile' => ['description' => '手机号。', 'type' => 'string', 'example' => '13900001234'],
],
],
],
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '一键登录取号(H5能力专用)',
'description' => '### 准备工作'."\n"
.'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n"
.'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案等操作。更多信息,请参见[快速入门](~~84541~~)。'."\n"
.'>本接口仅适用于H5场景下的一键登录或注册场景,需最终用户经过一键登录JS-SDK提供的授权页确认授权后方可调用。开发者不得通过任何手段模拟或越过授权,否则我方有权终止服务并追究相应法律责任。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"0F335F48-****-****-****-CA7914FE5D77\\",\\n \\"Data\\": {\\n \\"Mobile\\": \\"13900001234\\"\\n }\\n}","type":"json"}]',
],
'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' => '包名。OsType为**Android**时必传。', 'type' => 'string', 'required' => false, 'example' => 'com.aliqin.mytel.test'],
],
[
'name' => 'SignName',
'in' => 'query',
'schema' => ['description' => '签名。OsType为**Android**时必传。', 'type' => 'string', 'required' => false, 'example' => '47fcc6615485e83b4100433****'],
],
[
'name' => 'SceneCode',
'in' => 'query',
'schema' => ['description' => '方案号。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC100000134840112'],
],
[
'name' => 'OsType',
'in' => 'query',
'schema' => ['description' => '系统类型。取值:**Android**或**iOS**。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Android'],
],
[
'name' => 'BundleId',
'in' => 'query',
'schema' => ['description' => 'iOS应用ID。OsType为**iOS**时必传。', 'type' => 'string', 'required' => false, 'example' => '12345****'],
],
[
'name' => 'Expire',
'in' => 'query',
'schema' => ['description' => 'Token有效期(单位:秒),最小900,最大43200。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '43200', 'minimum' => '900', 'example' => '900'],
],
[
'name' => 'SmsTemplateCode',
'in' => 'query',
'schema' => ['description' => '短信模板Code。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS_13987****'],
],
[
'name' => 'SmsCodeExpire',
'in' => 'query',
'schema' => ['description' => '短信验证码有效期(单位:秒),默认180。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '请求状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'Data' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'BizToken' => ['description' => '业务Token。', 'type' => 'string', 'example' => 'FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****'],
'StsAccessKeySecret' => ['description' => '访问密钥。', 'type' => 'string', 'example' => 'VboZ4xbZ****'],
'StsAccessKeyId' => ['description' => '访问密钥ID。', 'type' => 'string', 'example' => 'STS.NSqC****'],
'ExpireTime' => ['description' => '过期时间。时间戳表示。', 'type' => 'integer', 'format' => 'int64', 'example' => '1631526326000'],
'StsToken' => ['description' => '安全令牌。', 'type' => 'string', 'example' => 'CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****'],
],
],
],
'description' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'SmsSignNameNotExist', 'errorMessage' => 'The specified sms signName is invalid.', 'description' => '短信签名不存在'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '获取短信验证码授权Token(已下线)',
'summary' => '该接口已下线。',
'description' => '### 准备工作'."\n"
.'请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案等操作,更多信息,请参见[短信认证使用流程](~~313209~~)。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为5000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"BizToken\\": \\"FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****\\",\\n \\"StsAccessKeySecret\\": \\"VboZ4xbZ****\\",\\n \\"StsAccessKeyId\\": \\"STS.NSqC****\\",\\n \\"ExpireTime\\": 1631526326000,\\n \\"StsToken\\": \\"CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n \\n FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****\\n VboZ4xbZ****\\n STS.NSqC****\\n 1631526326000\\n CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****\\n \\n","errorExample":""}]',
],
'QueryGateVerifyBillingPublic' => [
'summary' => '调用此接口查询某种认证方式下的月份费用账单。',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'Month',
'in' => 'query',
'schema' => ['description' => '月份费用账单。格式为YYYYMM,例如202111。', 'type' => 'string', 'required' => true, 'example' => '202111'],
],
[
'name' => 'AuthenticationType',
'in' => 'query',
'schema' => ['description' => '认证方式。取值:'."\n"
."\n"
.'- **0**:本机号码校验。'."\n"
."\n"
.'- **1**:一键登录。'."\n"
."\n"
.'- **2**:全部。'."\n"
."\n"
.'- **3**:活体认证。'."\n"
."\n"
.'- **4**:短信认证。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '99', 'minimum' => '0', 'example' => '1'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。取值:'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'successful'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'Data' => [
'description' => '具体到每个方案号的计费量和金额。',
'type' => 'object',
'properties' => [
'AmountSum' => ['description' => '该方案的消费金额(单位:元)。', 'type' => 'string', 'example' => '1234'],
'SceneBillingList' => [
'description' => '消费金额列表。',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Add' => ['description' => '计费量。', 'type' => 'string', 'example' => '74'],
'SinglePrice' => ['description' => '单价(单位:元)。', 'type' => 'string', 'example' => '0.02'],
'Amount' => ['description' => '该方案的消费金额(单位:元)。', 'type' => 'string', 'example' => '1.48'],
'ItemName' => ['description' => '认证方式。', 'type' => 'string', 'example' => '本机号码校验'],
'SceneCode' => ['description' => '方案Code。', 'type' => 'string', 'example' => 'FC100000038194004'],
'AppName' => ['description' => 'App名称。', 'type' => 'string', 'example' => '阿里云'],
'SceneName' => ['description' => '方案名称。', 'type' => 'string', 'example' => '阿里云通信'],
],
'description' => '',
],
],
],
],
],
'description' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '查询费用情况',
'description' => '### QPS限制'."\n"
.'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'changeSet' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AmountSum\\": \\"1234\\",\\n \\"SceneBillingList\\": [\\n {\\n \\"Add\\": \\"74\\",\\n \\"SinglePrice\\": \\"0.02\\",\\n \\"Amount\\": \\"1.48\\",\\n \\"ItemName\\": \\"本机号码校验\\",\\n \\"SceneCode\\": \\"FC100000038194004\\",\\n \\"AppName\\": \\"阿里云\\",\\n \\"SceneName\\": \\"阿里云通信\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n \\n 92760\\n 1234\\n \\n 74\\n 15810****\\n 0.02\\n 1.48\\n 本机号码校验\\n FC100000038194004\\n 阿里云\\n 阿里云通信\\n www.example.com\\n \\n \\n","errorExample":""}]',
],
'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' => '方案号。', 'type' => 'string', 'required' => false, 'example' => 'FC100000038194004'],
],
[
'name' => 'StartDate',
'in' => 'query',
'schema' => ['description' => '起始日期。格式为YYYYMMDD,例如20220101。', 'type' => 'string', 'required' => true, 'example' => '20220101'],
],
[
'name' => 'EndDate',
'in' => 'query',
'schema' => ['description' => '结束日期。格式为YYYYMMDD,例如20220106。', 'type' => 'string', 'required' => true, 'example' => '20220106'],
],
[
'name' => 'AuthenticationType',
'in' => 'query',
'schema' => ['description' => '认证方式。取值:'."\n"
."\n"
.'- **1**:一键登录。'."\n"
."\n"
.'- **2**:本机号码校验(含H5本机号码校验)。'."\n"
."\n"
.'- **3**:短信认证。'."\n"
."\n"
.'- **4**:活体认证。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '99', 'minimum' => '0', 'example' => '1'],
],
[
'name' => 'OsType',
'in' => 'query',
'schema' => ['description' => '系统类型。取值:'."\n"
."\n"
.'- **Android**。'."\n"
."\n"
.'- **iOS**。', 'type' => 'string', 'required' => false, 'example' => 'Android'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。取值:'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'Data' => [
'description' => '包括统计日期范围内的总的调用量、调用成功量、调用失败量、调用未知量,及每一天的用量统计。',
'type' => 'object',
'properties' => [
'TotalFail' => ['description' => '日期范围内的失败调用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
'Total' => ['description' => '日期范围内总调用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
'TotalSuccess' => ['description' => '日期范围内的成功调用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
'TotalUnknown' => ['description' => '日期范围内的未知调用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
'DayStatistic' => [
'description' => '每日的调用明细。',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'StatisticDateStr' => ['description' => '日期,精确到天。格式为YYYYMMDD,例如20220103。', 'type' => 'string', 'example' => '20220103'],
'TotalSuccess' => ['description' => '该日期的成功调用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
'TotalFail' => ['description' => '该日期的失败调用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
'TotalUnknown' => ['description' => '该日期的未知调用量。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
],
'description' => '',
],
],
],
],
],
'description' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '查询用量情况',
'summary' => '调用此接口查看统计日期范围内,某个认证方式的总调用量、调用成功量、调用失败量、调用未知量,及每一天的用量统计。',
'description' => '### QPS限制'."\n"
.'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'changeSet' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"TotalFail\\": 20,\\n \\"Total\\": 20,\\n \\"TotalSuccess\\": 0,\\n \\"TotalUnknown\\": 0,\\n \\"DayStatistic\\": [\\n {\\n \\"StatisticDateStr\\": \\"20220103\\",\\n \\"TotalSuccess\\": 0,\\n \\"TotalFail\\": 20,\\n \\"TotalUnknown\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n \\n 20\\n 20\\n 0\\n 0\\n \\n 20220103\\n 0\\n 20\\n 0\\n \\n \\n","errorExample":""}]',
],
'QuerySendDetails' => [
'summary' => '查询短信验证码发送状态(仅能查询短信认证API版本的发送记录)。',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => true,
'systemTags' => ['operationType' => 'list'],
'parameters' => [
[
'name' => 'PhoneNumber',
'in' => 'query',
'schema' => ['description' => '手机号。', 'type' => 'string', 'required' => true, 'example' => '186****9399'],
],
[
'name' => 'SendDate',
'in' => 'query',
'schema' => ['description' => '短信发送日期,支持查询最近30天的记录。'."\n"
."\n"
.'格式为:yyyyMMdd,例如20181225。', 'type' => 'string', 'required' => true, 'example' => '20181225'],
],
[
'name' => 'BizId',
'in' => 'query',
'schema' => ['description' => '业务的唯一标识号,由阿里云提供。', 'type' => 'string', 'required' => false, 'example' => '1231891289318923^12'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '50', 'default' => ''],
],
[
'name' => 'CurrentPage',
'in' => 'query',
'schema' => ['description' => '当前读取第几页消息,从1开始递增,读取消息时不可超过最大页数。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'default' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '无'],
'TotalCount' => ['description' => '列表数据总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '42'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '成功'],
'Model' => [
'description' => '请求结果数据。',
'type' => 'array',
'items' => [
'description' => '请求结果数据。',
'type' => 'object',
'properties' => [
'TemplateCode' => ['description' => '短信模板CODE。'."\n"
."\n"
.'请在控制台**国内消息**或**国际/港澳台消息**页面中的**模板管理**页签下**模板CODE**一列查看。'."\n"
."\n"
.'>必须是已添加、并通过审核的模板CODE;且发送国际/港澳台消息时,请使用国际/港澳台短信模版。', 'type' => 'string', 'example' => 'SMS_12231****'."\n"],
'ReceiveDate' => ['description' => '短信接收日期和时间。', 'type' => 'string', 'example' => '2019-01-08 16:44:13'."\n"],
'PhoneNum' => ['description' => '手机号。', 'type' => 'string', 'example' => '1390000****'."\n"],
'Content' => ['description' => '短信内容。', 'type' => 'string', 'example' => '203160'],
'SendStatus' => [
'description' => '短信发送状态。'."\n"
.'- 1:等待回执。'."\n"
.'- 2:发送失败。'."\n"
.'- 3:发送成功。',
'type' => 'integer',
'format' => 'int64',
'enumValueTitles' => [],
'example' => '3',
],
'OutId' => ['description' => '外部流水扩展字段。', 'type' => 'string', 'example' => '12131231'],
'SendDate' => ['description' => '短信发送日期,支持查询最近30天的记录。'."\n"
."\n"
.'格式为yyyyMMdd,例如20181225。', 'type' => 'string', 'example' => '2019-01-08 16:44:13'."\n"],
'ErrCode' => ['description' => '运营商短信状态码。'."\n"
."\n"
.'- 短信发送成功:DELIVERED。'."\n"
.'- 短信发送失败:发送失败,详情请参见[错误码](https://help.aliyun.com/document_detail/101347.html?spm=a2c4g.419277.0.i8)。', 'type' => 'string', 'example' => 'DELIVERED'],
],
],
'example' => '',
],
'Code' => ['description' => '请求状态码。'."\n"
."\n"
.'返回OK代表请求成功。'."\n"
.'其他错误码,请参见[错误码列表](https://help.aliyun.com/document_detail/101346.html?spm=a2c4g.419277.0.i11)。', 'type' => 'string', 'example' => 'OK'],
'Success' => ['description' => '调用API是否成功。'."\n"
."\n"
.'- true:成功。'."\n"
."\n"
.'- false:失败。', 'type' => 'boolean', 'example' => 'true'],
],
],
],
],
'staticInfo' => ['noSubstitutionReason' => '暂无替代API,请关注后续API最新发布。'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"TotalCount\\": 42,\\n \\"Message\\": \\"成功\\",\\n \\"Model\\": [\\n {\\n \\"TemplateCode\\": \\"SMS_12231****\\\\n\\",\\n \\"ReceiveDate\\": \\"2019-01-08 16:44:13\\\\n\\",\\n \\"PhoneNum\\": \\"1390000****\\\\n\\",\\n \\"Content\\": \\"203160\\",\\n \\"SendStatus\\": 3,\\n \\"OutId\\": \\"12131231\\",\\n \\"SendDate\\": \\"2019-01-08 16:44:13\\\\n\\",\\n \\"ErrCode\\": \\"DELIVERED\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]',
'title' => '查询短信验证码发送状态',
'changeSet' => [],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'dypns:QuerySendDetails',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
],
'SendSmsVerifyCode' => [
'summary' => '发送短信验证码。',
'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' => '方案名称,如果不填则为“默认方案”。最多不超过20个字符。', 'type' => 'string', 'required' => false, 'example' => '测试方案', 'default' => '默认方案'],
],
[
'name' => 'CountryCode',
'in' => 'query',
'schema' => ['description' => '号码国家编码。默认为86,目前也仅支持国内号码发送。', 'type' => 'string', 'required' => false, 'example' => '86', 'default' => '86'],
],
[
'name' => 'PhoneNumber',
'in' => 'query',
'schema' => ['description' => '短信接收方手机号。', 'type' => 'string', 'required' => true, 'example' => '130****0000'],
],
[
'name' => 'SignName',
'in' => 'query',
'schema' => ['description' => '签名名称。暂不支持使用自定义签名,请使用系统赠送的签名,您可在[赠送签名配置](https://dypns.console.aliyun.com/smsCertParamsConfig/sign)页面选择需要下发的签名。', 'type' => 'string', 'required' => true, 'example' => '恒创联众'],
],
[
'name' => 'TemplateCode',
'in' => 'query',
'schema' => ['description' => '短信模板CODE。参数`SignName`选择赠送签名时,必须搭配赠送模板下发短信。您可在[赠送模板配置](https://dypns.console.aliyun.com/smsCertParamsConfig/template)页面选择适用您业务场景的模板。', 'type' => 'string', 'required' => true, 'example' => '100001'],
],
[
'name' => 'TemplateParam',
'in' => 'query',
'schema' => ['description' => '短信模板参数。验证码位置有两种传值方式:'."\n"
."\n"
.'- 可使用"##code##"替代,由参数CodeType指定验证码生成规则;'."\n"
.'- 也可直接传入具体的验证码值,直接下发至接收方。'."\n"
."\n"
.'示例:如模板内容为:“您的验证码是${code},有效期${min}分钟,请勿告诉他人。”。'."\n"
.'上文中的code请替换成您实际申请的验证码模板中的参数名称'."\n"
.'- 该字段可传入`{"code":"##code##","min":"5"}`由系统根据规则生成验证码;'."\n"
."\n"
.'- 或直接传入指定的验证码值`{"code":"123456","min":"5"}`。'."\n"
."\n"
.'> - {"code":"##code##","min":"5"}验证码是api动态生成的,阿里云接口可以完成校验。'."\n"
.'> - {"code":"123456","min":"5"}验证码是用户配置的不是api动态生成,阿里云接口无法校验。'."\n"
."\n"
.'> - 如果JSON中需要带换行符,请参照标准的JSON协议处理。'."\n"
.'> - 模板变量规范,请参见[短信模板规范](~~108253~~)。', 'type' => 'string', 'required' => true, 'example' => '{"code":"##code##","min":"5"}'],
],
[
'name' => 'SmsUpExtendCode',
'in' => 'query',
'schema' => ['description' => '上行短信扩展码。上行短信指发送给通信服务提供商的短信,用于定制某种服务、完成查询,或是办理某种业务等,需要收费,按运营商普通短信资费进行扣费。'."\n"
."\n"
.'>扩展码是生成签名时系统自动默认生成的,不支持自行传入。无特殊需要此字段的用户请忽略此字段。如需使用,请联系您的商务经理。', 'type' => 'string', 'required' => false, 'example' => '1213123'],
],
[
'name' => 'OutId',
'in' => 'query',
'schema' => ['description' => '外部流水号。', 'type' => 'string', 'required' => false, 'example' => '外部流水号(透传)'],
],
[
'name' => 'CodeLength',
'in' => 'query',
'schema' => ['description' => '验证码长度支持4~8位长度,默认是4位。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4', 'default' => '4'],
],
[
'name' => 'ValidTime',
'in' => 'query',
'schema' => ['description' => '验证码有效时长,单位秒,默认为300秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '300', 'default' => '300'],
],
[
'name' => 'DuplicatePolicy',
'in' => 'query',
'schema' => [
'description' => '核验规则,当有效时间内对同场景内的同号码重复发送验证码时,旧验证码如何处理。'."\n"
."\n"
.'- 1:覆盖处理(默认),即旧验证码会失效掉。'."\n"
."\n"
.'- 2:保留,即多个验证码都是在有效期内都可以校验通过。',
'type' => 'integer',
'format' => 'int64',
'required' => false,
'enumValueTitles' => [1 => '覆盖', '保留'],
'example' => '1',
'default' => '1',
],
],
[
'name' => 'Interval',
'in' => 'query',
'schema' => ['description' => '时间间隔,单位:秒。即多久间隔可以发送一次验证码,用于频控,默认60秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'default' => '60'],
],
[
'name' => 'CodeType',
'in' => 'query',
'schema' => [
'description' => '生成的验证码类型。当参数TemplateParam传入占位符时,此参数必填,将由系统根据指定的规则生成验证码。取值:'."\n"
.'- 1:纯数字(默认)。'."\n"
.'- 2:纯大写字母。'."\n"
.'- 3:纯小写字母。'."\n"
.'- 4:大小字母混合。'."\n"
.'- 5:数字+大写字母混合。'."\n"
.'- 6:数字+小写字母混合。'."\n"
.'- 7:数字+大小写字母混合。',
'type' => 'integer',
'format' => 'int64',
'required' => false,
'enumValueTitles' => [1 => '纯数字', '纯大写字母', '纯小写字母', '大小字母混合', '数字+大写字母混合', '数字+小写字母混合', '数字+大小写字母混合'],
'example' => '1',
'default' => '1',
],
],
[
'name' => 'ReturnVerifyCode',
'in' => 'query',
'schema' => ['description' => '是否返回验证码。取值:'."\n"
.'- **true**:返回。'."\n"
.'- **false**:不返回。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'],
],
[
'name' => 'AutoRetry',
'in' => 'query',
'schema' => ['description' => '是否自动替换签名重试(默认开启),可取值:'."\n"
."\n"
.'- 1 开启自动重试功能,开启后,在验证码有效期内,当运营商返回明确的失败状态时,允许阿里云尽可能的尝试使用其他方式发送验证码,以提升发送成功率。其他方式包括且不限于:通过其他运营商重试、更换签名重试等'."\n"
."\n"
.'- 0 不开启自动重试', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '是否自动重试', 'default' => '1'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '无'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '成功 '],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'],
'Model' => [
'description' => '请求结果数据。',
'type' => 'object',
'properties' => [
'VerifyCode' => ['description' => '验证码。', 'type' => 'string', 'example' => '4232'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'a3671ccf-0102-4c8e-8797-a3678e091d09'],
'OutId' => ['description' => '外部流水号。', 'type' => 'string', 'example' => '1231231313'],
'BizId' => ['description' => '业务ID。', 'type' => 'string', 'example' => '112231421412414124123^4'],
],
],
'Code' => ['description' => '请求状态码。返回OK代表请求成功。其他错误码,请参见[返回码列表](https://help.aliyun.com/zh/pnvs/developer-reference/api-return-code?spm=a2c4g.11174283.0.0.70c5616bkj38Wa)。', 'type' => 'string', 'example' => 'OK'],
'Success' => ['description' => '请求是否成功。'."\n"
."\n"
.'- **true**:请求成功。'."\n"
."\n"
.'- **false**:请求失败。', 'type' => 'boolean', 'example' => 'true'],
],
'description' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MOBILE_NUMBER_ILLEGAL', 'errorMessage' => 'The mobile number is illegal.', 'description' => '手机号码格式错误'],
['errorCode' => 'BUSINESS_LIMIT_CONTROL', 'errorMessage' => 'The number has exceeded the limit for the day.', 'description' => '触发号码天级流控'],
['errorCode' => 'FREQUENCY_FAIL', 'errorMessage' => 'Check frequency fail.', 'description' => '频控校验未通过'],
['errorCode' => 'INVALID_PARAMETERS', 'errorMessage' => 'parameter is not valid.', 'description' => '非法参数'],
['errorCode' => 'FUNCTION_NOT_OPENED', 'errorMessage' => 'You have not opened this function.', 'description' => '没有开通融合认证功能'],
],
],
'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' => '发送短信验证码',
'description' => '- 由于运营商近期加强对短信签名的管控。您自定义的签名面临下发失败问题,推荐您使用号码认证控制台赠送的短信签名和模板进行短信认证。系统赠送签名必须搭配系统赠送模板使用。'."\n"
.'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~),短信认证服务仅收取短信发送费用(按运营商回执状态计费,短信提交成功但运营商回执失败时不计费),核验服务免费。',
'changeSet' => [
['createdAt' => '2026-01-15T07:40:37.000Z', 'description' => 'OpenAPI 下线'],
['createdAt' => '2025-09-26T14:45:55.000Z', 'description' => 'OpenAPI 下线'],
['createdAt' => '2025-09-26T14:45:51.000Z', 'description' => 'OpenAPI 下线'],
['createdAt' => '2025-09-26T14:43:10.000Z', 'description' => 'OpenAPI 下线'],
],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'dypns:SendSmsVerifyCode',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', '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' => 'App端SDK获取的AccessCode参数值,即本机号码校验Token。'."\n"
.'Token有效期及可使用次数:'."\n"
.'- 中国电信10分钟,仅可使用一次;'."\n"
.'- 中国联通30分钟,仅可使用一次;'."\n"
.'- 中国移动2分钟,仅可使用一次。', 'type' => 'string', 'required' => true, 'example' => 'Dfafdafad542****'],
],
[
'name' => 'PhoneNumber',
'in' => 'query',
'schema' => ['description' => '待核验的手机号。', 'type' => 'string', 'required' => true, 'example' => '13800****00'],
],
[
'name' => 'OutId',
'in' => 'query',
'schema' => ['description' => '外部流水号。', 'type' => 'string', 'required' => false, 'example' => '123456'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'GateVerifyResultDTO' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'VerifyResult' => ['description' => '认证结果。取值:'."\n"
."\n"
.'- **PASS**:一致。'."\n"
."\n"
.'- **REJECT**:不一致。'."\n"
.' '."\n"
.'- **UNKNOWN**:无法判断。', 'type' => 'string', 'example' => 'PASS'],
'VerifyId' => ['description' => '流水号。', 'type' => 'string', 'example' => '121343241'],
],
],
],
'description' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '本机号码校验认证',
'summary' => '调用本接口进行本机号码校验认证,认证完成后返回认证结果。',
'description' => '### 准备工作'."\n"
.'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n"
.'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案,更多信息,请参见[快速入门](~~84541~~)。'."\n"
."\n"
.'>该接口仅适用于本机号码校验,如果您想使用一键登录,请参见[GetMobile](~~189865~~)。'."\n"
."\n"
.'### QPS限制'."\n"
."\n"
.'本接口的单用户QPS限制为5000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerifyResultDTO\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"121343241\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n PASS\\n 121343241\\n\\n请求成功\\n8906582E-6722\\nOK\\n","errorExample":""}]',
],
'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' => '待核验的手机号。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1380000****'],
],
[
'name' => 'SpToken',
'in' => 'query',
'schema' => ['description' => 'JSSDK获取的号码认证Token。Token有效期及可使用次数:'."\n"
.'- 中国电信10分钟,仅可使用一次;'."\n"
.'- 中国联通30分钟,仅可使用一次;'."\n"
.'- 中国移动2分钟,仅可使用一次。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Dfafdafad542****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
'GateVerify' => [
'description' => '结构体。',
'type' => 'object',
'properties' => [
'VerifyResult' => ['description' => '认证结果。取值:'."\n"
."\n"
.'- PASS:一致。'."\n"
."\n"
.'- REJECT:不一致。'."\n"
."\n"
.'- UNKNOWN:无法判断。', 'type' => 'string', 'example' => 'PASS'],
'VerifyId' => ['description' => '流水号。', 'type' => 'string', 'example' => '12134****'],
],
],
],
'description' => '',
],
],
],
'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' => '你的账号没有开通本产品。'],
['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' => '本机号码校验(H5能力专用)',
'summary' => '调用本接口进行H5页面本机号码校验认证,认证完成后返回认证结果。',
'description' => '### 准备工作'."\n"
.'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n"
.'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案,更多信息,请参见[H5本机号码校验使用流程](~~169786~~)。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerify\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"12134****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n \\n PASS\\n 12134****\\n \\n","errorExample":""}]',
],
'VerifySmsCode' => [
'summary' => '该接口已下线。',
'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' => '验证码。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '12****'],
],
[
'name' => 'PhoneNumber',
'in' => 'query',
'schema' => ['description' => '手机号。获取短信验证码时返回。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1321111****'],
],
[
'name' => 'SmsToken',
'in' => 'query',
'schema' => ['description' => '短信Token。'."\n"
.'当您成功调用短信验证码SDK中发送验证码接口,终端用户会收到短信验证码,SDK侧会返回用于短信验证码校验的SmsToken。其中Android客户端调用sendVerifyCode接口发送验证码,iOS客户端调用sendVerifyCodeWithTimeout接口发送验证码。详情请参见[接入概述](~~400434~~)。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sddsbvdbvjd****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Code' => ['description' => '状态码。'."\n"
."\n"
.'- 返回OK代表请求成功。'."\n"
."\n"
.'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', 'type' => 'string', 'example' => 'OK'],
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'],
'Data' => ['description' => '验证是否成功。取值:'."\n"
."\n"
.'- **true**:验证成功。'."\n"
."\n"
.'- **false**:验证失败。', 'type' => 'boolean', 'example' => 'true'],
'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8906582E-6722'],
],
'description' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => '你的账号没有开通本产品。'],
['errorCode' => 'SmsCodeVerifyFail', 'errorMessage' => 'The specified smsCode is invalid.', 'description' => '短信验证码失败'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '完成短信验证码校验(已下线)',
'description' => '### 准备工作'."\n"
.'请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案等操作,更多信息,请参见[短信认证使用流程](~~313209~~)。'."\n"
.'### QPS限制'."\n"
.'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。',
'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' => [],
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"8906582E-6722\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n true\\n 8906582E-6722\\n","errorExample":""}]',
],
'VerifyWithFusionAuthToken' => [
'summary' => '融合认证客户端发起认证时,由开发者服务器通过鉴权Token换取的认证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' => '统一认证Token,由客户端SDK返回。', 'type' => 'string', 'required' => true, 'example' => 'LD108enNdlsl*******sFLKCks1=='],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '结构体',
'type' => 'object',
'properties' => [
'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '示例值'],
'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'."\n"],
'Model' => [
'description' => '请求结果数据',
'type' => 'object',
'properties' => [
'PhoneNumber' => ['description' => '手机号,认证成功时返回该字段。'."\n"
.'>该字段示例值进行了脱敏处理,实际认证成功时将返回11位明文手机号码。>', 'type' => 'string', 'example' => '180****1234'],
'VerifyResult' => ['description' => '认证结果。取值:'."\n"
.'- PASS:认证成功;'."\n"
.'- UNKNOWN:认证失败。', 'type' => 'string', 'example' => 'PASS'],
'PhoneScore' => ['description' => '手机号评分,只有开启手机号评分节点,并且认证通过后才会给出。取值范围[0,100],分越大,风险系数越高。', 'type' => 'integer', 'format' => 'int64', 'example' => '20'],
],
],
'Code' => ['description' => '请求状态码。'."\n"
.'- 返回OK代表请求成功。'."\n"
.'- 其他错误码,请参见错误码列表。', 'type' => 'string', 'example' => 'OK'],
'Success' => ['description' => 'API调用是否成功。取值:'."\n"
.'- true:调用成功。'."\n"
.'- false:调用失败。', 'type' => 'boolean', 'example' => 'true'],
],
],
],
],
'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' => '接口被限流'],
['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' => '你的账号没有开通本产品。'],
['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' => '融合认证获取认证结果',
'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' => '全部资源', 'arn' => '*'],
],
],
],
],
'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"}]',
],
],
'endpoints' => [
['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-north-2-gov-1', 'regionName' => '北京政务云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
['regionId' => 'cn-hangzhou-finance', 'regionName' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dypnsapi.aliyuncs.com', 'endpoint' => 'dypnsapi.aliyuncs.com', 'vpc' => ''],
],
'errorCodes' => [
['code' => 'BundleIdConflict', 'message' => 'The specified bundleId already exists.', 'http_code' => 400, 'description' => 'bundleId已存在'],
['code' => 'BUSINESS_LIMIT_CONTROL', 'message' => 'The number has exceeded the limit for the day.', 'http_code' => 400, 'description' => '触发号码天级流控'],
['code' => 'CertifyIdInvalid', 'message' => 'The certifyId is invalid.', 'http_code' => 500, 'description' => '无效的certifyId'],
['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' => '频控校验未通过'],
['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' => '没有开通融合认证功能'],
['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' => '非法参数'],
['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' => '无效的融合认证Token'],
['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' => '手机号码格式错误'],
['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' => '接口被限流'],
['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' => '您无权执行此操作。'],
['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' => '你的账号没有开通本产品。'],
['code' => 'VALIDATE_FAIL', 'message' => 'sms code validate fail.', 'http_code' => 400, 'description' => '验证失败'],
['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' => '账号行为异常未通过风险检测,请确认账号行为和使用场景合法合规,验证场景仅支持在工信部已备案的网站、APP、小程序或快应用。'],
],
'changeSet' => [
[
'apis' => [
['description' => 'OpenAPI 下线', 'api' => 'SendSmsVerifyCode'],
['description' => 'OpenAPI 下线', 'api' => 'SendSmsVerifyCode'],
],
'createdAt' => '2025-09-26T14:45:55.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'OpenAPI 下线', 'api' => 'SendSmsVerifyCode'],
],
'createdAt' => '2025-09-26T14:45:51.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'OpenAPI 下线', 'api' => 'SendSmsVerifyCode'],
],
'createdAt' => '2025-09-26T14:43:10.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' => '号码认证服务',
'ramCodes' => ['dypns'],
'ramLevel' => '服务级',
'ramConditions' => [],
'ramActions' => [
[
'apiName' => 'GetSmsAuthTokens',
'description' => '获取短信验证码授权Token(已下线)',
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:GetSmsAuthTokens',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeVerifyScheme',
'description' => '获取认证方案密钥',
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:DescribeVerifyScheme',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryGateVerifyStatisticPublic',
'description' => '查询用量情况',
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:QueryGateVerifyStatisticPublic',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'VerifyWithFusionAuthToken',
'description' => '融合认证获取认证结果',
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:VerifyWithFusionAuthToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetAuthToken',
'description' => '获取 H5 认证授权 Token',
'operationType' => 'create',
'ramAction' => [
'action' => 'dypns:GetAuthToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteVerifyScheme',
'description' => '删除认证方案',
'operationType' => 'delete',
'ramAction' => [
'action' => 'dypns:DeleteVerifyScheme',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateSchemeConfig',
'description' => '创建融合认证方案号',
'operationType' => 'create',
'ramAction' => [
'action' => 'dypns:CreateSchemeConfig',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetFusionAuthToken',
'description' => '融合认证获取鉴权token',
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:GetFusionAuthToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'SendSmsVerifyCode',
'description' => '发送短信验证码',
'operationType' => 'create',
'ramAction' => [
'action' => 'dypns:SendSmsVerifyCode',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetPhoneWithToken',
'description' => '一键登录取号(H5能力专用)',
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:GetPhoneWithToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetMobile',
'description' => '一键登录取号',
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:GetMobile',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetAuthorizationUrl',
'description' => '获取授权链接(已下线)',
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:GetAuthorizationUrl',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'CheckSmsVerifyCode',
'description' => '核验验证码',
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:CheckSmsVerifyCode',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'VerifySmsCode',
'description' => '完成短信验证码校验(已下线)',
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:VerifySmsCode',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'VerifyMobile',
'description' => '本机号码校验认证',
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:VerifyMobile',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'VerifyPhoneWithToken',
'description' => '本机号码校验(H5能力专用)',
'operationType' => 'none',
'ramAction' => [
'action' => 'dypns:VerifyPhoneWithToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'QueryGateVerifyBillingPublic',
'description' => '查询费用情况',
'operationType' => 'get',
'ramAction' => [
'action' => 'dypns:QueryGateVerifyBillingPublic',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateVerifyScheme',
'description' => '创建认证方案',
'operationType' => 'create',
'ramAction' => [
'action' => 'dypns:CreateVerifyScheme',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
'resourceTypes' => [],
],
];