diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/zh_cn/dypnsapi | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/zh_cn/dypnsapi')
| -rw-r--r-- | data/zh_cn/dypnsapi/2017-05-25/api-docs.php | 4543 |
1 files changed, 1837 insertions, 2706 deletions
diff --git a/data/zh_cn/dypnsapi/2017-05-25/api-docs.php b/data/zh_cn/dypnsapi/2017-05-25/api-docs.php index 0582a88..0921f11 100644 --- a/data/zh_cn/dypnsapi/2017-05-25/api-docs.php +++ b/data/zh_cn/dypnsapi/2017-05-25/api-docs.php @@ -1,345 +1,265 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dypnsapi', - 'version' => '2017-05-25', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dypnsapi', 'version' => '2017-05-25'], 'directories' => [ [ - 'id' => 186296, - 'title' => '短信认证服务', + 'children' => ['SendSmsVerifyCode', 'CheckSmsVerifyCode'], 'type' => 'directory', - 'children' => [ - 'SendSmsVerifyCode', - 'CheckSmsVerifyCode', - ], + 'title' => '短信认证服务', + 'id' => 459197, ], [ - 'id' => 134039, - 'title' => '号码认证服务', - 'type' => 'directory', 'children' => [ [ - 'id' => 182057, - 'title' => '客户端一键登录和本机号码校验', + 'children' => ['VerifyMobile', 'GetMobile'], 'type' => 'directory', - 'children' => [ - 'VerifyMobile', - 'GetMobile', - ], + 'title' => '客户端一键登录和本机号码校验', + 'id' => 459199, ], [ - 'id' => 175693, - 'title' => 'H5一键登录和本机号码校验', + 'children' => ['GetAuthToken', 'GetPhoneWithToken', 'VerifyPhoneWithToken'], 'type' => 'directory', - 'children' => [ - 'GetAuthToken', - 'GetPhoneWithToken', - 'VerifyPhoneWithToken', - ], + 'title' => 'H5一键登录和本机号码校验', + 'id' => 459200, ], ], + 'type' => 'directory', + 'title' => '号码认证服务', + 'id' => 459198, ], [ - 'id' => 181112, - 'title' => '融合认证', + 'children' => ['GetFusionAuthToken', 'VerifyWithFusionAuthToken'], 'type' => 'directory', - 'children' => [ - 'GetFusionAuthToken', - 'VerifyWithFusionAuthToken', - ], + 'title' => '融合认证', + 'id' => 459202, ], [ - 'id' => 134045, - 'title' => '短信认证(已下线)', + 'children' => ['GetSmsAuthTokens', 'VerifySmsCode'], 'type' => 'directory', - 'children' => [ - 'GetSmsAuthTokens', - 'VerifySmsCode', - ], + 'title' => '短信认证(已下线)', + 'id' => 459203, ], [ - 'id' => 134050, - 'title' => '通信授权服务(已下线)', + 'children' => ['GetAuthorizationUrl'], 'type' => 'directory', - 'children' => [ - 'GetAuthorizationUrl', - ], + 'title' => '通信授权服务(已下线)', + 'id' => 459204, ], [ - 'id' => 134035, - 'title' => '认证方案管理', + 'children' => ['CreateSchemeConfig', 'CreateVerifyScheme', 'DeleteVerifyScheme', 'DescribeVerifyScheme'], 'type' => 'directory', - 'children' => [ - 'CreateSchemeConfig', - 'CreateVerifyScheme', - 'DeleteVerifyScheme', - 'DescribeVerifyScheme', - ], + 'title' => '认证方案管理', + 'id' => 459205, ], [ - 'id' => 134052, - 'title' => '用量及费用统计', + 'children' => ['QueryGateVerifyStatisticPublic', 'QueryGateVerifyBillingPublic'], 'type' => 'directory', - 'children' => [ - 'QueryGateVerifyStatisticPublic', - 'QueryGateVerifyBillingPublic', - ], + 'title' => '用量及费用统计', + 'id' => 459206, ], [ - 'id' => 190109, - 'title' => '其他', + 'children' => ['QuerySendDetails'], 'type' => 'directory', - 'children' => [ - 'QuerySendDetails', - ], + 'title' => '其他', + 'id' => 459207, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'SendSmsVerifyCode' => [ - 'summary' => '发送短信验证码。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CheckSmsVerifyCode' => [ + 'summary' => '核验短信验证码并返回核验是否成功的结果。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '192247', - 'abilityTreeNodes' => [ - 'FEATUREdypnsZ7LLRH', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '192246', + 'abilityTreeNodes' => ['FEATUREdypnsF4260C'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => '方案名称,如果不填则为“默认方案”。最多不超过20个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '测试方案', - 'default' => '默认方案', - ], + 'schema' => ['description' => '方案名称,如果不填则为“默认方案”。最多不超过20个字符。'."\n" + .'><notice>如果发送接口的方案名称不为空,请确保该参数不为空且与发送接口的方案名称参数一致></notice>', 'type' => 'string', 'required' => false, 'example' => '测试方案', 'default' => '默认方案'], ], [ 'name' => 'CountryCode', 'in' => 'query', - 'schema' => [ - 'description' => '号码国家编码。默认为86,目前也仅支持国内号码发送。', - 'type' => 'string', - 'required' => false, - 'example' => '86', - 'default' => '86', - ], + 'schema' => ['description' => '号码国家编码,默认为86。', 'type' => 'string', 'required' => false, 'example' => '86', 'default' => '86'], ], [ 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => '短信接收方手机号。', - 'type' => 'string', - 'required' => true, - 'example' => '130****0000', - ], + 'schema' => ['description' => '手机号。', 'type' => 'string', 'required' => true, 'example' => '186****0000'], ], [ - 'name' => 'SignName', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => '签名名称。暂不支持使用自定义签名,请使用系统赠送的签名,您可在[赠送签名配置](https://dypns.console.aliyun.com/smsCertParamsConfig/sign)页面选择需要下发的签名。', - 'type' => 'string', - 'required' => true, - 'example' => '速通互联验证码', - ], + 'schema' => ['description' => '外部流水号。', 'type' => 'string', 'required' => false, 'example' => '12123231', 'default' => ''], ], [ - 'name' => 'TemplateCode', + 'name' => 'VerifyCode', 'in' => 'query', - 'schema' => [ - 'description' => '短信模板CODE。参数`SignName`选择赠送签名时,必须搭配赠送模板下发短信。您可在[赠送模板配置](https://dypns.console.aliyun.com/smsCertParamsConfig/template)页面选择适用您业务场景的模板。', - 'type' => 'string', - 'required' => true, - 'example' => '100001', - ], + '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' => 'TemplateParam', + 'name' => 'CaseAuthPolicy', 'in' => 'query', 'schema' => [ - 'description' => '短信模板参数。验证码位置有两种传值方式:'."\n" - ."\n" - .'- 可使用"##code##"替代,由参数CodeType指定验证码生成规则;'."\n" - .'- 也可直接传入具体的验证码值,直接下发至接收方。'."\n" - ."\n" - .'示例:如模板内容为:“您的验证码是${code},有效期${min}分钟,请勿告诉他人。”。'."\n" - .'<notice>上文中的code请替换成您实际申请的验证码模板中的参数名称</notice>'."\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" + 'description' => '验证码大小写字母核验策略。取值:'."\n" ."\n" - .'> - 如果JSON中需要带换行符,请参照标准的JSON协议处理。'."\n" - .'> - 模板变量规范,请参见[短信模板规范](~~108253~~)。', - 'type' => 'string', - 'required' => true, - 'example' => '{"code":"##code##","min":"5"}', + .'- 1:不区分大小写。'."\n" + .'- 2:区分大小写。', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'enumValueTitles' => [], + 'example' => '1', + 'default' => '1', ], ], - [ - 'name' => 'SmsUpExtendCode', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '上行短信扩展码。上行短信指发送给通信服务提供商的短信,用于定制某种服务、完成查询,或是办理某种业务等,需要收费,按运营商普通短信资费进行扣费。'."\n" - ."\n" - .'>扩展码是生成签名时系统自动默认生成的,不支持自行传入。无特殊需要此字段的用户请忽略此字段。如需使用,请联系您的商务经理。', - 'type' => 'string', - 'required' => false, - 'example' => '1213123', + '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" + .'<notice>接口请求成功不代表短信验证码核验成功,短信验证码核验结果仅以`Model.VerifyResult`参数返回值为准。></notice>', 'type' => 'string', 'example' => 'OK'], + 'Success' => ['description' => '接口调用是否成功。取值:'."\n" + ."\n" + .'- true:接口调用成功。'."\n" + ."\n" + .'- false:接口调用失败。'."\n" + .'<notice>接口调用成功不代表短信验证码核验成功,短信验证码核验结果仅以`Model.VerifyResult`参数返回值为准。></notice>', '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' => [ [ - 'name' => 'OutId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '193622', + 'abilityTreeNodes' => ['FEATUREdypnsF4260C'], + ], + 'parameters' => [ + [ + 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => '外部流水号。', - 'type' => 'string', - 'required' => false, - 'example' => '外部流水号(透传)', - ], + 'schema' => ['title' => '方案名称,由中、英文字母构成,长度限制为10个字符。'."\n", 'description' => '方案名称,由中、英文字母构成,长度限制为10个字符。'."\n", 'type' => 'string', 'required' => true, 'example' => 'APP测试方案'], ], [ - 'name' => 'CodeLength', + 'name' => 'Platform', 'in' => 'query', 'schema' => [ - 'description' => '验证码长度支持4~8位长度,默认是4位。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '4', - 'default' => '4', + 'title' => '方案应用平台', + 'description' => '方案应用平台。', + 'type' => 'string', + 'required' => true, + 'example' => 'Android', + 'enum' => ['Android', 'iOS'], ], ], [ - 'name' => 'ValidTime', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => '验证码有效时长,单位秒,默认为300秒。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '300', - 'default' => '300', - ], + 'schema' => ['title' => '应用方案的App名称,由中、英文字母构成,长度限制20个字符。', 'description' => '应用方案的App名称,由中、英文字母构成,长度限制20个字符。', 'type' => 'string', 'required' => false, 'example' => '阿里云通信'], ], [ - 'name' => 'DuplicatePolicy', + 'name' => 'AndroidPackageName', 'in' => 'query', - 'schema' => [ - 'description' => '核验规则,当有效时间内对同场景内的同号码重复发送验证码时,旧验证码如何处理。'."\n" - ."\n" - .'- 1:覆盖处理(默认),即旧验证码会失效掉。'."\n" - ."\n" - .'- 2:保留,即多个验证码都是在有效期内都可以校验通过。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'enumValueTitles' => [ - 1 => '覆盖', - '保留', - ], - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['title' => '包名,Platform为Android时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'description' => '包名,Platform为Android时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.android'], ], [ - 'name' => 'Interval', + 'name' => 'AndroidPackageSign', 'in' => 'query', - 'schema' => [ - 'description' => '时间间隔,单位:秒。即多久间隔可以发送一次验证码,用于频控,默认60秒。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '60', - 'default' => '60', - ], + 'schema' => ['title' => '包签名,Platform为Android时必选。由数字和字母组成,长度为32个字符。', 'description' => '包签名,Platform为Android时必选。由数字和字母组成,长度为32个字符。', 'type' => 'string', 'required' => false, 'example' => 'dfsfaawklll1****olkweklk***'], ], [ - 'name' => 'CodeType', + 'name' => 'IosBundleId', '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', - ], + 'schema' => ['title' => 'BundleID,osType为iOS时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'description' => 'BundleID,osType为iOS时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun.ios'], ], [ - 'name' => 'ReturnVerifyCode', + 'name' => 'H5Url', 'in' => 'query', - 'schema' => [ - 'description' => '是否返回验证码。取值:'."\n" - .'- **true**:返回。'."\n" - .'- **false**:不返回。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['title' => '保留字段,暂不支持H5方案', 'description' => '保留字段,暂不支持H5方案。', 'type' => 'string', 'required' => false, 'example' => '-'], ], [ - 'name' => 'AutoRetry', + 'name' => 'H5Origin', 'in' => 'query', - 'schema' => [ - 'description' => '是否自动替换签名重试(默认开启),可取值:'."\n" - ."\n" - .'- 1 开启自动重试功能,开启后,在验证码有效期内,当运营商返回明确的失败状态时,允许阿里云尽可能的尝试使用其他方式发送验证码,以提升发送成功率。其他方式包括且不限于:通过其他运营商重试、更换签名重试等'."\n" - ."\n" - .'- 0 不开启自动重试', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '是否自动重试', - 'default' => '1', - ], + 'schema' => ['title' => '保留字段,暂不支持H5方案。', 'description' => '保留字段,暂不支持H5方案。', 'type' => 'string', 'required' => false, 'example' => '-'], ], ], 'responses' => [ @@ -347,107 +267,54 @@ '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', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'B95B36EC-8108-4479-D3AA-2BB27F9B155A'."\n"], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '成功'], 'Model' => [ - 'description' => '请求结果数据。', + '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', - ], + 'SchemeCode' => ['description' => '方案Code', 'type' => 'string', 'example' => 'FA100000168468035'], ], ], - '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', - ], + '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'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MOBILE_NUMBER_ILLEGAL', - 'errorMessage' => 'The mobile number is illegal.', - ], - [ - 'errorCode' => 'BUSINESS_LIMIT_CONTROL', - 'errorMessage' => 'The number has exceeded the limit for the day.', - ], - [ - 'errorCode' => 'FREQUENCY_FAIL', - 'errorMessage' => 'Check frequency fail.', - ], - [ - 'errorCode' => 'INVALID_PARAMETERS', - 'errorMessage' => 'parameter is not valid.', - ], - [ - 'errorCode' => 'FUNCTION_NOT_OPENED', - 'errorMessage' => 'You have not opened this function.', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B95B36EC-8108-4479-D3AA-2BB27F9B155A\\\\n\\",\\n \\"Message\\": \\"成功\\",\\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' => '*'], + ], ], ], ], - '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~~),短信认证服务仅收取短信发送费用(按运营商回执状态计费,短信提交成功但运营商回执失败时不计费),核验服务免费。', ], - 'CheckSmsVerifyCode' => [ - 'summary' => '核验短信验证码并返回核验是否成功的结果。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateVerifyScheme' => [ + 'summary' => '认证方案用于标识App下的认证场景,一般一个认证方案对应一个App名称、App包名、包签名等信息(接入端不同对应所需参数也不同),调用本接口创建认证方案。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -456,89 +323,118 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '192246', - 'abilityTreeNodes' => [ - 'FEATUREdypnsF4260C', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92619', + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], ], 'parameters' => [ [ 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => '方案名称,如果不填则为“默认方案”。最多不超过20个字符。'."\n" - .'><notice>如果发送接口的方案名称不为空,请确保该参数不为空且与发送接口的方案名称参数一致></notice>', - 'type' => 'string', - 'required' => false, - 'example' => '测试方案', - 'default' => '默认方案', - ], + 'schema' => ['description' => '方案名称。', 'type' => 'string', 'required' => true, 'example' => '一键登录认证方案'], ], [ - 'name' => 'CountryCode', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => '号码国家编码,默认为86。', - 'type' => 'string', - 'required' => false, - 'example' => '86', - 'default' => '86', - ], + 'schema' => ['description' => 'App名称。', 'type' => 'string', 'required' => true, 'example' => '阿里云通信'], ], [ - 'name' => 'PhoneNumber', + 'name' => 'OsType', 'in' => 'query', - 'schema' => [ - 'description' => '手机号。', - 'type' => 'string', - 'required' => true, - 'example' => '186****0000', - ], + 'schema' => ['description' => '终端操作系统类型,取值:'."\n" + ."\n" + .'- iOS'."\n" + .'- Android'."\n" + .'- Harmony'."\n" + .'- Web', 'type' => 'string', 'required' => true, 'example' => 'iOS'], ], [ - 'name' => 'OutId', + 'name' => 'PackName', 'in' => 'query', - 'schema' => [ - 'description' => '外部流水号。', - 'type' => 'string', - 'required' => false, - 'example' => '12123231', - 'default' => '', - ], + 'schema' => ['description' => '包名,osType为Android时必填。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'com.aliyun'], ], [ - 'name' => 'VerifyCode', + 'name' => 'PackSign', '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', - ], + 'schema' => ['description' => '包签名,osType为Android时必填。由数字和字母组成,长度为32个字符。', 'type' => 'string', 'required' => false, 'example' => 'ecf65**********8ea68eda4c4a084cb'], ], [ - 'name' => 'CaseAuthPolicy', + 'name' => 'BundleId', 'in' => 'query', - 'schema' => [ - 'description' => '验证码大小写字母核验策略。取值:'."\n" - ."\n" - .'- 1:不区分大小写。'."\n" - .'- 2:区分大小写。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'enumValueTitles' => [], - 'example' => '1', - 'default' => '1', - ], + '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' => [ @@ -546,121 +442,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '无', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => '成功', - ], - 'Model' => [ - 'description' => '请求结果数据。', + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '请求成功'], + 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'A1E75E69-3049-5FDB-A376-D745837CD2B1'], + 'GateVerifySchemeDTO' => [ + 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'OutId' => [ - 'description' => '外部流水号。', - 'type' => 'string', - 'example' => '1212312', - ], - 'VerifyResult' => [ - 'description' => '短信验证码核验结果。取值:'."\n" - ."\n" - .'- PASS:短信验证码核验成功。'."\n" - ."\n" - .'- UNKNOWN:短信验证码核验失败。', - 'type' => 'string', - 'example' => 'PASS', - ], + 'SchemeCode' => ['description' => '方案号。', 'type' => 'string', 'example' => 'FC10001287****'], ], ], - '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" - .'<notice>接口请求成功不代表短信验证码核验成功,短信验证码核验结果仅以`Model.VerifyResult`参数返回值为准。></notice>', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '接口调用是否成功。取值:'."\n" - ."\n" - .'- true:接口调用成功。'."\n" - ."\n" - .'- false:接口调用失败。'."\n" - .'<notice>接口调用成功不代表短信验证码核验成功,短信验证码核验结果仅以`Model.VerifyResult`参数返回值为准。></notice>', - 'type' => 'boolean', - 'example' => 'true', - ], + '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' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"Message\\": \\"成功\\",\\n \\"Model\\": {\\n \\"OutId\\": \\"1212312\\",\\n \\"VerifyResult\\": \\"PASS\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '核验验证码', - ], - 'VerifyMobile' => [ - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SchemeNumberOverLimit', 'errorMessage' => 'The maximum number of scheme is exceeded.', 'description' => '号码认证方案数量超过限制'], + ['errorCode' => 'BundleIdConflict', 'errorMessage' => 'The specified bundleId already exists.', 'description' => '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' => '你的账号没有开通本产品。'], + ], ], - 'schemes' => [ - 'https', + '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":"<CreateVerifySchemeResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E6722</RequestId>\\n <GateVerifySchemeDTO>\\n <SchemeCode>FC10001287****</SchemeCode>\\n </GateVerifySchemeDTO>\\n</CreateVerifySchemeResponse>","errorExample":""}]', + ], + 'DeleteVerifyScheme' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '92639', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AccessCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'App端SDK获取的AccessCode参数值,即本机号码校验Token。'."\n" - .'Token有效期及可使用次数:'."\n" - .'- 中国电信10分钟,仅可使用一次;'."\n" - .'- 中国联通30分钟,仅可使用一次;'."\n" - .'- 中国移动2分钟,仅可使用一次。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dfafdafad542****', - ], - ], - [ - 'name' => 'PhoneNumber', + 'name' => 'SchemeCode', 'in' => 'query', - 'schema' => [ - 'description' => '待核验的手机号。', - 'type' => 'string', - 'required' => true, - 'example' => '13800****00', - ], + 'schema' => ['description' => '方案号。本参数值可以从[CreateVerifyScheme](~~CreateVerifyScheme~~)接口的返回参数`SchemeCode`获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000014164****'], ], [ - 'name' => 'OutId', + 'name' => 'CustomerId', 'in' => 'query', - 'schema' => [ - 'description' => '外部流水号。', - 'type' => 'string', - 'required' => false, - 'example' => '123456', - ], + 'schema' => ['description' => '用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345678'], ], ], 'responses' => [ @@ -668,129 +533,92 @@ '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', - ], - ], - ], + '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' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + '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' => '系统错误。'], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerifyResultDTO\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"121343241\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<VerifyMobileResponse>\\n<GateVerifyResultDTO>\\n <VerifyResult>PASS</VerifyResult>\\n <VerifyId>121343241</VerifyId>\\n</GateVerifyResultDTO>\\n<Message>请求成功</Message>\\n<RequestId>8906582E-6722</RequestId>\\n<Code>OK</Code>\\n</VerifyMobileResponse>","errorExample":""}]', - 'title' => '本机号码校验认证', - 'summary' => '调用本接口进行本机号码校验认证,认证完成后返回认证结果。', - 'description' => '### 准备工作'."\n" - .'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n" - .'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案,更多信息,请参见[快速入门](~~84541~~)。'."\n" - ."\n" - .'>该接口仅适用于本机号码校验,如果您想使用一键登录,请参见[GetMobile](~~189865~~)。'."\n" - ."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => '删除认证方案', + 'summary' => '如果您不再使用某个认证方案,需要删除方案时,调用此接口或在号码认证服务控制台删除认证方案。', + 'description' => '- 删除后将不再允许基于该认证方案发起认证,请务必谨慎操作。'."\n" + .'- 新增的认证方案不支持修改操作。如有需要,请先调用本接口删除原认证方案,再创建新的认证方案,并基于新方案对应的参数信息进行开发接入。'."\n" .'### QPS限制'."\n" - ."\n" - .'本接口的单用户QPS限制为5000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + .'本接口的单用户QPS限制为100次/秒。超过限制,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" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>dypnsapi20170525</artifactId>'."\n" - .' <version>1.0.6</version>'."\n" - .'</dependency>'."\n" - .'```'."\n" - ."\n", - ], - 'GetMobile' => [ - 'methods' => [ - 'post', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteVerifyScheme'], + ], ], - 'schemes' => [ - 'https', + '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":"<DeleteVerifySchemeResponse>\\n <Code>OK</Code>\\n <Message>OK</Message>\\n <RequestId>E3754956-D0B1-5947-962A-AE767D354F01</RequestId>\\n <Result>true</Result>\\n</DeleteVerifySchemeResponse>","errorExample":""}]', + ], + 'DescribeVerifyScheme' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '92629', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', - ], - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'AccessToken', + 'name' => 'SchemeCode', 'in' => 'query', - 'schema' => [ - 'description' => 'App端SDK获取的登录Token。Token有效期及可使用次数:'."\n" - .'- 中国电信10分钟,仅可使用一次;'."\n" - .'- 中国联通30分钟,仅可使用一次;'."\n" - .'- 中国移动2分钟,仅可使用一次。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dfafdafad5422****', - ], + 'schema' => ['description' => '方案号。本参数值可以从[CreateVerifyScheme](~~CreateVerifyScheme~~)接口的返回参数`SchemeCode`获取。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000010643****'], ], [ - 'name' => 'OutId', + 'name' => 'CustomerId', 'in' => 'query', - 'schema' => [ - 'description' => '外部流水号。'."\n" - ."\n\n" - ."\n\n" - ."\n\n", - 'type' => 'string', - 'required' => false, - 'example' => '22345****', - ], + 'schema' => ['description' => '用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1234****'], ], ], 'responses' => [ @@ -798,76 +626,72 @@ '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' => [ + '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' => [ - 'Mobile' => [ - 'description' => '取得的手机号码。'."\n" - .'><notice>该字段示例值进行了脱敏处理,实际取号成功时将返回11位明文手机号码。></notice>', - 'type' => 'string', - 'example' => '139****1234', - ], + 'AppEncryptInfo' => ['description' => '在控制台创建方案号生成的密钥。', 'type' => 'string', 'example' => 'ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****'], ], ], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + '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' => '系统错误。'], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GetMobileResultDTO\\": {\\n \\"Mobile\\": \\"139****1234\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMobileResponse>\\n<Message>请求成功</Message>\\n<RequestId>8906582E-6722</RequestId>\\n<Code>OK</Code>\\n<GetMobileResultDTO>\\n <Mobile>150****0000</Mobile>\\n</GetMobileResultDTO>\\n</GetMobileResponse>","errorExample":""}]', - 'title' => '一键登录取号', - 'summary' => '本接口用于号码认证服务端一键登录取号,成功取得号码后会将号码返回。', - 'description' => '### 准备工作'."\n" - .'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n" - .'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案等操作。更多信息,请参见[快速入门](~~84541~~)。'."\n" - .'>本接口仅适用于一键登录或注册场景,需最终用户经过一键登录SDK提供的授权页确认授权后方可调用。开发者不得通过任何手段模拟或越过授权,否则我方有权终止服务并追究相应法律责任。'."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为5000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取认证方案密钥', + 'summary' => '调用其他API接口时会用到认证方案密钥等参数信息,本接口用于获取认证方案密钥信息。', + 'description' => '### QPS限制'."\n" + .'本接口的单用户QPS限制为100次/秒。超过限制,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" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>dypnsapi20170525</artifactId>'."\n" - .' <version>1.0.6</version>'."\n" - .'</dependency>'."\n" - .'```', - ], - 'GetAuthToken' => [ - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyScheme'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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":"<Message>OK</Message>\\n<RequestId>0C5380A7-2032-5F7D-9614-1BF8B54D16CB</RequestId>\\n<Code>OK</Code>\\n<SchemeQueryResultDTO>\\n <AppEncryptInfo>ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****</AppEncryptInfo>\\n</SchemeQueryResultDTO>","errorExample":""}]', + ], + 'GetAuthToken' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -880,91 +704,50 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '92626', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', - ], + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], ], 'parameters' => [ [ 'name' => 'Url', 'in' => 'query', - 'schema' => [ - 'description' => '请求页面地址。请传入在控制台创建认证方案时填入的页面地址,格式为“**协议 + // + 域名 + /**”。'."\n" - ."\n" - .'> 测试可暂时传入公网IP地址,正式上线请使用域名。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'https://www.aliyundoc.com/', - ], + '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', - ], + '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****', - ], + '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, - ], + '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', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '5', 'description' => ''], ], [ 'name' => 'CuApiCode', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'default' => '10', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'description' => ''], ], [ 'name' => 'CtApiCode', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'default' => '8', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '8', 'description' => ''], ], ], 'responses' => [ @@ -972,57 +755,35 @@ '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', - ], + '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****', - ], + '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', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"TokenInfo\\": {\\n \\"AccessToken\\": \\"agag****\\",\\n \\"JwtToken\\": \\"aweghd****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAuthTokenResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <TokenInfo>\\n <AccessToken>agag****</AccessToken>\\n <JwtToken>aweghd****</JwtToken>\\n </TokenInfo>\\n</GetAuthTokenResponse>","errorExample":""}]', 'title' => '获取 H5 认证授权 Token', 'summary' => '获取授权Token用于H5本机号码校验的鉴权,返回结果包括AccessToken和JwtToken。', 'description' => '### 准备工作'."\n" @@ -1042,142 +803,52 @@ .' <version>1.0.6</version>'."\n" .'</dependency>'."\n" .'```', - ], - 'GetPhoneWithToken' => [ - 'summary' => '本接口用于号码认证服务端(H5能力专用)一键登录取号,成功取得号码后会将号码返回。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAuthToken'], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'paid', - ], - 'parameters' => [ + 'ramActions' => [ [ - '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', - ], - ], - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:GetAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"0F335F48-****-****-****-CA7914FE5D77\\",\\n \\"Data\\": {\\n \\"Mobile\\": \\"13900001234\\"\\n }\\n}","type":"json"}]', - 'title' => '一键登录取号(H5能力专用)', - 'description' => '### 准备工作'."\n" - .'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n" - .'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案等操作。更多信息,请参见[快速入门](~~84541~~)。'."\n" - .'>本接口仅适用于H5场景下的一键登录或注册场景,需最终用户经过一键登录JS-SDK提供的授权页确认授权后方可调用。开发者不得通过任何手段模拟或越过授权,否则我方有权终止服务并追究相应法律责任。'."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"TokenInfo\\": {\\n \\"AccessToken\\": \\"agag****\\",\\n \\"JwtToken\\": \\"aweghd****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAuthTokenResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <TokenInfo>\\n <AccessToken>agag****</AccessToken>\\n <JwtToken>aweghd****</JwtToken>\\n </TokenInfo>\\n</GetAuthTokenResponse>","errorExample":""}]', ], - 'VerifyPhoneWithToken' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetAuthorizationUrl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'PhoneNumber', + 'name' => 'PhoneNo', 'in' => 'query', - 'schema' => [ - 'description' => '待核验的手机号。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1380000****', - ], + 'schema' => ['description' => '手机号。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1390000****'], ], [ - 'name' => 'SpToken', + 'name' => 'SchemeId', 'in' => 'query', - 'schema' => [ - 'description' => 'JSSDK获取的号码认证Token。Token有效期及可使用次数:'."\n" - .'- 中国电信10分钟,仅可使用一次;'."\n" - .'- 中国联通30分钟,仅可使用一次;'."\n" - .'- 中国移动2分钟,仅可使用一次。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Dfafdafad542****', - ], + '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' => [ @@ -1185,99 +856,57 @@ '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' => [ + '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' => [ - 'VerifyResult' => [ - 'description' => '认证结果。取值:'."\n" - ."\n" - .'- PASS:一致。'."\n" - ."\n" - .'- REJECT:不一致。'."\n" - ."\n" - .'- UNKNOWN:无法判断。', - 'type' => 'string', - 'example' => 'PASS', - ], - 'VerifyId' => [ - 'description' => '流水号。', - 'type' => 'string', - 'example' => '12134****', - ], + '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' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'UnknowError', - 'errorMessage' => 'The requested service is not available now, please try again later.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'MobileNumberIllgeal', - 'errorMessage' => 'The specified mobile phone number is invalid.', - ], - [ - 'errorCode' => 'InvalidToken', - 'errorMessage' => 'The token is invalid.', - ], - [ - 'errorCode' => 'VerifySchemeNotExist', - 'errorMessage' => 'The specified verify scheme already exists.', - ], + ['errorCode' => 'InvalidParameters', 'errorMessage' => 'The specified parameter is not valid.', 'description' => '参数无效'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'You must specify the parameter.', 'description' => '参数缺失'], + ['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => '接口被限流'], + ['errorCode' => 'MobileNumberIllgeal', 'errorMessage' => 'The specified mobile phone number is invalid.', 'description' => '手机号码不合法'], + ['errorCode' => 'DataNotFound', 'errorMessage' => 'The specified scheme does not exist.', 'description' => '查询方案不存在'], + ['errorCode' => 'IllegalParameter', 'errorMessage' => 'The specified endDate is invalid.', 'description' => '参数无效'], + ['errorCode' => 'SchemeNotPassed', 'errorMessage' => 'The scheme is not passed.', 'description' => '查询方案未通过审核'], + ], + 403 => [ + ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => '权限校验不通过'], + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'Failed to verify your access permissions.', 'description' => '您的权限校验失败。'], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'IdentityCertifyNotExist', 'errorMessage' => 'The identity verification record does not exist.', 'description' => '身份认证记录不存在'], + ['errorCode' => 'InternalError', 'errorMessage' => 'An error occurred while processing your request.', 'description' => '内部错误。'], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'OutOfService', 'errorMessage' => 'The account is suspended.', 'description' => '账号已停机'], + ['errorCode' => 'FunctionNotSubscribed', 'errorMessage' => 'You have not subscribed to the function.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GateVerify\\": {\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"VerifyId\\": \\"12134****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<VerifyPhoneWithTokenResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <GateVerify>\\n <VerifyResult>PASS</VerifyResult>\\n <VerifyId>12134****</VerifyId>\\n </GateVerify>\\n</VerifyPhoneWithTokenResponse>","errorExample":""}]', - 'title' => '本机号码校验(H5能力专用)', - 'summary' => '调用本接口进行H5页面本机号码校验认证,认证完成后返回认证结果。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取授权链接(已下线)', + 'summary' => '该接口已下线。', 'description' => '### 准备工作'."\n" - .'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n" - .'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案,更多信息,请参见[H5本机号码校验使用流程](~~169786~~)。'."\n" + .'请先完成阿里云账号注册、获取阿里云访问密钥,更多信息,请参见[通信授权服务使用流程](~~196922~~)。'."\n" .'### QPS限制'."\n" .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'requestParamsDescription' => ' ', - 'extraInfo' => '## 补充说明'."\n" - .'### Java SDK'."\n" + '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" @@ -1287,44 +916,32 @@ .' <artifactId>dypnsapi20170525</artifactId>'."\n" .' <version>1.0.6</version>'."\n" .'</dependency>'."\n" - .'```'."\n" - ."\n" - .'### 校验失败返回示例'."\n" - .'JSON格式'."\n" - ."\n" - .'```'."\n" - .'{'."\n" - .' "Code": "OK",'."\n" - .' "Message": "请求成功",'."\n" - .' "RequestId": "6CAB3AC6-B7C3",'."\n" - .' "GateVerify": {'."\n" - .' "VerifyResult": "REJECT",'."\n" - .' "VerifyId": "12134****"'."\n" - .' }'."\n" - .'}'."\n" - .'```'."\n" - ."\n" - .'### 请求结果异常返回示例'."\n" - .'JSON格式'."\n" - ."\n" - .'```'."\n" - .'{'."\n" - .' "Code": "isv.CARRIER_NOT_MATCH",'."\n" - .' "Message": "验证号码与实际流量号码运营商不一致",'."\n" - .' "RequestId": "6EA6E9F5-37CC"'."\n" - .'}'."\n" .'```', + 'changeSet' => [], + '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":"<GetAuthorizationUrlResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <AuthorizationUrl>https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod</AuthorizationUrl>\\n </Data>\\n</GetAuthorizationUrlResponse>","errorExample":""}]', ], 'GetFusionAuthToken' => [ 'summary' => '融合认证客户端完成初始化操作后,由开发者服务器发起调用此接口,获取鉴权Token。获取到的鉴权Token用于传入SDK进行鉴权。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1332,78 +949,37 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'SchemeCode', 'in' => 'query', - 'schema' => [ - 'title' => '方案Code。', - 'description' => '方案Code。', - 'type' => 'string', - 'required' => true, - 'example' => 'FA1000*************201', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + 'schema' => ['title' => 'Token有效时长,单位是秒,最小值900,最大值43200。', 'description' => 'Token有效时长,单位是秒,最小值900,最大值43200。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '900'], ], ], 'responses' => [ @@ -1411,291 +987,245 @@ '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', - ], + '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.', - ], - [ - 'errorCode' => 'SmsCodeVerifyFail', - 'errorMessage' => 'The specified smsCode is invalid.', - ], - [ - 'errorCode' => 'SmsSignNameNotExist', - 'errorMessage' => 'The specified sms signName is invalid.', - ], - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'UnknowError', - 'errorMessage' => 'The requested service is not available now, please try again later.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'VerifySchemeNotExist', - 'errorMessage' => 'The specified verify scheme already exists.', - ], - [ - 'errorCode' => 'PackageSignedConflict', - 'errorMessage' => 'The specified package signed already exists.', - ], - [ - 'errorCode' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'SceneQueryFail', - 'errorMessage' => 'The specified scene does not exist.', - ], - [ - 'errorCode' => 'SchemeNotPassed', - 'errorMessage' => 'The scheme is not passed.', - ], + ['errorCode' => 'SchemeNumberOverLimit', 'errorMessage' => 'The maximum number of scheme is exceeded.', 'description' => '号码认证方案数量超过限制'], + ['errorCode' => 'SmsCodeVerifyFail', 'errorMessage' => 'The specified smsCode is invalid.', 'description' => '短信验证码失败'], + ['errorCode' => 'SmsSignNameNotExist', 'errorMessage' => 'The specified sms signName is invalid.', 'description' => '短信签名不存在'], + ['errorCode' => 'Throttling.System', 'errorMessage' => 'The request was denied due to API flow control.', 'description' => '接口被限流'], + ['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.', - ], + ['errorCode' => 'UnauthorizedOperation', 'errorMessage' => 'Failed to verify your access permissions.', 'description' => '您的权限校验失败。'], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'OutOfService', - 'errorMessage' => 'The account is suspended.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'OutOfService', 'errorMessage' => 'The account is suspended.', 'description' => '账号已停机'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Model\\": \\"FKcksloqk***********jalEc+\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '融合认证获取鉴权token', - ], - 'VerifyWithFusionAuthToken' => [ - 'summary' => '融合认证客户端发起认证时,由开发者服务器通过鉴权Token换取的认证Token向阿里云发起本次调用,获取认证结果。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetFusionAuthToken'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetFusionAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Model\\": \\"FKcksloqk***********jalEc+\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]', + ], + 'GetMobile' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '167123', - 'abilityTreeNodes' => [ - 'FEATUREdypns9ZAN79', - 'FEATUREdypns1LCGAH', - 'FEATUREdypnsBK4NX5', - 'FEATUREdypnsC68T0U', - 'FEATUREdypnsRN54HJ', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '92629', + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], ], 'parameters' => [ [ - 'name' => 'VerifyToken', + 'name' => 'AccessToken', 'in' => 'query', - 'schema' => [ - 'description' => '统一认证Token,由客户端SDK返回。', - 'type' => 'string', - 'required' => true, - 'example' => 'LD108enNdlsl*******sFLKCks1==', - ], + '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' => [ - 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => '示例值', - ], - 'RequestId' => [ - 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'."\n", - ], - 'Model' => [ - 'description' => '请求结果数据', + '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' => [ - 'PhoneNumber' => [ - 'description' => '手机号,认证成功时返回该字段。'."\n" - .'><notice>该字段示例值进行了脱敏处理,实际认证成功时将返回11位明文手机号码。></notice>', - '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', - ], + 'Mobile' => ['description' => '取得的手机号码。'."\n" + .'><notice>该字段示例值进行了脱敏处理,实际取号成功时将返回11位明文手机号码。></notice>', 'type' => 'string', 'example' => '139****1234'], ], ], - 'Code' => [ - 'description' => '请求状态码。'."\n" - .'- 返回OK代表请求成功。'."\n" - .'- 其他错误码,请参见错误码列表。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => 'API调用是否成功。取值:'."\n" - .'- true:调用成功。'."\n" - .'- false:调用失败。', - 'type' => 'boolean', - 'example' => 'true', - ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SchemeNumberOverLimit', - 'errorMessage' => 'The maximum number of scheme is exceeded.', - ], - [ - 'errorCode' => 'SmsCodeVerifyFail', - 'errorMessage' => 'The specified smsCode is invalid.', - ], - [ - 'errorCode' => 'SmsSignNameNotExist', - 'errorMessage' => 'The specified sms signName is invalid.', - ], - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'UnknowError', - 'errorMessage' => 'The requested service is not available now, please try again later.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'VerifySchemeNotExist', - 'errorMessage' => 'The specified verify scheme already exists.', - ], - [ - 'errorCode' => 'PackageSignedConflict', - 'errorMessage' => 'The specified package signed already exists.', - ], - [ - 'errorCode' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'SceneQueryFail', - 'errorMessage' => 'The specified scene does not exist.', - ], - [ - 'errorCode' => 'SchemeNotPassed', - 'errorMessage' => 'The scheme is not passed.', - ], + '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" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMobile'], ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'Failed to verify your access permissions.', + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:GetMobile', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], - 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'OutOfService', - 'errorMessage' => 'The account is suspended.', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"GetMobileResultDTO\\": {\\n \\"Mobile\\": \\"139****1234\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMobileResponse>\\n<Message>请求成功</Message>\\n<RequestId>8906582E-6722</RequestId>\\n<Code>OK</Code>\\n<GetMobileResultDTO>\\n <Mobile>150****0000</Mobile>\\n</GetMobileResultDTO>\\n</GetMobileResponse>","errorExample":""}]', + ], + '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', + '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'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"示例值\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\\\n\\",\\n \\"Model\\": {\\n \\"PhoneNumber\\": \\"180****1234\\",\\n \\"VerifyResult\\": \\"PASS\\",\\n \\"PhoneScore\\": 20\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '融合认证获取认证结果', + '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', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1707,98 +1237,48 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '92630', - 'abilityTreeNodes' => [ - 'FEATUREdypnsZ7LLRH', - ], + 'abilityTreeNodes' => ['FEATUREdypnsZ7LLRH'], ], 'parameters' => [ [ 'name' => 'PackageName', 'in' => 'query', - 'schema' => [ - 'description' => '包名。OsType为**Android**时必传。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliqin.mytel.test', - ], + '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****', - ], + 'schema' => ['description' => '签名。OsType为**Android**时必传。', 'type' => 'string', 'required' => false, 'example' => '47fcc6615485e83b4100433****'], ], [ 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => '方案号。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC100000134840112', - ], + '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', - ], + '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****', - ], + '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', - ], + '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****', - ], + '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', - ], + 'schema' => ['description' => '短信验证码有效期(单位:秒),默认180。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], ], ], 'responses' => [ @@ -1806,73 +1286,35 @@ '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', - ], + '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****', - ], + '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.', - ], + ['errorCode' => 'SmsSignNameNotExist', 'errorMessage' => 'The specified sms signName is invalid.', 'description' => '短信签名不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"BizToken\\": \\"FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****\\",\\n \\"StsAccessKeySecret\\": \\"VboZ4xbZ****\\",\\n \\"StsAccessKeyId\\": \\"STS.NSqC****\\",\\n \\"ExpireTime\\": 1631526326000,\\n \\"StsToken\\": \\"CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetSmsAuthTokensResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <BizToken>FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****</BizToken>\\n <StsAccessKeySecret>VboZ4xbZ****</StsAccessKeySecret>\\n <StsAccessKeyId>STS.NSqC****</StsAccessKeyId>\\n <ExpireTime>1631526326000</ExpireTime>\\n <StsToken>CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****</StsToken>\\n </Data>\\n</GetSmsAuthTokensResponse>","errorExample":""}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '获取短信验证码授权Token(已下线)', 'summary' => '该接口已下线。', 'description' => '### 准备工作'."\n" @@ -1892,63 +1334,58 @@ .' <version>1.0.6</version>'."\n" .'</dependency>'."\n" .'```', - ], - 'VerifySmsCode' => [ - 'summary' => '该接口已下线。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSmsAuthTokens'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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":"<GetSmsAuthTokensResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <BizToken>FZSMeRbLCiapIBo65NXNHvGbkGDmhs23XWTZDOtZN0g5n/kqSc2FU27Gc9YhGb6dNn9/L9ZXSYiIB6C6LMLQJjyXjRzt5v6pzZXqnjO4cSuPWYUxJvdc8l8OpucEYe8Mx17HxsHDzj0VC4D5+atcrTpJE6jQ7e2QVNjZIPMwsfxELjQS7c****</BizToken>\\n <StsAccessKeySecret>VboZ4xbZ****</StsAccessKeySecret>\\n <StsAccessKeyId>STS.NSqC****</StsAccessKeyId>\\n <ExpireTime>1631526326000</ExpireTime>\\n <StsToken>CAISiQJ1q6Ft5B2yfSjIr5DEDP/BurtW9PemMEfBrEpsOr5K17XjuDz2IHtLfXFsBusYt/U2nWpX5v4clrxIToR7SFbFY9pb6ZhazBisebDGv8HtR3TcFEjiSwapEBfe8JL4QYeQFaHwGJqEb1TDiVUAo9/TfimjWFqIKICAjYUdAP0cQgi/a0gtZr4UXHwAzvUXLnzML/2gHwf3i27LdipStxF7lHl05NbUoKTeyGKH3AGqlLVF9tite8f9NpczBvolDYfpht4RX7HazStd5yJN8KpLl6Fe8V/FxIrGXAAJv0rdbbOFq4Q1c18hOLJHAKtfsvXmlPNpsevfmpnsx****</StsToken>\\n </Data>\\n</GetSmsAuthTokensResponse>","errorExample":""}]', + ], + 'QueryGateVerifyBillingPublic' => [ + 'summary' => '调用此接口查询某种认证方式下的月份费用账单。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'paid', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'SmsCode', - 'in' => 'query', - 'schema' => [ - 'description' => '验证码。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '12****', - ], - ], - [ - 'name' => 'PhoneNumber', + 'name' => 'Month', 'in' => 'query', - 'schema' => [ - 'description' => '手机号。获取短信验证码时返回。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1321111****', - ], + 'schema' => ['description' => '月份费用账单。格式为YYYYMM,例如202111。', 'type' => 'string', 'required' => true, 'example' => '202111'], ], [ - 'name' => 'SmsToken', + 'name' => 'AuthenticationType', 'in' => 'query', - 'schema' => [ - 'description' => '短信Token。'."\n" - .'当您成功调用短信验证码SDK中发送验证码接口,终端用户会收到短信验证码,SDK侧会返回用于短信验证码校验的SmsToken。其中Android客户端调用sendVerifyCode接口发送验证码,iOS客户端调用sendVerifyCodeWithTimeout接口发送验证码。详情请参见[接入概述](~~400434~~)。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'sddsbvdbvjd****', - ], + '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' => [ @@ -1956,82 +1393,70 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '状态码。'."\n" - ."\n" - .'- 返回OK代表请求成功。'."\n" - ."\n" - .'- 其他错误码,请参见[服务端API返回码](~~85198~~)。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => '请求成功', - ], + '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' => '验证是否成功。取值:'."\n" - ."\n" - .'- **true**:验证成功。'."\n" - ."\n" - .'- **false**:验证失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8906582E-6722', + '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' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'SmsCodeVerifyFail', - 'errorMessage' => 'The specified smsCode is invalid.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询费用情况', + 'description' => '### QPS限制'."\n" + .'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGateVerifyBillingPublic'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:QueryGateVerifyBillingPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"Data\\": true,\\n \\"RequestId\\": \\"8906582E-6722\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifySmsCodeResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <Data>true</Data>\\n <RequestId>8906582E-6722</RequestId>\\n</VerifySmsCodeResponse>","errorExample":""}]', - 'title' => '完成短信验证码校验(已下线)', - '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" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>dypnsapi20170525</artifactId>'."\n" - .' <version>1.0.6</version>'."\n" - .'</dependency>'."\n" - .'```', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AmountSum\\": \\"1234\\",\\n \\"SceneBillingList\\": [\\n {\\n \\"Add\\": \\"74\\",\\n \\"SinglePrice\\": \\"0.02\\",\\n \\"Amount\\": \\"1.48\\",\\n \\"ItemName\\": \\"本机号码校验\\",\\n \\"SceneCode\\": \\"FC100000038194004\\",\\n \\"AppName\\": \\"阿里云\\",\\n \\"SceneName\\": \\"阿里云通信\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryGateVerifyBillingPublicResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <AmountLongSum>92760</AmountLongSum>\\n <AmountSum>1234</AmountSum>\\n <SceneBillingList>\\n <Add>74</Add>\\n <ItemId>15810****</ItemId>\\n <SinglePrice>0.02</SinglePrice>\\n <Amount>1.48</Amount>\\n <ItemName>本机号码校验</ItemName>\\n <SceneCode>FC100000038194004</SceneCode>\\n <AppName>阿里云</AppName>\\n <SceneName>阿里云通信</SceneName>\\n <Url>www.example.com</Url>\\n </SceneBillingList>\\n </Data>\\n</QueryGateVerifyBillingPublicResponse>","errorExample":""}]', ], - 'GetAuthorizationUrl' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'QueryGateVerifyStatisticPublic' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2042,42 +1467,47 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREdypnsSZ1J9W'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'PhoneNo', + 'name' => 'SceneCode', 'in' => 'query', - 'schema' => [ - 'description' => '手机号。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => '方案号。', 'type' => 'string', 'required' => false, 'example' => 'FC100000038194004'], ], [ - 'name' => 'SchemeId', + 'name' => 'StartDate', 'in' => 'query', - 'schema' => [ - 'description' => '授权场景ID。您可在**号码认证服务控制台**的**授权场景管理**页面查看授权场景ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '234****', - ], + 'schema' => ['description' => '起始日期。格式为YYYYMMDD,例如20220101。', 'type' => 'string', 'required' => true, 'example' => '20220101'], ], [ 'name' => 'EndDate', 'in' => 'query', - 'schema' => [ - 'description' => '授权结束日期,合约型方案不能为空,类型:yyyy-MM-dd。', - 'type' => 'string', - 'required' => false, - 'example' => '2020–12–28', - ], + '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' => [ @@ -2085,244 +1515,107 @@ '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', - ], + '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' => '结构体。', + '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', + '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' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The specified parameter is not valid.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'You must specify the parameter.', - ], - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'MobileNumberIllgeal', - 'errorMessage' => 'The specified mobile phone number is invalid.', - ], - [ - 'errorCode' => 'DataNotFound', - 'errorMessage' => 'The specified scheme does not exist.', - ], - [ - 'errorCode' => 'IllegalParameter', - 'errorMessage' => 'The specified endDate is invalid.', - ], - [ - 'errorCode' => 'SchemeNotPassed', - 'errorMessage' => 'The scheme is not passed.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Forbidden', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'Failed to verify your access permissions.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询用量情况', + 'summary' => '调用此接口查看统计日期范围内,某个认证方式的总调用量、调用成功量、调用失败量、调用未知量,及每一天的用量统计。', + 'description' => '### QPS限制'."\n" + .'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGateVerifyStatisticPublic'], ], - 500 => [ - [ - 'errorCode' => 'IdentityCertifyNotExist', - 'errorMessage' => 'The identity verification record does not exist.', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'OutOfService', - 'errorMessage' => 'The account is suspended.', - ], - [ - 'errorCode' => 'FunctionNotSubscribed', - 'errorMessage' => 'You have not subscribed to the function.', + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:QueryGateVerifyStatisticPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AuthorizationUrl\\": \\"https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAuthorizationUrlResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <AuthorizationUrl>https://render.****.com/p/s/web-call-minapp/auth-bao?page=commauth/index&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJiaXpUeXBlIjoiQ29tbUF1dGgiLCJiaXpJZCI6IjVmNWZjNjAzZDQzMTQ0MWZiYTZiNjYzM2QyMjIyNzU0IiwiZXhwIjoxNjA4MTkxODQxfQ.5IvBj2nKgr60APtotaIB13vtPVrdsPQ6avIfWxte1pA&_env=prod</AuthorizationUrl>\\n </Data>\\n</GetAuthorizationUrlResponse>","errorExample":""}]', - 'title' => '获取授权链接(已下线)', - '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" - .'<dependency>'."\n" - .' <groupId>com.aliyun</groupId>'."\n" - .' <artifactId>dypnsapi20170525</artifactId>'."\n" - .' <version>1.0.6</version>'."\n" - .'</dependency>'."\n" - .'```', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"TotalFail\\": 20,\\n \\"Total\\": 20,\\n \\"TotalSuccess\\": 0,\\n \\"TotalUnknown\\": 0,\\n \\"DayStatistic\\": [\\n {\\n \\"StatisticDateStr\\": \\"20220103\\",\\n \\"TotalSuccess\\": 0,\\n \\"TotalFail\\": 20,\\n \\"TotalUnknown\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryGateVerifyStatisticPublicResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <TotalFail>20</TotalFail>\\n <Total>20</Total>\\n <TotalSuccess>0</TotalSuccess>\\n <TotalUnknown>0</TotalUnknown>\\n <DayStatistic>\\n <StatisticDateStr>20220103</StatisticDateStr>\\n <TotalSuccess>0</TotalSuccess>\\n <TotalFail>20</TotalFail>\\n <TotalUnknown>0</TotalUnknown>\\n </DayStatistic>\\n </Data>\\n</QueryGateVerifyStatisticPublicResponse>","errorExample":""}]', ], - 'CreateSchemeConfig' => [ - 'summary' => '融合认证方案用于标识App下的认证场景,一般一个认证方案对应一个App包名、包签名。调用本接口创建融合认证方案并获取方案Code。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'QuerySendDetails' => [ + 'summary' => '查询短信验证码发送状态(仅能查询短信认证API版本的发送记录)。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '193622', - 'abilityTreeNodes' => [ - 'FEATUREdypnsF4260C', - ], - ], + 'deprecated' => true, + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'SchemeName', - 'in' => 'query', - 'schema' => [ - 'title' => '方案名称,由中、英文字母构成,长度限制为10个字符。'."\n", - 'description' => '方案名称,由中、英文字母构成,长度限制为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', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'title' => '包名,Platform为Android时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'description' => '包名,Platform为Android时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliyun.android', - ], + 'schema' => ['description' => '手机号。', 'type' => 'string', 'required' => true, 'example' => '186****9399'], ], [ - 'name' => 'AndroidPackageSign', + 'name' => 'SendDate', 'in' => 'query', - 'schema' => [ - 'title' => '包签名,Platform为Android时必选。由数字和字母组成,长度为32个字符。', - 'description' => '包签名,Platform为Android时必选。由数字和字母组成,长度为32个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'dfsfaawklll1****olkweklk***', - ], + 'schema' => ['description' => '短信发送日期,支持查询最近30天的记录。'."\n" + ."\n" + .'格式为:yyyyMMdd,例如20181225。', 'type' => 'string', 'required' => true, 'example' => '20181225'], ], [ - 'name' => 'IosBundleId', + 'name' => 'BizId', 'in' => 'query', - 'schema' => [ - 'title' => 'BundleID,osType为iOS时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'description' => 'BundleID,osType为iOS时必选。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliyun.ios', - ], + 'schema' => ['description' => '业务的唯一标识号,由阿里云提供。', 'type' => 'string', 'required' => false, 'example' => '1231891289318923^12'], ], [ - 'name' => 'H5Url', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '保留字段,暂不支持H5方案', - 'description' => '保留字段,暂不支持H5方案。', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '50', 'default' => ''], ], [ - 'name' => 'H5Origin', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'title' => '保留字段,暂不支持H5方案。', - 'description' => '保留字段,暂不支持H5方案。', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '当前读取第几页消息,从1开始递增,读取消息时不可超过最大页数。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'default' => ''], ], ], 'responses' => [ @@ -2330,286 +1623,222 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'B95B36EC-8108-4479-D3AA-2BB27F9B155A'."\n", - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => '成功', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '无'], + 'TotalCount' => ['description' => '列表数据总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '42'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '成功'], 'Model' => [ - 'description' => '返回结果。', - 'type' => 'object', - 'properties' => [ - 'SchemeCode' => [ - 'description' => '方案Code', - 'type' => 'string', - 'example' => 'FA100000168468035', + '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" - ."\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', - ], + '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'], ], ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + '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' => '*'], + ], + ], + ], ], - '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' => '创建融合认证方案号', ], - 'CreateVerifyScheme' => [ - 'summary' => '认证方案用于标识App下的认证场景,一般一个认证方案对应一个App名称、App包名、包签名等信息(接入端不同对应所需参数也不同),调用本接口创建认证方案。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SendSmsVerifyCode' => [ + 'summary' => '发送短信验证码。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92619', - 'abilityTreeNodes' => [ - 'FEATUREdypns8SCJSK', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '192247', + 'abilityTreeNodes' => ['FEATUREdypnsZ7LLRH'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'SchemeName', 'in' => 'query', - 'schema' => [ - 'description' => '方案名称。', - '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', - ], + 'schema' => ['description' => '方案名称,如果不填则为“默认方案”。最多不超过20个字符。', 'type' => 'string', 'required' => false, 'example' => '测试方案', 'default' => '默认方案'], ], [ - 'name' => 'PackName', - 'in' => 'query', - 'schema' => [ - 'description' => '包名,osType为Android时必填。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'com.aliyun', - ], - ], - [ - 'name' => 'PackSign', + 'name' => 'CountryCode', 'in' => 'query', - 'schema' => [ - 'description' => '包签名,osType为Android时必填。由数字和字母组成,长度为32个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecf65**********8ea68eda4c4a084cb', - ], + 'schema' => ['description' => '号码国家编码。默认为86,目前也仅支持国内号码发送。', 'type' => 'string', 'required' => false, 'example' => '86', 'default' => '86'], ], [ - 'name' => 'BundleId', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'BundleID,osType为iOS时必填。由数字、字母、短划线(-)、下划线或点组成,长度限制为1~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'example.aliyundoc.com', - ], + 'schema' => ['description' => '短信接收方手机号。', 'type' => 'string', 'required' => true, 'example' => '130****0000'], ], [ - 'name' => 'Origin', + 'name' => 'SignName', 'in' => 'query', - 'schema' => [ - 'description' => 'H5方案页面源地址(建议填写域名级别)。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://h5.minexiot.com', - ], + 'schema' => ['description' => '签名名称。暂不支持使用自定义签名,请使用系统赠送的签名,您可在[赠送签名配置](https://dypns.console.aliyun.com/smsCertParamsConfig/sign)页面选择需要下发的签名。', 'type' => 'string', 'required' => true, 'example' => '恒创联众'], ], [ - 'name' => 'Url', - 'in' => 'query', - 'schema' => [ - 'description' => 'H5方案使用的页面地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://h5.minexiot.com/', - ], - ], - [ - 'name' => 'IpWhiteList', + 'name' => 'TemplateCode', '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', - ], + 'schema' => ['description' => '短信模板CODE。参数`SignName`选择赠送签名时,必须搭配赠送模板下发短信。您可在[赠送模板配置](https://dypns.console.aliyun.com/smsCertParamsConfig/template)页面选择适用您业务场景的模板。', 'type' => 'string', 'required' => true, 'example' => '100001'], ], [ - 'name' => 'CmApiCode', + 'name' => 'TemplateParam', 'in' => 'query', - 'schema' => [ - 'description' => '中国移动通道Code,默认可不填。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '短信模板参数。验证码位置有两种传值方式:'."\n" + ."\n" + .'- 可使用"##code##"替代,由参数CodeType指定验证码生成规则;'."\n" + .'- 也可直接传入具体的验证码值,直接下发至接收方。'."\n" + ."\n" + .'示例:如模板内容为:“您的验证码是${code},有效期${min}分钟,请勿告诉他人。”。'."\n" + .'<notice>上文中的code请替换成您实际申请的验证码模板中的参数名称</notice>'."\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' => 'CuApiCode', + 'name' => 'SmsUpExtendCode', 'in' => 'query', - 'schema' => [ - 'description' => '中国联通通道Code,默认可不填。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => '上行短信扩展码。上行短信指发送给通信服务提供商的短信,用于定制某种服务、完成查询,或是办理某种业务等,需要收费,按运营商普通短信资费进行扣费。'."\n" + ."\n" + .'>扩展码是生成签名时系统自动默认生成的,不支持自行传入。无特殊需要此字段的用户请忽略此字段。如需使用,请联系您的商务经理。', 'type' => 'string', 'required' => false, 'example' => '1213123'], ], [ - 'name' => 'CtApiCode', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => '中国电信通道Code,默认可不填。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => '外部流水号。', 'type' => 'string', 'required' => false, 'example' => '外部流水号(透传)'], ], [ - 'name' => 'SceneType', + 'name' => 'CodeLength', 'in' => 'query', - 'schema' => [ - 'description' => '方案类型,默认可不填。', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '验证码长度支持4~8位长度,默认是4位。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '4', 'default' => '4'], ], [ - 'name' => 'Email', + 'name' => 'ValidTime', 'in' => 'query', - 'schema' => [ - 'description' => '密钥获取接收邮箱地址,默认可不填。', - 'type' => 'string', - 'required' => false, - 'example' => 'username@aliyundoc.com', - ], + 'schema' => ['description' => '验证码有效时长,单位秒,默认为300秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '300', 'default' => '300'], ], [ - 'name' => 'AuthType', + 'name' => 'DuplicatePolicy', 'in' => 'query', 'schema' => [ - 'description' => '认证类型,默认不填,只有支持号码认证时可多选,以英文逗号间隔。'."\n" + 'description' => '核验规则,当有效时间内对同场景内的同号码重复发送验证码时,旧验证码如何处理。'."\n" ."\n" - .'- **1**:号码认证。'."\n" + .'- 1:覆盖处理(默认),即旧验证码会失效掉。'."\n" ."\n" - .'- **2**:短信认证。', - 'type' => 'string', + .'- 2:保留,即多个验证码都是在有效期内都可以校验通过。', + 'type' => 'integer', + 'format' => 'int64', 'required' => false, - 'example' => '1,2', + 'enumValueTitles' => [1 => '覆盖', '保留'], + 'example' => '1', + 'default' => '1', ], ], [ - 'name' => 'SmsSignName', + 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => '绑定的短信签名,只有AuthType包含2(短信认证)时才有效,且签名必须是号码认证产品下创建的已经审核通过的。', - 'type' => 'string', - 'required' => false, - 'example' => '阿里云短信测试专用', - ], + 'schema' => ['description' => '时间间隔,单位:秒。即多久间隔可以发送一次验证码,用于频控,默认60秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'default' => '60'], ], [ - 'name' => 'HmPackageName', + 'name' => 'CodeType', 'in' => 'query', 'schema' => [ - 'description' => '包名,osType为`Harmony`时必填。由数字、字母、下划线或点组成.必须以字母开头,长度限制为7~127个字符。', - 'type' => 'string', + 'description' => '生成的验证码类型。当参数TemplateParam传入占位符时,此参数必填,将由系统根据指定的规则生成验证码。取值:'."\n" + .'- 1:纯数字(默认)。'."\n" + .'- 2:纯大写字母。'."\n" + .'- 3:纯小写字母。'."\n" + .'- 4:大小字母混合。'."\n" + .'- 5:数字+大写字母混合。'."\n" + .'- 6:数字+小写字母混合。'."\n" + .'- 7:数字+大小写字母混合。', + 'type' => 'integer', + 'format' => 'int64', 'required' => false, - 'example' => 'com.aliyun.harmonydemo', + 'enumValueTitles' => [1 => '纯数字', '纯大写字母', '纯小写字母', '大小字母混合', '数字+大写字母混合', '数字+小写字母混合', '数字+大小写字母混合'], + 'example' => '1', + 'default' => '1', ], ], [ - 'name' => 'HmSignName', + 'name' => 'ReturnVerifyCode', 'in' => 'query', - 'schema' => [ - 'description' => '包签名,osType为`Harmony`时必填。由数字和字母组成,长度为64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => '65C0B**********D4E80A135636F9A17AFFB540E4E9D2520DC095B68120EA812', - ], + 'schema' => ['description' => '是否返回验证码。取值:'."\n" + .'- **true**:返回。'."\n" + .'- **false**:不返回。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'], ], [ - 'name' => 'HmAppIdentifier', + 'name' => 'AutoRetry', 'in' => 'query', - 'schema' => [ - 'description' => 'AppId,osType为`Harmony`时必填。长度为19位纯数字。', - 'type' => 'string', - 'required' => false, - 'example' => '57658*********34905', - ], + 'schema' => ['description' => '是否自动替换签名重试(默认开启),可取值:'."\n" + ."\n" + .'- 1 开启自动重试功能,开启后,在验证码有效期内,当运营商返回明确的失败状态时,允许阿里云尽可能的尝试使用其他方式发送验证码,以提升发送成功率。其他方式包括且不限于:通过其他运营商重试、更换签名重试等'."\n" + ."\n" + .'- 0 不开启自动重试', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '是否自动重试', 'default' => '1'], ], ], 'responses' => [ @@ -2617,107 +1846,70 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => '请求成功', - ], - 'RequestId' => [ - 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'A1E75E69-3049-5FDB-A376-D745837CD2B1', - ], - 'GateVerifySchemeDTO' => [ - 'description' => '结构体。', + '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' => [ - 'SchemeCode' => [ - 'description' => '方案号。', - 'type' => 'string', - 'example' => 'FC10001287****', - ], + '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'], ], ], - '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', - ], + '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' => 'SchemeNumberOverLimit', - 'errorMessage' => 'The maximum number of scheme is exceeded.', - ], - [ - 'errorCode' => 'BundleIdConflict', - 'errorMessage' => 'The specified bundleId already exists.', - ], - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The specified parameter is not valid.', - ], - [ - 'errorCode' => 'InvalidAccountStatus', - 'errorMessage' => 'Your account has been suspended.', - ], - [ - 'errorCode' => 'RamPermissionDeny', - 'errorMessage' => 'The user is not authorized to operate on the specified resource.', - ], - [ - 'errorCode' => 'PackageSignedConflict', - 'errorMessage' => 'The specified package signed already exists.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], + ['errorCode' => 'MOBILE_NUMBER_ILLEGAL', 'errorMessage' => 'The mobile number is illegal.', 'description' => '手机号码格式错误'], + ['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', + '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' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"A1E75E69-3049-5FDB-A376-D745837CD2B1\\",\\n \\"GateVerifySchemeDTO\\": {\\n \\"SchemeCode\\": \\"FC10001287****\\"\\n },\\n \\"HttpStatusCode\\": 200,\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateVerifySchemeResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E6722</RequestId>\\n <GateVerifySchemeDTO>\\n <SchemeCode>FC10001287****</SchemeCode>\\n </GateVerifySchemeDTO>\\n</CreateVerifySchemeResponse>","errorExample":""}]', - 'title' => '创建认证方案', - 'description' => '### QPS限制'."\n" - .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DeleteVerifyScheme' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'VerifyMobile' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2725,32 +1917,33 @@ ], 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', + 'chargeType' => 'paid', + 'abilityTreeCode' => '92639', + 'abilityTreeNodes' => ['FEATUREdypns8SCJSK'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SchemeCode', + 'name' => 'AccessCode', 'in' => 'query', - 'schema' => [ - 'description' => '方案号。本参数值可以从[CreateVerifyScheme](~~CreateVerifyScheme~~)接口的返回参数`SchemeCode`获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC10000014164****', - ], + 'schema' => ['description' => 'App端SDK获取的AccessCode参数值,即本机号码校验Token。'."\n" + .'Token有效期及可使用次数:'."\n" + .'- 中国电信10分钟,仅可使用一次;'."\n" + .'- 中国联通30分钟,仅可使用一次;'."\n" + .'- 中国移动2分钟,仅可使用一次。', 'type' => 'string', 'required' => true, 'example' => 'Dfafdafad542****'], ], [ - 'name' => 'CustomerId', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => '用户ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '12345678', - ], + 'schema' => ['description' => '待核验的手机号。', 'type' => 'string', 'required' => true, 'example' => '13800****00'], + ], + [ + 'name' => 'OutId', + 'in' => 'query', + 'schema' => ['description' => '外部流水号。', 'type' => 'string', 'required' => false, 'example' => '123456'], ], ], 'responses' => [ @@ -2758,133 +1951,103 @@ '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', + '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' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'InvalidAccountStatus', - 'errorMessage' => 'Your account has been suspended.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The specified parameter is not valid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'You are not authorized to perform this operation.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"E3754956-D0B1-5947-962A-AE767D354F01\\",\\n \\"Result\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteVerifySchemeResponse>\\n <Code>OK</Code>\\n <Message>OK</Message>\\n <RequestId>E3754956-D0B1-5947-962A-AE767D354F01</RequestId>\\n <Result>true</Result>\\n</DeleteVerifySchemeResponse>","errorExample":""}]', - 'title' => '删除认证方案', - 'summary' => '如果您不再使用某个认证方案,需要删除方案时,调用此接口或在号码认证服务控制台删除认证方案。', - 'description' => '- 删除后将不再允许基于该认证方案发起认证,请务必谨慎操作。'."\n" - .'- 新增的认证方案不支持修改操作。如有需要,请先调用本接口删除原认证方案,再创建新的认证方案,并基于新方案对应的参数信息进行开发接入。'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '本机号码校验认证', + 'summary' => '调用本接口进行本机号码校验认证,认证完成后返回认证结果。', + 'description' => '### 准备工作'."\n" + .'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n" + .'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案,更多信息,请参见[快速入门](~~84541~~)。'."\n" + ."\n" + .'>该接口仅适用于本机号码校验,如果您想使用一键登录,请参见[GetMobile](~~189865~~)。'."\n" + ."\n" .'### QPS限制'."\n" - .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + ."\n" + .'本接口的单用户QPS限制为5000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeVerifyScheme' => [ - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```'."\n" + ."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyMobile'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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":"<VerifyMobileResponse>\\n<GateVerifyResultDTO>\\n <VerifyResult>PASS</VerifyResult>\\n <VerifyId>121343241</VerifyId>\\n</GateVerifyResultDTO>\\n<Message>请求成功</Message>\\n<RequestId>8906582E-6722</RequestId>\\n<Code>OK</Code>\\n</VerifyMobileResponse>","errorExample":""}]', + ], + 'VerifyPhoneWithToken' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'SchemeCode', + 'name' => 'PhoneNumber', 'in' => 'query', - 'schema' => [ - 'description' => '方案号。本参数值可以从[CreateVerifyScheme](~~CreateVerifyScheme~~)接口的返回参数`SchemeCode`获取。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC10000010643****', - ], + 'schema' => ['description' => '待核验的手机号。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1380000****'], ], [ - 'name' => 'CustomerId', + 'name' => 'SpToken', 'in' => 'query', - 'schema' => [ - 'description' => '用户ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1234****', - ], + 'schema' => ['description' => 'JSSDK获取的号码认证Token。Token有效期及可使用次数:'."\n" + .'- 中国电信10分钟,仅可使用一次;'."\n" + .'- 中国联通30分钟,仅可使用一次;'."\n" + .'- 中国移动2分钟,仅可使用一次。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Dfafdafad542****'], ], ], 'responses' => [ @@ -2892,174 +2055,141 @@ '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' => [ + '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' => [ - 'AppEncryptInfo' => [ - 'description' => '在控制台创建方案号生成的密钥。', - 'type' => 'string', - 'example' => 'ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****', - ], + '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' => 'Throttling.System', - 'errorMessage' => 'The request was denied due to API flow control.', - ], - [ - 'errorCode' => 'InvalidAccountStatus', - 'errorMessage' => 'Your account has been suspended.', - ], - [ - 'errorCode' => 'Unsupported.Account', - 'errorMessage' => 'Your account has not activated the product.', - ], - [ - 'errorCode' => 'SceneQueryFail', - 'errorMessage' => 'The specified scene does not exist.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedOperation', - 'errorMessage' => 'You are not authorized to perform this operation.', - ], + ['errorCode' => 'RamPermissionDeny', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => '没有访问权限'], + ['errorCode' => 'UnknowError', 'errorMessage' => 'The requested service is not available now, please try again later.', 'description' => '未知异常,请重新再试'], + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => '你的账号没有开通本产品。'], + ['errorCode' => 'MobileNumberIllgeal', 'errorMessage' => 'The specified mobile phone number is invalid.', 'description' => '手机号码不合法'], + ['errorCode' => 'InvalidToken', 'errorMessage' => 'The token is invalid.', 'description' => '令牌无效'], + ['errorCode' => 'VerifySchemeNotExist', 'errorMessage' => 'The specified verify scheme already exists.', 'description' => '认证方案不存在'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'An error occurred while processing your request.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'An error occurred while processing your request.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"0C5380A7-2032-5F7D-9614-1BF8B54D16CB\\",\\n \\"SchemeQueryResultDTO\\": {\\n \\"AppEncryptInfo\\": \\"ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<Message>OK</Message>\\n<RequestId>0C5380A7-2032-5F7D-9614-1BF8B54D16CB</RequestId>\\n<Code>OK</Code>\\n<SchemeQueryResultDTO>\\n <AppEncryptInfo>ZDMARqPkyQzWVJjB/sB/+fCp5TA4lNsRnY7rEC+HfGsOIOk1Brj8UyXFW2RBYIWqLieCSo8ZypEaEj+h9rLd3FgpXAjGYDfmOperod6jPUUwFHhBObxK+HuKVoi2jOqN7aDOlyPyGcATyq3BDdlf922JmnFLT8Hvnu4qgzzCZk0LXWTb0XVPnm5/fHUGHEA2Q+aTrGkaWcHjmTDqQ7BtvrAIIcJJkCJu4i1aeU++/0EzGWap4mcb2VhKROBs****</AppEncryptInfo>\\n</SchemeQueryResultDTO>","errorExample":""}]', - 'title' => '获取认证方案密钥', - 'summary' => '调用其他API接口时会用到认证方案密钥等参数信息,本接口用于获取认证方案密钥信息。', - 'description' => '### QPS限制'."\n" - .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '本机号码校验(H5能力专用)', + 'summary' => '调用本接口进行H5页面本机号码校验认证,认证完成后返回认证结果。', + 'description' => '### 准备工作'."\n" + .'- 请确保在使用该接口前,已充分了解号码认证服务产品的收费方式和[价格](~~85132~~)。'."\n" + .'- 请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案,更多信息,请参见[H5本机号码校验使用流程](~~169786~~)。'."\n" + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'QueryGateVerifyStatisticPublic' => [ - 'summary' => '调用此接口查看统计日期范围内,某个认证方式的总调用量、调用成功量、调用失败量、调用未知量,及每一天的用量统计。', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '## 补充说明'."\n" + .'### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```'."\n" + ."\n" + .'### 校验失败返回示例'."\n" + .'JSON格式'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "Code": "OK",'."\n" + .' "Message": "请求成功",'."\n" + .' "RequestId": "6CAB3AC6-B7C3",'."\n" + .' "GateVerify": {'."\n" + .' "VerifyResult": "REJECT",'."\n" + .' "VerifyId": "12134****"'."\n" + .' }'."\n" + .'}'."\n" + .'```'."\n" + ."\n" + .'### 请求结果异常返回示例'."\n" + .'JSON格式'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "Code": "isv.CARRIER_NOT_MATCH",'."\n" + .' "Message": "验证号码与实际流量号码运营商不一致",'."\n" + .' "RequestId": "6EA6E9F5-37CC"'."\n" + .'}'."\n" + .'```', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyPhoneWithToken'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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":"<VerifyPhoneWithTokenResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <GateVerify>\\n <VerifyResult>PASS</VerifyResult>\\n <VerifyId>12134****</VerifyId>\\n </GateVerify>\\n</VerifyPhoneWithTokenResponse>","errorExample":""}]', + ], + 'VerifySmsCode' => [ + 'summary' => '该接口已下线。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ - 'name' => 'SceneCode', - 'in' => 'query', - 'schema' => [ - 'description' => '方案号。', - 'type' => 'string', - 'required' => false, - 'example' => 'FC100000038194004', - ], - ], - [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => '起始日期。格式为YYYYMMDD,例如20220101。', - 'type' => 'string', - 'required' => true, - 'example' => '20220101', - ], - ], - [ - 'name' => 'EndDate', + 'name' => 'SmsCode', 'in' => 'query', - 'schema' => [ - 'description' => '结束日期。格式为YYYYMMDD,例如20220106。', - 'type' => 'string', - 'required' => true, - 'example' => '20220106', - ], + 'schema' => ['description' => '验证码。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '12****'], ], [ - 'name' => 'AuthenticationType', + 'name' => 'PhoneNumber', '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', - ], + 'schema' => ['description' => '手机号。获取短信验证码时返回。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1321111****'], ], [ - 'name' => 'OsType', + 'name' => 'SmsToken', 'in' => 'query', - 'schema' => [ - 'description' => '系统类型。取值:'."\n" - ."\n" - .'- **Android**。'."\n" - ."\n" - .'- **iOS**。', - 'type' => 'string', - 'required' => false, - 'example' => 'Android', - ], + 'schema' => ['description' => '短信Token。'."\n" + .'当您成功调用短信验证码SDK中发送验证码接口,终端用户会收到短信验证码,SDK侧会返回用于短信验证码校验的SmsToken。其中Android客户端调用sendVerifyCode接口发送验证码,iOS客户端调用sendVerifyCodeWithTimeout接口发送验证码。详情请参见[接入概述](~~400434~~)。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sddsbvdbvjd****'], ], ], 'responses' => [ @@ -3067,526 +2197,527 @@ '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', - ], - ], - ], - ], - ], - ], + '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' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Unsupported.Account', 'errorMessage' => 'Your account has not activated the product.', 'description' => '你的账号没有开通本产品。'], + ['errorCode' => 'SmsCodeVerifyFail', 'errorMessage' => 'The specified smsCode is invalid.', 'description' => '短信验证码失败'], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"TotalFail\\": 20,\\n \\"Total\\": 20,\\n \\"TotalSuccess\\": 0,\\n \\"TotalUnknown\\": 0,\\n \\"DayStatistic\\": [\\n {\\n \\"StatisticDateStr\\": \\"20220103\\",\\n \\"TotalSuccess\\": 0,\\n \\"TotalFail\\": 20,\\n \\"TotalUnknown\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryGateVerifyStatisticPublicResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <TotalFail>20</TotalFail>\\n <Total>20</Total>\\n <TotalSuccess>0</TotalSuccess>\\n <TotalUnknown>0</TotalUnknown>\\n <DayStatistic>\\n <StatisticDateStr>20220103</StatisticDateStr>\\n <TotalSuccess>0</TotalSuccess>\\n <TotalFail>20</TotalFail>\\n <TotalUnknown>0</TotalUnknown>\\n </DayStatistic>\\n </Data>\\n</QueryGateVerifyStatisticPublicResponse>","errorExample":""}]', - 'title' => '查询用量情况', - 'description' => '### QPS限制'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '完成短信验证码校验(已下线)', + 'description' => '### 准备工作'."\n" + .'请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案等操作,更多信息,请参见[短信认证使用流程](~~313209~~)。'."\n" + .'### QPS限制'."\n" .'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'QueryGateVerifyBillingPublic' => [ - 'summary' => '调用此接口查询某种认证方式下的月份费用账单。', - 'methods' => [ - 'post', - 'get', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '### Java SDK'."\n" + .'您可以通过添加Maven依赖安装阿里云Java SDK。SDK版本会持续更新,具体版本请以[OpenAPI](https://next.api.aliyun.com/api/Dypnsapi/2017-05-25/)页面为准。'."\n" + ."\n" + .'JAVA SDK MAVEN坐标'."\n" + .'```'."\n" + .'<dependency>'."\n" + .' <groupId>com.aliyun</groupId>'."\n" + .' <artifactId>dypnsapi20170525</artifactId>'."\n" + .' <version>1.0.6</version>'."\n" + .'</dependency>'."\n" + .'```', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifySmsCode'], + ], ], - 'schemes' => [ - 'http', - 'https', + '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":"<VerifySmsCodeResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <Data>true</Data>\\n <RequestId>8906582E-6722</RequestId>\\n</VerifySmsCodeResponse>","errorExample":""}]', + ], + 'VerifyWithFusionAuthToken' => [ + 'summary' => '融合认证客户端发起认证时,由开发者服务器通过鉴权Token换取的认证Token向阿里云发起本次调用,获取认证结果。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', - 'chargeType' => 'free', + 'chargeType' => 'paid', + 'abilityTreeCode' => '167123', + 'abilityTreeNodes' => ['FEATUREdypns9ZAN79', 'FEATUREdypns1LCGAH', 'FEATUREdypnsBK4NX5', 'FEATUREdypnsC68T0U', 'FEATUREdypnsRN54HJ'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Month', - 'in' => 'query', - 'schema' => [ - 'description' => '月份费用账单。格式为YYYYMM,例如202111。', - 'type' => 'string', - 'required' => true, - 'example' => '202111', - ], - ], - [ - 'name' => 'AuthenticationType', + 'name' => 'VerifyToken', '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', - ], + 'schema' => ['description' => '统一认证Token,由客户端SDK返回。', 'type' => 'string', 'required' => true, 'example' => 'LD108enNdlsl*******sFLKCks1=='], ], ], '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' => 'successful', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8906582E-6722', - ], - 'Data' => [ - 'description' => '具体到每个方案号的计费量和金额。', + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => '示例值'], + 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'."\n"], + 'Model' => [ + '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' => '阿里云通信', - ], - ], - ], - ], + 'PhoneNumber' => ['description' => '手机号,认证成功时返回该字段。'."\n" + .'><notice>该字段示例值进行了脱敏处理,实际认证成功时将返回11位明文手机号码。></notice>', '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'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + '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' => '账号已停机'], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Data\\": {\\n \\"AmountSum\\": \\"1234\\",\\n \\"SceneBillingList\\": [\\n {\\n \\"Add\\": \\"74\\",\\n \\"SinglePrice\\": \\"0.02\\",\\n \\"Amount\\": \\"1.48\\",\\n \\"ItemName\\": \\"本机号码校验\\",\\n \\"SceneCode\\": \\"FC100000038194004\\",\\n \\"AppName\\": \\"阿里云\\",\\n \\"SceneName\\": \\"阿里云通信\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<QueryGateVerifyBillingPublicResponse>\\n <Code>OK</Code>\\n <Message>请求成功</Message>\\n <RequestId>8906582E-6722</RequestId>\\n <Data>\\n <AmountLongSum>92760</AmountLongSum>\\n <AmountSum>1234</AmountSum>\\n <SceneBillingList>\\n <Add>74</Add>\\n <ItemId>15810****</ItemId>\\n <SinglePrice>0.02</SinglePrice>\\n <Amount>1.48</Amount>\\n <ItemName>本机号码校验</ItemName>\\n <SceneCode>FC100000038194004</SceneCode>\\n <AppName>阿里云</AppName>\\n <SceneName>阿里云通信</SceneName>\\n <Url>www.example.com</Url>\\n </SceneBillingList>\\n </Data>\\n</QueryGateVerifyBillingPublicResponse>","errorExample":""}]', - 'title' => '查询费用情况', - 'description' => '### QPS限制'."\n" - .'本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + '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"}]', ], - 'QuerySendDetails' => [ - 'summary' => '查询短信验证码发送状态(仅能查询短信认证API版本的发送记录)。', - 'methods' => [ - 'post', - 'get', + ], + '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'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2025-09-26T14:45:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'SendSmsVerifyCode'], ], - 'security' => [ - [ - 'AK' => [], + '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' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => true, - 'systemTags' => [ - 'operationType' => 'list', + [ + 'apiName' => 'DescribeVerifyScheme', + 'description' => '获取认证方案密钥', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:DescribeVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'PhoneNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '手机号。', - 'type' => 'string', - 'required' => true, - 'example' => '186****9399', + [ + 'apiName' => 'QueryGateVerifyStatisticPublic', + 'description' => '查询用量情况', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:QueryGateVerifyStatisticPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'SendDate', - 'in' => 'query', - 'schema' => [ - 'description' => '短信发送日期,支持查询最近30天的记录。'."\n" - ."\n" - .'格式为:yyyyMMdd,例如20181225。', - 'type' => 'string', - 'required' => true, - 'example' => '20181225', + ], + [ + 'apiName' => 'VerifyWithFusionAuthToken', + 'description' => '融合认证获取认证结果', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypns:VerifyWithFusionAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'BizId', - 'in' => 'query', - 'schema' => [ - 'description' => '业务的唯一标识号,由阿里云提供。', - 'type' => 'string', - 'required' => false, - 'example' => '1231891289318923^12', + ], + [ + 'apiName' => 'GetAuthToken', + 'description' => '获取 H5 认证授权 Token', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:GetAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '50', - 'default' => '', + ], + [ + 'apiName' => 'DeleteVerifyScheme', + 'description' => '删除认证方案', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypns:DeleteVerifyScheme', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '当前读取第几页消息,从1开始递增,读取消息时不可超过最大页数。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - 'default' => '', + ], + [ + 'apiName' => 'CreateSchemeConfig', + 'description' => '创建融合认证方案号', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypns:CreateSchemeConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - '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', - ], - ], + [ + 'apiName' => 'GetFusionAuthToken', + 'description' => '融合认证获取鉴权token', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypns:GetFusionAuthToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberVerificationService', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '暂无替代API,请关注后续API最新发布。', + [ + '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' => '*'], + ], + ], ], - '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' => '查询短信验证码发送状态', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dypnsapi.aliyuncs.com', ], + 'resourceTypes' => [], ], ]; |
