diff options
Diffstat (limited to 'data/zh_cn/dytnsapi/2020-02-17')
| -rw-r--r-- | data/zh_cn/dytnsapi/2020-02-17/api-docs.php | 8788 |
1 files changed, 3676 insertions, 5112 deletions
diff --git a/data/zh_cn/dytnsapi/2020-02-17/api-docs.php b/data/zh_cn/dytnsapi/2020-02-17/api-docs.php index b3fa196..9378388 100644 --- a/data/zh_cn/dytnsapi/2020-02-17/api-docs.php +++ b/data/zh_cn/dytnsapi/2020-02-17/api-docs.php @@ -1,164 +1,106 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dytnsapi', - 'version' => '2020-02-17', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dytnsapi', 'version' => '2020-02-17'], 'directories' => [ [ - 'id' => 346319, - 'title' => '身份证二要素/三要素核验', + 'children' => ['CertNoTwoElementVerification', 'CertNoThreeElementVerification'], 'type' => 'directory', - 'children' => [ - 'CertNoTwoElementVerification', - 'CertNoThreeElementVerification', - ], + 'title' => '身份证二要素/三要素核验', + 'id' => 45775, ], [ - 'id' => 346322, - 'title' => 'UAID查询', + 'children' => ['GetUAIDApplyTokenSign', 'UAIDVerification'], 'type' => 'directory', - 'children' => [ - 'GetUAIDApplyTokenSign', - 'UAIDVerification', - ], + 'title' => 'UAID查询', + 'id' => 45772, ], [ - 'id' => 346325, - 'title' => '企业二要素/三要素/四要素核验', + 'children' => ['CompanyTwoElementsVerification', 'CompanyThreeElementsVerification', 'CompanyFourElementsVerification'], 'type' => 'directory', - 'children' => [ - 'CompanyTwoElementsVerification', - 'CompanyThreeElementsVerification', - 'CompanyFourElementsVerification', - ], + 'title' => '企业二要素/三要素/四要素核验', + 'id' => 283131, ], [ - 'id' => 346329, - 'title' => '号码归属查询', + 'children' => ['DescribePhoneNumberOperatorAttribute'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneNumberOperatorAttribute', - ], + 'title' => '号码归属查询', + 'id' => 45737, ], [ - 'id' => 346331, - 'title' => '号码状态查询', + 'children' => ['PhoneNumberStatusForPublic', 'PhoneNumberStatusForAccount', 'PhoneNumberStatusForReal', 'PhoneNumberStatusForSms', 'PhoneNumberStatusForVoice'], 'type' => 'directory', - 'children' => [ - 'PhoneNumberStatusForPublic', - 'PhoneNumberStatusForAccount', - 'PhoneNumberStatusForReal', - 'PhoneNumberStatusForSms', - 'PhoneNumberStatusForVoice', - ], + 'title' => '号码状态查询', + 'id' => 45739, ], [ - 'id' => 346337, - 'title' => '二次号查询', + 'children' => ['DescribePhoneTwiceTelVerify'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneTwiceTelVerify', - ], + 'title' => '二次号查询', + 'id' => 45745, ], [ - 'id' => 346339, - 'title' => '在网时长查询', + 'children' => ['DescribePhoneNumberOnlineTime'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneNumberOnlineTime', - ], + 'title' => '在网时长查询', + 'id' => 45747, ], [ - 'id' => 346341, - 'title' => '号码分析查询', + 'children' => ['DescribePhoneNumberAnalysisAI', 'DescribePhoneNumberAnalysis'], 'type' => 'directory', - 'children' => [ - 'DescribePhoneNumberAnalysisAI', - 'DescribePhoneNumberAnalysis', - ], + 'title' => '号码分析查询', + 'id' => 45752, ], [ - 'id' => 346344, - 'title' => '空号检测', + 'children' => ['DescribeEmptyNumber'], 'type' => 'directory', - 'children' => [ - 'DescribeEmptyNumber', - ], + 'title' => '空号检测', + 'id' => 45755, ], [ - 'id' => 346346, - 'title' => '运营商二要素/三要素核验', + 'children' => ['HistoryThreeElementsVerification', 'VirtualThreeElementsVerification', 'TwoElementsVerification', 'ThreeElementsVerification'], 'type' => 'directory', - 'children' => [ - 'TwoElementsVerification', - 'ThreeElementsVerification', - ], + 'title' => '运营商二要素/三要素核验', + 'id' => 45749, ], [ - 'id' => 346349, - 'title' => '号码加密', + 'children' => ['PhoneNumberEncrypt'], 'type' => 'directory', - 'children' => [ - 'PhoneNumberEncrypt', - ], + 'title' => '号码加密', + 'id' => 45757, ], [ - 'id' => 346351, - 'title' => '无效号码过滤', + 'children' => ['InvalidPhoneNumberFilter'], 'type' => 'directory', - 'children' => [ - 'InvalidPhoneNumberFilter', - ], + 'title' => '无效号码过滤', + 'id' => 45759, ], [ - 'id' => 346353, - 'title' => '标签', + 'children' => ['QueryTagListPage', 'QueryTagInfoBySelection', 'QueryUsageStatisticsByTagId', 'QueryTagApplyRule'], 'type' => 'directory', - 'children' => [ - 'QueryTagListPage', - 'QueryTagInfoBySelection', - 'QueryUsageStatisticsByTagId', - 'QueryTagApplyRule', - ], + 'title' => '标签', + 'id' => 45765, ], [ - 'id' => 346358, - 'title' => '授权码', + 'children' => ['QueryAvailableAuthCode'], 'type' => 'directory', - 'children' => [ - 'QueryAvailableAuthCode', - ], + 'title' => '授权码', + 'id' => 45770, ], [ - 'id' => 0, - 'title' => '其它', + 'children' => ['DeleteContacts', 'ListContacts', 'QueryPackageTypeInfo', 'QueryTaskList', 'SaveContacts', 'UpdateContacts'], 'type' => 'directory', - 'children' => [ - 'ListContacts', - 'SaveContacts', - 'UpdateContacts', - 'DeleteContacts', - 'QueryPackageTypeInfo', - 'QueryTaskList', - ], + 'title' => '其他', + 'id' => 283155, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CertNoTwoElementVerification' => [ - 'summary' => '二要素(姓名和身份证)核验。用于比对用户填写的姓名、身份证两项信息是否属于同一用户。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CertNoThreeElementVerification' => [ + 'summary' => '三要素(姓名、身份证号和身份证照)核验。用于比对用户填写的姓名、身份证号及上传的人像照片三项信息是否属于同一用户。', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -168,43 +110,36 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '200459', - 'abilityTreeNodes' => [ - 'FEATUREdytnsHIUT2Z', - ], + 'abilityTreeCode' => '231962', + 'abilityTreeNodes' => ['FEATUREdytnsOFD0CE'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在**号码百科**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => '授权码。取值来源:'."\n" + .'- 在号码百科控制台[标签广场](https://dytns.console.aliyun.com/analysis/square)选择**身份证三要素**标签,提交使用申请,申请通过后会获得授权码。'."\n" + .'- 在号码百科控制台[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,查看已申请通过的**身份证三要素**授权ID。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], ], [ 'name' => 'CertName', 'in' => 'query', - 'schema' => [ - 'description' => '待核验的姓名。', - 'type' => 'string', - 'required' => true, - 'example' => '张三', - ], + 'schema' => ['description' => '待核验的姓名。', 'type' => 'string', 'required' => true, 'example' => '张三'], ], [ 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => '待核验的身份证号。', - 'type' => 'string', - 'required' => true, - 'example' => '3***************0', - ], + 'schema' => ['description' => '待核验的身份证号。', 'type' => 'string', 'required' => true, 'example' => '3***************0'], + ], + [ + 'name' => 'CertPicture', + 'in' => 'query', + 'schema' => ['description' => '待核验的人像照片的BASE64编码。**请去除编码后的URI信息(如`data:image/png;base64,`)后提交**。照片大小和BASE64编码后的大小均不能超过50K。', 'type' => 'string', 'required' => true, 'example' => 'iVBOFMKODOFNDFP123DFSMOO...'], + ], + [ + 'name' => 'Mask', + 'in' => 'query', + 'schema' => ['description' => '是否加密(目前仅支持不加密)', 'type' => 'string', 'required' => false, 'example' => '不加密', 'default' => 'NORMAL'], ], ], 'responses' => [ @@ -212,87 +147,78 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'IsConsistent' => [ - 'description' => '验证结果是否一致。返回:'."\n" - ."\n" - .'- **1**:一致'."\n" - ."\n" - .'- **0**:不一致'."\n" - ."\n" - .'- **2**:查无', - 'type' => 'string', - 'example' => '1', - ], + 'IsConsistent' => ['description' => '验证结果是否一致。返回:'."\n" + ."\n" + .'- 0:姓名与身份证号匹配,识别为非同一人'."\n" + ."\n" + .'- 1:姓名与身份证号匹配,识别为同一人。'."\n" + ."\n" + .'- 2:姓名与身份证号匹配,疑似同一人。'."\n" + ."\n" + .'- 3:姓名与身份证号匹配,库中无人像信息。'."\n" + ."\n" + .'- 4:身份信息无效(姓名与身份证号核对不一致)。'."\n" + ."\n" + .'- 5:照片质量不合格。', 'type' => 'string', 'example' => '1'], ], ], - 'Code' => [ - 'description' => '请求状态码。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码,取值:'."\n" + .'- OK:代表请求成功。'."\n" + .'- 其他错误码,请参见下方错误码列表。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '身份证二要素核验', - 'description' => '- 请确保在使用本接口前,您已充分了解号码百科产品定价。'."\n" - .'- 使用本接口前,请登录号码百科控制台,在标签广场页面,找到对应的标签,单击申请开通,填写申请资料,审批通过后即可使用。'."\n" - .'- 当接口值返回值:Code="OK"且IsConsistent != 2时计费,其他返回结果不计费。'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => '身份证三要素核验', + 'description' => '- 使用本接口前,请登录号码百科控制台,在标签广场页面,找到对应的标签,单击申请开通,填写申请资料,审批通过后即可使用。'."\n" + .'- 请确保在使用本接口前,您已充分了解[号码百科产品定价](~~154751~~)。'."\n" + .'- 当接口值返回值:Code="OK"时计费,其他返回结果不计费。'."\n" + .'- 可核验范围请参见[身份证三要素核验](~~2844379~~)。'."\n" + .'### QPS限制'."\n" ."\n" - .'## QPS限制'."\n" - .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'CertNoThreeElementVerification' => [ - 'summary' => '三要素(姓名、身份证号和身份证照)核验。用于比对用户填写的姓名、身份证号及上传的人像照片三项信息是否属于同一用户。', - 'methods' => [ - 'post', - 'get', + .'- 本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoThreeElementVerification'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoThreeElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CertNoTwoElementVerification' => [ + 'summary' => '二要素(姓名和身份证)核验。用于比对用户填写的姓名、身份证两项信息是否属于同一用户。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -302,64 +228,26 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '231962', - 'abilityTreeNodes' => [ - 'FEATUREdytnsOFD0CE', - ], + 'abilityTreeCode' => '200459', + 'abilityTreeNodes' => ['FEATUREdytnsHIUT2Z'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。取值来源:'."\n" - .'- 在号码百科控制台[标签广场](https://dytns.console.aliyun.com/analysis/square)选择**身份证三要素**标签,提交使用申请,申请通过后会获得授权码。'."\n" - .'- 在号码百科控制台[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,查看已申请通过的**身份证三要素**授权ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在**号码百科**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], ], [ 'name' => 'CertName', 'in' => 'query', - 'schema' => [ - 'description' => '待核验的姓名。', - 'type' => 'string', - 'required' => true, - 'example' => '张三', - ], + 'schema' => ['description' => '待核验的姓名。', 'type' => 'string', 'required' => true, 'example' => '张三'], ], [ 'name' => 'CertNo', 'in' => 'query', - 'schema' => [ - 'description' => '待核验的身份证号。', - 'type' => 'string', - 'required' => true, - 'example' => '3***************0', - ], - ], - [ - 'name' => 'CertPicture', - 'in' => 'query', - 'schema' => [ - 'description' => '待核验的人像照片的BASE64编码。**请去除编码后的URI信息(如`data:image/png;base64,`)后提交**。照片大小和BASE64编码后的大小均不能超过50K。', - 'type' => 'string', - 'required' => true, - 'example' => 'iVBOFMKODOFNDFP123DFSMOO...', - ], - ], - [ - 'name' => 'Mask', - 'in' => 'query', - 'schema' => [ - 'description' => '是否加密(目前仅支持不加密)', - 'type' => 'string', - 'required' => false, - 'example' => '不加密', - 'default' => 'NORMAL', - ], + 'schema' => ['description' => '待核验的身份证号。', 'type' => 'string', 'required' => true, 'example' => '3***************0'], ], ], 'responses' => [ @@ -367,97 +255,69 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'IsConsistent' => [ - 'description' => '验证结果是否一致。返回:'."\n" - ."\n" - .'- 0:姓名与身份证号匹配,识别为非同一人'."\n" - ."\n" - .'- 1:姓名与身份证号匹配,识别为同一人。'."\n" - ."\n" - .'- 2:姓名与身份证号匹配,疑似同一人。'."\n" - ."\n" - .'- 3:姓名与身份证号匹配,库中无人像信息。'."\n" - ."\n" - .'- 4:身份信息无效(姓名与身份证号核对不一致)。'."\n" - ."\n" - .'- 5:照片质量不合格。', - 'type' => 'string', - 'example' => '1', - ], + 'IsConsistent' => ['description' => '验证结果是否一致。返回:'."\n" + ."\n" + .'- **1**:一致'."\n" + ."\n" + .'- **0**:不一致'."\n" + ."\n" + .'- **2**:查无', 'type' => 'string', 'example' => '1'], ], ], - 'Code' => [ - 'description' => '请求状态码,取值:'."\n" - .'- OK:代表请求成功。'."\n" - .'- 其他错误码,请参见下方错误码列表。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '身份证三要素核验', - 'description' => '- 使用本接口前,请登录号码百科控制台,在标签广场页面,找到对应的标签,单击申请开通,填写申请资料,审批通过后即可使用。'."\n" - .'- 请确保在使用本接口前,您已充分了解[号码百科产品定价](~~154751~~)。'."\n" - .'- 当接口值返回值:Code="OK"时计费,其他返回结果不计费。'."\n" - .'- 可核验范围请参见[身份证三要素核验](~~2844379~~)。'."\n" - .'### QPS限制'."\n" + 'title' => '身份证二要素核验', + 'description' => '- 请确保在使用本接口前,您已充分了解号码百科产品定价。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在标签广场页面,找到对应的标签,单击申请开通,填写申请资料,审批通过后即可使用。'."\n" + .'- 当接口值返回值:Code="OK"且IsConsistent != 2时计费,其他返回结果不计费。'."\n" ."\n" - .'- 本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'GetUAIDApplyTokenSign' => [ - 'summary' => '该API仅提供三网运营商获取UAID能力中,获取授权Token环节的签名功能。', - 'methods' => [ - 'post', - 'get', + .'## QPS限制'."\n" + .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoTwoElementVerification'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoTwoElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": \\"1\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'CompanyFourElementsVerification' => [ + 'summary' => '用于核验企业名称、企业证件号、企业法人姓名和企业法人身份证号,必须全部一致且企业经营状态为在营才会判定核验通过。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -465,88 +325,39 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '195618', + 'abilityTreeNodes' => ['FEATUREdytnsVTODD4'], + ], 'parameters' => [ [ - 'name' => 'AuthCode', - 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在**号码分析服务**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'HwD97InG', - ], - ], - [ - 'name' => 'OutId', - 'in' => 'query', - 'schema' => [ - 'description' => '外部流水号。'."\n" - .'> 对应移动(CM)运营商中的traceId、msgId,三者保持一致即可', - 'type' => 'string', - 'required' => true, - 'example' => 'b8b5b3a*******0b9893484fdf412c99', - ], - ], - [ - 'name' => 'ClientType', + 'name' => 'EpCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '客户端类型。'."\n" - .'- Android:30100'."\n" - .'- IOS:30300'."\n" - .'- H5:20200'."\n" - .'- WEB:10010', - 'type' => 'string', - 'required' => true, - 'example' => '30300', - ], + 'schema' => ['description' => '企业证件号。', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627'], ], [ - 'name' => 'ParamKey', + 'name' => 'EpCertName', 'in' => 'query', - 'schema' => [ - 'description' => '运营商为电信(CT)时必传,具体参考电信运营商文档。', - 'type' => 'string', - 'required' => false, - 'example' => '955EC1A869852EA8BC66F********D7C6E92017BBD5B001C736EFEAFB775C232', - ], + 'schema' => ['description' => '企业名称(必填)。', 'type' => 'string', 'required' => false, 'example' => '某企业'], ], [ - 'name' => 'ParamStr', + 'name' => 'LegalPersonCertName', 'in' => 'query', - 'schema' => [ - 'description' => '运营商为电信(CT)时必传,具体参考电信运营商文档。', - 'type' => 'string', - 'required' => false, - 'example' => 'B2F0D4CD7A216D16CE2AF4BBC********29A454FDDD991F919106C12CB89ABA8', - ], + 'schema' => ['description' => '企业法人姓名。'."\n" + .'> 如果企业有多个法人,法人之间需用中文顿号(”、”)隔开', 'type' => 'string', 'required' => true, 'example' => '张三'], ], [ - 'name' => 'Time', + 'name' => 'LegalPersonCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '事件发生的时间戳,精确到毫秒。 '."\n" - .'格式:yyyyMMddHHmmssSSS。', - 'type' => 'string', - 'required' => true, - 'example' => '20121227180001165', - ], + 'schema' => ['description' => '企业法人身份证号码。'."\n" + .'> 如果企业有多个身份证号,身份证号之间需用中文顿号(”、”)隔开', 'type' => 'string', 'required' => true, 'example' => '610321********0011、510180********0022'], ], [ - 'name' => 'Carrier', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '用户所处的运营商。取值:'."\n" - .'- **CM**:中国移动。'."\n" - .'- **CU**:中国联通。'."\n" - .'- **CT**:中国电信。', - 'type' => 'string', - 'required' => true, - 'example' => 'CM', - ], + 'schema' => ['description' => '授权码。'."\n" + .'>登录[号码百科控制台](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC),在[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], ], 'responses' => [ @@ -554,228 +365,92 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '返回结果。', + 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'OutId' => [ - 'description' => '外部流水号。', - 'type' => 'string', - 'example' => 'b8b5b3a*******0b9893484fdf412c99', - ], - 'Sign' => [ - 'description' => '签名值', - 'type' => 'string', - 'example' => 'D2E204D74EEB373E468632********23F592C4C9', + 'DetailInfo' => [ + 'description' => '企业详细信息。', + 'type' => 'object', + 'properties' => [ + 'OpenTime' => ['description' => '企业营业期限。', 'type' => 'string', 'example' => '2023-05-25/2053-05-24'], + 'EnterpriseStatus' => ['description' => '企业经营状态。', 'type' => 'string', 'example' => '在营(开业)'], + ], + 'example' => '{ "enterpriseStatus": "在营(开业)", '."\n" + .'"openTime": "2023-05-25/2053-05-24" }', ], - 'Carrier' => [ - 'description' => '用户所处的运营商。取值:'."\n" - .'- **CM**:中国移动。'."\n" - .'- **CU**:中国联通。'."\n" - .'- **CT**:中国电信。', - 'type' => 'string', - 'example' => 'CM', + 'InconsistentData' => [ + 'description' => '校验不一致的字段', + 'type' => 'array', + 'items' => ['description' => '- EpCertName:企业名称'."\n" + .'- EpCertNo:企业证件号'."\n" + .'- CertName:企业法人姓名'."\n" + .'- CertNo:企业法人证件号', 'type' => 'string', 'example' => 'CertName'], + 'example' => '', ], + 'VerifyResult' => ['description' => '核验结果。取值:'."\n" + .'- true:信息核验一致,且企业正常经营。'."\n" + .'- false:核验不通过。', 'type' => 'string', 'example' => 'true'], + 'ReasonCode' => ['description' => '核验结果编码。取值:'."\n" + ."\n" + .'- 0:核验一致'."\n" + .'- 1:核验一致,企业非正常营业'."\n" + .'- 2:法人与企业信息核验不一致'."\n" + .'- 3:企业四要素不通过'."\n" + .'- 4:查无此企业'."\n" + .'- 5:库中无此法人', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], ], ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - .'- **OK**:请求成功。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"OutId\\": \\"b8b5b3a*******0b9893484fdf412c99\\",\\n \\"Sign\\": \\"D2E204D74EEB373E468632********23F592C4C9\\",\\n \\"Carrier\\": \\"CM\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '获取UAID授权Token的签名值', - 'description' => '该API仅提供三网运营商获取UAID能力中,**获取授权Token环节的签名功能**。'."\n" - .' - 获取授权Token的其他必要参数,请参考对应运营商文档自行生成'."\n" - .' - 获取授权Token的请求,请参考对应运营商文档,注意需要从用户移动终端的蜂窝移动网络环境下请求'."\n" - .' - 获取授权Token请求后,请参考[UAIDVerification](~~UAIDVerification~~) 接口进行最终的UAID获取。'."\n" - ."\n" - .'### 如何通过客户端/H5方式请求授权Token'."\n" - ."\n" - .'<notice>发起请求授权Token时,客户端或H5页面必须切换到蜂窝移动网络。</notice>'."\n" - ."\n" - .'#### 移动(CM)'."\n" - .'通信协议:HTTPS + application/Json '."\n" - .'方法:POST '."\n" - .'地址:https://msg.cmpassport.com/h5/getMobile '."\n" - ."\n" - .'##### 请求参数'."\n" - .'参数示例: '."\n" - ."\n" - .'`{'."\n" - .' "traceId": "mfawsxtcmyplwzpayzzvdvbsowxmkynr",'."\n" - .' "appId": "300011580392",'."\n" - .' "sign": "2c61b3c58ffbeed97461e31be4fd931a",'."\n" - .' "msgId": "redbyxsdetddwaaffajcwwapspykftzx",'."\n" - .' "expandParams": "",'."\n" - .' "businessType": "3",'."\n" - .' "version": "1.0",'."\n" - .' "timestamp": "20201125101540980"'."\n" - .'}` '."\n" - .' '."\n" - .'参数描述: '."\n" - .'- version:使用`1.0`'."\n" - .'- timestamp:请求消息发送的系统时间,精确到毫秒,对应该API下方入参`Time`的内容及其格式,两者需要保持一致'."\n" - .'- appId:使用`300012406312`'."\n" - .'- businessType:使用`3`'."\n" - .'- traceId:外部流水号,对应该API下方入参`OutId`的内容,两者需要保持一致'."\n" - .'- sign:调用该API获取'."\n" - .'- msgId:外部流水号,对应该API下方入参`OutId`的内容,两者需要保持一致'."\n" - ."\n" - .'##### 响应参数'."\n" - .'响应示例: '."\n" - .'`{'."\n" - .' "header": {'."\n" - .' "appId": "300011580392",'."\n" - .' "msgId": "redbyxsdetddwaaffajcwwapspykftzx",'."\n" - .' "timestamp": "20201125101607932"'."\n" - .' },'."\n" - .' "body": {'."\n" - .' "resultCode": "103000",'."\n" - .' "expandParams": "",'."\n" - .' "resultDesc": "成功",'."\n" - .' "token": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01"'."\n" - .' }'."\n" - .'}`'."\n" - ."\n" - .'直接获取`body`中的`token`即可。'."\n" - ."\n" - .'#### 联通(CU)'."\n" - .'分两步获取token'."\n" - .'##### 第一步:获取authurl'."\n" - .'通过第一步请求,获取门户服务器获取鉴权服务器地址`authurl` '."\n" - ."\n" - .'通信协议:HTTPS + application/Json '."\n" - .'方法:GRT '."\n" - .'地址:https://nisportal.10010.com:9001/api '."\n" - .'###### 请求参数'."\n" - .'参数示例: '."\n" - .'json方式请求:`?appid=1554778161153` '."\n" - .'jsonp方式请求:`?appid=1554778161153&callback=callbackFunction` '."\n" - ."\n" - .'参数描述:'."\n" - .'- appid:使用1554778161153'."\n" - .'- callback:jsonp回调函数名。仅当使用jsonp格式时需要传此参数'."\n" - .'###### 响应参数'."\n" - .'响应示例: '."\n" - .'json方式请求:'."\n" - .'`{"authurl": "https://enrichgw.10010.com/d93222629f52ec79"}` '."\n" - .'jsonp方式请求:'."\n" - .'`callbackFunction({"authurl":"https://enrichgw.10010.com/d93222629f52ec79"})` '."\n" - ."\n" - .'获取返回结果中的`authurl`。'."\n" - ."\n" - .'##### 第二步:获取token'."\n" - .'通信协议:HTTPS + application/Json '."\n" - .'方法:GRT '."\n" - .'地址:${authurl}+"/api" '."\n" - ."\n" - .'请求地址示例:`https://enrichgw.10010.com/d93222629f52ec79/api`'."\n" - .'###### 请求参数'."\n" - .'参数示例: '."\n" - .'json方式请求:`?appid=1554778161153` '."\n" - .'jsonp方式请求:`?appid=1554778161153&callback=callbackFunction` '."\n" - ."\n" - .'参数描述:'."\n" - .'- appid:使用1554778161153'."\n" - .'- callback:jsonp回调函数名。仅当使用jsonp格式时需要传此参数'."\n" - .'###### 响应参数'."\n" - .'响应示例: '."\n" - .'json方式请求:'."\n" - .'`{'."\n" - .' "province": "1",'."\n" - .' "code": "7nHS1nggx2WP613750206700RN6oiRN1"'."\n" - .'}` '."\n" - .'jsonp方式请求:'."\n" - .'`callbackFunction({"province":"1","code":"7nHS3Dnkd1BS701851092400RN6oiRN1"})`'."\n" - ."\n" - .'获取返回结果中的`code`即可。'."\n" - ."\n\n" - ."\n" - .'#### 电信(CT)'."\n" - .'通信协议:HTTPS + application/x-www-form-urlencoded;charset=UTF '."\n" - .'方法:GET '."\n" - .'地址:https://id6.me/gw/preuniq.do'."\n" - ."\n" - .'##### 请求参数'."\n" - .'参数示例: '."\n" - .'`?clientType=30100&appId=9390188202&format=json&sign=D63C166FA19E1996EF********09C6A5397C10B4¶mKey=1D7C25EB8B0B8B4CB3CF8DC60628F6549********786B0AF1FEF93FA1335057A35BF5F0B39A3867EAA9BE14B3898********8B01DE34965060445B6E1F66401D714650E4AB161CD6DCF4A72********3B856F22A192B8B0C39D7A55B961062E68C89C928894F119B25********7C548355FE9DB82852EB93C939F2200B48CD17¶mStr=140********95AF8E138B94754CB4CF83BA6FB********52B258BFDFD38BF233&version=1.1` '."\n" - ."\n" - .'参数描述: '."\n" - .'- appId:使用`9390188202`'."\n" - .'- clientType:客户端类型,对应该API下方入参`ClientType`的内容,两者需要保持一致'."\n" - .'- format:使用`json`或`jsonp`'."\n" - .'- version:使用`1.1`'."\n" - .'- sign:调用该API获取'."\n" - .'- paramKey:密钥A的密文;密钥A为接入端随机生成字符串,长度为16位;`paramKey = RSA1024("${密钥A}", "${天翼账号平台公钥}")`;填充模式为`RSA/ECB/PKCS1Padding`;下载[电信RSA公钥](https://id.189.cn/source/files/API.pem)'."\n" - .'- paramStr:不公开请求参数密文; timeStamp为时间戳,精确到毫秒,对应该API下方入参`Time`的值,但格式不同(参考值`1697791988302`);callback为使用jsonp格式时的回调方法,仅当format取值为jsonp时需要填写。`paramStr = AES("timeStamp=${timeStamp}&callback=${callback}", "${密钥A}")`;填充模式为`AES/CBC/PKCS5Padding`,初始向量为`0000000000000000`'."\n" - ."\n" - .'##### 响应参数'."\n" - .'响应示例: '."\n" - .'`callback?result=10000&msg=success&data=a35336711c70456cb883f4f224e9a259` '."\n" - ."\n" - .'`data`为加密的业务结果数据,`data = AES(业务结果, 密钥A)`,使用密钥A进行AES解密(AES/CBC/PKCS5Padding)。 '."\n" - .' '."\n" - .'解密后业务结果示例: '."\n" - .'`{"accessCode": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01"}`'."\n" - .' '."\n" - .'此时获取`accessCode`即可。', - ], - 'UAIDVerification' => [ - 'summary' => '根据运营商授权Token获取UAID。'."\n" - .'获取授权Token及其签名值请参考GetUAIDApplyTokenSign API文档。'."\n" + 'title' => '企业四要素核验', + 'description' => '- 请确保在使用该接口前,已充分了企业四要素核验产品的收费方式和价格,计费详情请参见[产品计费](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4)。'."\n" + .'- 当返回结果中:当VerifyResult返回true/false,且ReasonCode=0/1/2时计费,其余情况均不计费。'."\n" + .'- 使用本接口前,请登录[号码百科控制台](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC&lang=zh),在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" ."\n" - .'UAID为64个长度,前32个长度描述设备信息,后32个长度描述号码信息。', - 'methods' => [ - 'post', - 'get', + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyFourElementsVerification'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CompanyFourElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"true\\",\\n \\"ReasonCode\\": 0\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'CompanyThreeElementsVerification' => [ + 'summary' => '用于核验企业名称、企业证件号和企业法人姓名,必须全部一致且企业经营状态为在营才会判定核验通过。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -784,90 +459,33 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '195916', - 'abilityTreeNodes' => [ - 'FEATUREdytnsQNXFTN', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '195616', + 'abilityTreeNodes' => ['FEATUREdytnsRFNMHG'], ], 'parameters' => [ [ - 'name' => 'OutId', + 'name' => 'EpCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '外部流水号。', - 'type' => 'string', - 'required' => false, - 'example' => 'b8b5b3a*******0b9893484fdf412c99'."\n", - ], + 'schema' => ['description' => '企业证件号。', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627'], ], [ - 'name' => 'Carrier', - 'in' => 'query', - 'schema' => [ - 'description' => '用户所处的运营商。取值:'."\n" - .'- **CM**:中国移动。'."\n" - .'- **CU**:中国联通。'."\n" - .'- **CT**:中国电信。', - 'type' => 'string', - 'required' => true, - 'example' => 'CM', - ], - ], - [ - 'name' => 'Token', + 'name' => 'EpCertName', 'in' => 'query', - 'schema' => [ - 'description' => '运营商授权Token。 '."\n" - .'> 获取授权Token及其签名值请参考GetUAIDApplyTokenSign API文档。', - 'type' => 'string', - 'required' => true, - 'example' => 'MIGfMA0********3DQEBAQUAA4GNADCB', - ], + 'schema' => ['description' => '企业名称。', 'type' => 'string', 'required' => true, 'example' => '某企业'], ], [ - 'name' => 'UserGrantId', + 'name' => 'LegalPersonCertName', 'in' => 'query', - 'schema' => [ - 'description' => '用户授权码,代表用户已授权。值为不大于128位的唯一随机数即可。 '."\n" - ."\n" - .'<warning>集成时,建议在产品的隐私政策中加入UAID的隐私政策相关内容。</warning>', - 'type' => 'string', - 'required' => false, - 'example' => 'Md****a3Em', - ], + 'schema' => ['description' => '企业法人姓名。'."\n" + .'>如果企业有多个法人,法人之间需用中文顿号(”、”)隔开。', 'type' => 'string', 'required' => true, 'example' => '张三'], ], [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在**号码分析服务**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'HwD97InG', - ], - ], - [ - 'name' => 'Ip', - 'in' => 'query', - 'schema' => [ - 'description' => '公网IP地址,当运营商为联通(CU)时必传,兼容IPV4和IPV6地址。', - 'type' => 'string', - 'required' => false, - 'example' => '2408:8440:308:29dc:ed00:c4ec:475c:25a4', - ], - ], - [ - 'name' => 'Province', - 'in' => 'query', - 'schema' => [ - 'description' => '省份id,当运营商为联通(CU)时选传。与获取token时返回值中province字段保持一致。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'>登录[号码百科控制台](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC),在[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], ], 'responses' => [ @@ -875,82 +493,94 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '返回结果。', + 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'Uaid' => [ - 'description' => '获取到的UAID的值。', - 'type' => 'string', - 'example' => 'B1E0C1********9F757AF52A035', + 'DetailInfo' => [ + 'description' => '企业详细信息。', + 'type' => 'object', + 'properties' => [ + 'OpenTime' => ['description' => '企业营业期限。', 'type' => 'string', 'example' => '2023-05-25/2053-05-24'], + 'EnterpriseStatus' => ['description' => '企业经营状态。', 'type' => 'string', 'example' => '在营(开业)'], + ], + 'example' => '{'."\n" + .' "enterpriseStatus": "在营(开业)",'."\n" + .' "openTime": "2023-05-25/2053-05-24"'."\n" + .'}', + ], + 'InconsistentData' => [ + 'description' => '校验不一致的字段', + 'type' => 'array', + 'items' => ['description' => '- EpCertName:企业名称'."\n" + .'- EpCertNo:企业证件号'."\n" + .'- CertName:企业法人姓名', 'type' => 'string', 'example' => 'CertName'], + 'example' => '', ], + 'VerifyResult' => ['description' => '核验结果。取值:'."\n" + ."\n" + .'- true:信息核验一致,且企业正常经营。'."\n" + .'- false:核验不通过。', 'type' => 'string', 'example' => 'false'], + 'ReasonCode' => ['description' => '核验结果编码。取值:'."\n" + ."\n" + .'- 0:核验一致'."\n" + .'- 1:核验一致,企业非正常营业'."\n" + .'- 2:人企核验不一致'."\n" + .'- 3:企业二要素不通过'."\n" + .'- 4:查无企业'."\n" + .'- 5:人在库中不存在', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], ], ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Data\\": {\\n \\"Uaid\\": \\"B1E0C1********9F757AF52A035\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '根据运营商授权Token获取UAID', - 'description' => '请确保在使用该接口前,已充分了解号码百科产品的收费方式和[价格](https://www.aliyun.com/price/product#/dytns/detail/dytns_penqbag_public_cn)。 '."\n" + 'title' => '企业三要素核验', + 'description' => '- 请确保在使用该接口前,已充分了企业三要素核验产品的收费方式和价格,计费详情请参见[产品计费](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4)。'."\n" + .'- 当返回结果中:当VerifyResult返回true/false,且ReasonCode=0/1/2时计费,其余情况均不计费。'."\n" + .'- 使用本接口前,请登录[号码百科控制台](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC&lang=zh),在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" ."\n" - .'根据运营商授权Token获取UAID。 '."\n" - .'获取授权Token及其签名值请参考GetUAIDApplyTokenSign API文档。', + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyThreeElementsVerification'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"false\\",\\n \\"ReasonCode\\": 2\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], 'CompanyTwoElementsVerification' => [ 'summary' => '用于核验企业名称和企业证件号,名称和证件必须全部一致且企业经营状态为在营才会判定核验通过。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -958,41 +588,24 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'EpCertNo', 'in' => 'query', - 'schema' => [ - 'description' => '企业证件号。', - 'type' => 'string', - 'required' => true, - 'example' => '9242032*******J627'."\n", - ], + 'schema' => ['description' => '企业证件号。', 'type' => 'string', 'required' => true, 'example' => '9242032*******J627'."\n"], ], [ 'name' => 'EpCertName', 'in' => 'query', - 'schema' => [ - 'description' => '企业名称。', - 'type' => 'string', - 'required' => true, - 'example' => '某企业', - ], + 'schema' => ['description' => '企业名称。', 'type' => 'string', 'required' => true, 'example' => '某企业'], ], [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'>登录[号码百科控制台](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC),在[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'>登录[号码百科控制台](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC),在[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], ], 'responses' => [ @@ -1000,21 +613,9 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ 'description' => '结构体。', 'type' => 'object', @@ -1025,16 +626,8 @@ .'> 事业单位、民事团体不支持返回此字段', 'type' => 'object', 'properties' => [ - 'OpenTime' => [ - 'description' => '企业营业期限。', - 'type' => 'string', - 'example' => '2023-05-25/2053-05-24', - ], - 'EnterpriseStatus' => [ - 'description' => '企业经营状态。', - 'type' => 'string', - 'example' => '在营(开业)', - ], + 'OpenTime' => ['description' => '企业营业期限。', 'type' => 'string', 'example' => '2023-05-25/2053-05-24'], + 'EnterpriseStatus' => ['description' => '企业经营状态。', 'type' => 'string', 'example' => '在营(开业)'], ], 'example' => '{'."\n" .' "enterpriseStatus": "在营(开业)",'."\n" @@ -1044,68 +637,39 @@ 'InconsistentData' => [ 'description' => '校验不一致的字段。', 'type' => 'array', - 'items' => [ - 'description' => '- EpCertName:企业名称'."\n" - .'- EpCertNo:企业证件号', - 'type' => 'string', - 'example' => 'EpCertName', - ], + 'items' => ['description' => '- EpCertName:企业名称'."\n" + .'- EpCertNo:企业证件号', 'type' => 'string', 'example' => 'EpCertName'], 'example' => '', ], - 'VerifyResult' => [ - 'description' => '核验结果。取值:'."\n" - ."\n" - .'- true:信息核验一致,且企业正常经营。'."\n" - .'- false:核验不通过。'."\n" - ."\n" - .'> 事业单位、民事团体不支持核验企业经营状态,仅核验企业名称与企业证件号是否一致', - 'type' => 'string', - 'example' => 'true', - ], - 'ReasonCode' => [ - 'description' => '核验结果编码。取值:'."\n" - ."\n" - .'- 0:核验一致'."\n" - .'- 1:核验一致,企业非正常营业'."\n" - .'- 3:企业二要素不通过'."\n" - .'- 4:查无企业', - 'type' => 'string', - 'example' => '0', - ], + 'VerifyResult' => ['description' => '核验结果。取值:'."\n" + ."\n" + .'- true:信息核验一致,且企业正常经营。'."\n" + .'- false:核验不通过。'."\n" + ."\n" + .'> 事业单位、民事团体不支持核验企业经营状态,仅核验企业名称与企业证件号是否一致', 'type' => 'string', 'example' => 'true'], + 'ReasonCode' => ['description' => '核验结果编码。取值:'."\n" + ."\n" + .'- 0:核验一致'."\n" + .'- 1:核验一致,企业非正常营业'."\n" + .'- 3:企业二要素不通过'."\n" + .'- 4:查无企业', 'type' => 'string', 'example' => '0'], ], ], - 'Code' => [ - 'description' => '请求状态码。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"EpCertName\\"\\n ],\\n \\"VerifyResult\\": \\"true\\",\\n \\"ReasonCode\\": \\"0\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', 'title' => '企业二要素核验', 'description' => '- 请确保在使用该接口前,已充分了解企业二要素核验产品的收费方式和价格,计费详情请参见[产品计费](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4)。'."\n" .'- 返回结果中Code=OK,且ReasonCode=0/1/3时计费,其余情况均不计费。'."\n" @@ -1113,17 +677,31 @@ ."\n" .'### QPS限制'."\n" .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'CompanyThreeElementsVerification' => [ - 'summary' => '用于核验企业名称、企业证件号和企业法人姓名,必须全部一致且企业经营状态为在营才会判定核验通过。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyTwoElementsVerification'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyTwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"EpCertName\\"\\n ],\\n \\"VerifyResult\\": \\"true\\",\\n \\"ReasonCode\\": \\"0\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'DeleteContacts' => [ + 'summary' => '预警联系人删除。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1132,55 +710,240 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '195616', - 'abilityTreeNodes' => [ - 'FEATUREdytnsRFNMHG', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '35631', + 'abilityTreeNodes' => ['FEATUREdytnsVCETJO'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'EpCertNo', + 'name' => 'ContactId', 'in' => 'query', + 'schema' => ['description' => '要删除的通知id。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '5454735262'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '企业证件号。', - 'type' => 'string', - 'required' => true, - 'example' => '9242032*******J627', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求id。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Code' => ['description' => '请求状态码。-返回ok代表请求成功。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'Data' => ['description' => '是否成功。取值:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ], + 500 => [ + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除联系人', + 'description' => '- 请确保在使用该接口前,已经完成号码百科业务的开通', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:DeleteContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": true\\n}","type":"json"}]', + ], + 'DescribeEmptyNumber' => [ + 'summary' => '通过AI算法,预测手机号是否为空号。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EpCertName', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '162520', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], + ], + 'parameters' => [ + [ + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '企业名称。', - 'type' => 'string', - 'required' => true, - 'example' => '某企业', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'."\n"], ], [ - 'name' => 'LegalPersonCertName', + 'name' => 'InputNumber', 'in' => 'query', + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n\n" + .'> 目前仅支持单个号码查询。'."\n", 'type' => 'string', 'required' => true, 'example' => '189****1234'], + ], + [ + 'name' => 'Mask', + 'in' => 'query', + 'schema' => ['description' => '号码的加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '企业法人姓名。'."\n" - .'>如果企业有多个法人,法人之间需用中文顿号(”、”)隔开。', - 'type' => 'string', - 'required' => true, - 'example' => '张三', + 'description' => '结构体', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'Data' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => '检测手机号返回状态。取值:'."\n" + ."\n" + .'- **EMPTY**:空号。'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + ."\n" + .'- **SUSPECT_EMPTY**:疑似空号。'."\n" + ."\n" + .'- **UNKNOWN**:未知。'."\n", 'type' => 'string', 'example' => 'EMPTY'], + 'Number' => ['description' => '传入的手机号。', 'type' => 'string', 'example' => '189****1234'], + ], + ], + 'Code' => ['description' => '返回状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + ."\n" + .'- **InvalidPhoneNumber.Check**:手机号非法。', 'type' => 'string', 'example' => 'OK'], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'title' => '手机号空号检测', + 'description' => '- 本接口用于验证号码是否为空号。发起调用该接口验证号码请求时,系统会根据验证次数计费,标准价为0.01元/次。**请确保在使用该接口前,已充分了解本产品的收费方式和价格。**'."\n" + .'- 当返回结果中:Code="OK" 且 Status != UNKNOWN 时计费,其他情况不计费。 '."\n" + .'- 由于本产品通过AI算法预测手机号的空号概率,所以无法做到100%准确。当前评估的准确率和召回率约为95%左右。**调用时请注意差别**。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + ."\n" + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。'."\n" + ."\n" + .'### 授权信息'."\n" + .'默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。具体请参见[为RAM用户授权](~~154006~~)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEmptyNumber'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribeEmptyNumber', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"EMPTY\\",\\n \\"Number\\": \\"189****1234\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'DescribePhoneNumberAnalysis' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'>登录[号码百科控制台](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC),在[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], + ], + [ + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => '待查询的号码。', 'type' => 'string', 'required' => true, 'example' => '187****5620'], + ], + [ + 'name' => 'NumberType', + 'in' => 'query', + 'schema' => ['description' => '号码类型。取值:'."\n" + ."\n" + .'- **0**:手机号'."\n" + ."\n" + .'- **1**:手机IMEI号', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'Mask', + 'in' => 'query', + 'schema' => ['description' => '号码的加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', 'type' => 'string', 'required' => false, 'example' => 'NORMAL'], + ], + [ + 'name' => 'Rate', + 'in' => 'query', + 'schema' => ['description' => '号码分数阈值。取值范围:**0~100**。'."\n" + ."\n" + .'><notice>是否接受指定的分数阈值由服务端决定。当不接受指定分数阈值时,此字段输入的数据无效。></notice>', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -1188,197 +951,259 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息;只有RAM校验失败才会返回此字段。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Message' => ['description' => '号码状态的描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体。', + 'description' => '号码分析返回结果信息。', 'type' => 'object', 'properties' => [ - 'DetailInfo' => [ - 'description' => '企业详细信息。', - 'type' => 'object', - 'properties' => [ - 'OpenTime' => [ - 'description' => '企业营业期限。', - 'type' => 'string', - 'example' => '2023-05-25/2053-05-24', - ], - 'EnterpriseStatus' => [ - 'description' => '企业经营状态。', - 'type' => 'string', - 'example' => '在营(开业)', - ], - ], - 'example' => '{'."\n" - .' "enterpriseStatus": "在营(开业)",'."\n" - .' "openTime": "2023-05-25/2053-05-24"'."\n" - .'}', - ], - 'InconsistentData' => [ - 'description' => '校验不一致的字段', + 'List' => [ + 'description' => '数据列表', 'type' => 'array', 'items' => [ - 'description' => '- EpCertName:企业名称'."\n" - .'- EpCertNo:企业证件号'."\n" - .'- CertName:企业法人姓名', - 'type' => 'string', - 'example' => 'CertName', + 'type' => 'object', + 'properties' => [ + 'Number' => ['description' => '传入的手机号。', 'type' => 'string', 'example' => '187****5620'], + 'Code' => ['description' => '返回的结果编码。'."\n" + .'- YES:有效'."\n" + .'- NO:无效'."\n" + .'- UNKNOWN:未知', 'type' => 'string', 'example' => 'NO'], + ], ], 'example' => '', ], - 'VerifyResult' => [ - 'description' => '核验结果。取值:'."\n" - ."\n" - .'- true:信息核验一致,且企业正常经营。'."\n" - .'- false:核验不通过。', - 'type' => 'string', - 'example' => 'false', - ], - 'ReasonCode' => [ - 'description' => '核验结果编码。取值:'."\n" - ."\n" - .'- 0:核验一致'."\n" - .'- 1:核验一致,企业非正常营业'."\n" - .'- 2:人企核验不一致'."\n" - .'- 3:企业二要素不通过'."\n" - .'- 4:查无企业'."\n" - .'- 5:人在库中不存在', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], ], ], - 'Code' => [ - 'description' => '请求状态码。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .' **OK**:成功。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => '未订阅该功能'], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '权限不足'], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => '系统限流控制'], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => '资源不属于当前用户'], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'Phone number and encryption type do not match', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'RateIllegal', 'errorMessage' => 'Illegal threshold parameter', 'description' => '阈值参数非法'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'invalid parameter', 'description' => ''], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The authorization code application failed and cannot be used.', 'description' => '授权码申请失败,不可使用'], + ['errorCode' => 'TagNotExist', 'errorMessage' => 'The label does not exist.', 'description' => '标签不存在'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '您没有权限执行此操作'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred.', 'description' => '系统错误'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"false\\",\\n \\"ReasonCode\\": 2\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '企业三要素核验', - 'description' => '- 请确保在使用该接口前,已充分了企业三要素核验产品的收费方式和价格,计费详情请参见[产品计费](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4)。'."\n" - .'- 当返回结果中:当VerifyResult返回true/false,且ReasonCode=0/1/2时计费,其余情况均不计费。'."\n" - .'- 使用本接口前,请登录[号码百科控制台](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC&lang=zh),在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + 'title' => '查询号码分析结果', + 'summary' => '获取号码分析返回结果。', + 'description' => '- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + .'- 请确保在使用本接口前,您已充分了解号码百科[产品计费](~~154008~~)。'."\n" ."\n" .'### QPS限制'."\n" - .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'CompanyFourElementsVerification' => [ - 'summary' => '用于核验企业名称、企业证件号、企业法人姓名和企业法人身份证号,必须全部一致且企业经营状态为在营才会判定核验通过。', - 'methods' => [ - 'post', - 'get', + .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。'."\n" + ."\n" + .'### 授权信息'."\n" + .'默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。具体请参见[为RAM用户授权](~~154006~~)。', + 'responseParamsDescription' => '### 状态码原因及解决方案'."\n" + .'|HttpCode|返回码|描述|解决方案|'."\n" + .'| ------- | ------- | ------- | ------- |'."\n" + .'|200|OK|成功。|表示接口调用成功。|'."\n" + ."\n" + .'### 异常原因及解决方案'."\n" + .'|HttpCode|错误码|描述|解决方案|'."\n" + .'| ------- | ------- | ------- | ------- |'."\n" + .'|400|MobileNumberIllegal|手机号非法。|若手机号未加密,填入11位正确的数字号码即可;若手机号经MD5加密处理,该字段为32位加密字符串;若手机号经SHA256加密处理,该字段为64位加密字符串。|'."\n" + .'|400|EncyrptTypeIllegal|加密类型非法。|加密方式仅支持NORMAL、MD5、SHA256三种,且必须为大写字符。|'."\n" + .'|400|MobileNumberTypeNotMatch|手机号码与加密类型不匹配。|请您填入正确手机号格式和号码加密类型。|'."\n" + .'|400|AuthCodeNotExist|授权码不存在或不可用。|授权码不存在或授权码未通过审核,请您核实授权码的正确性。|'."\n" + .'|400|TagNotExist|标签或业务资源不存在。|标签不存在或业务资源不存在,请核实标签的可用性。|'."\n" + .'|400|RateIllegal|阈值参数非法。|阈值参数非法,请检查阈值参数是否合规。|'."\n" + .'|400|InvalidParameter|非法参数。|请求参数错误,请检查参数是否正确。|'."\n" + .'|400|System.LimitControl|流控错误。|请将查询频率限制在正常范围内,对于出现该错误码的号码适当进行重查,建议重复查询的次数不要超过3次。|'."\n" + .'|500|SystemError|系统异常。|系统错误,请稍后重试。|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysis'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"List\\": [\\n {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"NO\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribePhoneNumberAnalysisResponse>\\n <RequestId>CC3BB6D2-2FDF-4321-9DCE-B38165CE****</RequestId>\\n <Code>OK</Code>\\n <Message>OK</Message>\\n <Data>\\n <Code>YES</Code>\\n <Number>1310000****</Number>\\n </Data>\\n</DescribePhoneNumberAnalysisResponse>","errorExample":""}]', + ], + 'DescribePhoneNumberAnalysisAI' => [ + 'summary' => '获取号码分析返回结果。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '195618', - 'abilityTreeNodes' => [ - 'FEATUREdytnsVTODD4', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ - 'name' => 'EpCertNo', + 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '企业证件号。', - 'type' => 'string', - 'required' => true, - 'example' => '9242032*******J627', - ], + 'schema' => ['description' => '待查询的号码。', 'type' => 'string', 'required' => true, 'example' => '187****5620'], ], [ - 'name' => 'EpCertName', + 'name' => 'Rate', 'in' => 'query', - 'schema' => [ - 'description' => '企业名称(必填)。', - 'type' => 'string', - 'required' => false, - 'example' => '某企业', - ], + 'schema' => ['description' => '号码分数阈值。取值范围:**0~100**。'."\n" + ."\n" + .'> 是否接受指定的分数阈值由服务端决定。当不接受指定分数阈值时,此字段输入的数据无效。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '96'], ], [ - 'name' => 'LegalPersonCertName', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '企业法人姓名。'."\n" - .'> 如果企业有多个法人,法人之间需用中文顿号(”、”)隔开', - 'type' => 'string', - 'required' => true, - 'example' => '张三', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在**号码分析服务**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', 'type' => 'string', 'required' => true, 'example' => 'HwD***nG'], ], [ - 'name' => 'LegalPersonCertNo', + 'name' => 'ModelConfig', 'in' => 'query', + 'schema' => ['description' => '模型参数配置(部分标签能力需要)', 'type' => 'string', 'required' => false, 'example' => '{"trainingJobId": "17**********48"}'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '企业法人身份证号码。'."\n" - .'> 如果企业有多个身份证号,身份证号之间需用中文顿号(”、”)隔开', - 'type' => 'string', - 'required' => true, - 'example' => '610321********0011、510180********0022', + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], + 'Data' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Number' => ['description' => '传入的手机号。', 'type' => 'string', 'example' => '187****5620'], + 'Code' => ['description' => '返回的结果编码。'."\n" + ."\n" + .'- YES:有效'."\n" + .'- NO:无效'."\n" + .'- UNKNOWN:未知', 'type' => 'string', 'example' => 'YES'], + ], + ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + .'- OK:成功', 'type' => 'string', 'example' => 'OK'], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'title' => '号码AI分析服务', + 'description' => '使用本接口前,请登录号码百科控制台,在标签广场页面,找到对应的标签,单击申请开通,填写申请资料,审批通过后即可使用。'."\n" + .'请确保在使用本接口前,您已充分了解号码百科产品计费。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysisAI'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysisAI', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"YES\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'DescribePhoneNumberOnlineTime' => [ + 'summary' => '查询手机用户在运营商侧的在网时长。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - .'>登录[号码百科控制台](https://dytns.console.aliyun.com/overview?spm=a2c4g.608385.0.0.79847f8b3awqUC),在[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。'."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], + ], + [ + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '1390000****'], + ], + [ + 'name' => 'Mask', + 'in' => 'query', + 'schema' => ['description' => '号码的加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + .'- **MD5**'."\n" + .'- **SHA256**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], + ], + [ + 'name' => 'Carrier', + 'in' => 'query', + 'schema' => ['description' => '对外运营商。取值:'."\n" + ."\n" + .'- **MOBILE**:中国移动。'."\n" + .'- **UNICOM**:中国联通。'."\n" + .'- **TELECOM**:中国电信。'."\n" + ."\n" + .'><notice>非必填项,阿里云会根据号码归属的运营商类型做自动判断,该字段的取值对查询结果无任何影响。></notice>', 'type' => 'string', 'required' => false, 'example' => 'UNICOM'], ], ], 'responses' => [ @@ -1386,128 +1211,111 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:请求成功。'."\n" + .'- **PortabilityNumberNotSupported**:不支持的携号转网号码。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。'."\n" + ."\n" + .'> 当Code取值为OK,且VerifyResult值不为-1时计费,计费文档请参见[号码百科定价](~~154751~~)。'."\n" + .'>', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '号码状态码的描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'DetailInfo' => [ - 'description' => '企业详细信息。', - 'type' => 'object', - 'properties' => [ - 'OpenTime' => [ - 'description' => '企业营业期限。', - 'type' => 'string', - 'example' => '2023-05-25/2053-05-24', - ], - 'EnterpriseStatus' => [ - 'description' => '企业经营状态。', - 'type' => 'string', - 'example' => '在营(开业)', - ], - ], - 'example' => '{ "enterpriseStatus": "在营(开业)", '."\n" - .'"openTime": "2023-05-25/2053-05-24" }', - ], - 'InconsistentData' => [ - 'description' => '校验不一致的字段', - 'type' => 'array', - 'items' => [ - 'description' => '- EpCertName:企业名称'."\n" - .'- EpCertNo:企业证件号'."\n" - .'- CertName:企业法人姓名'."\n" - .'- CertNo:企业法人证件号', - 'type' => 'string', - 'example' => 'CertName', - ], - 'example' => '', - ], - 'VerifyResult' => [ - 'description' => '核验结果。取值:'."\n" - .'- true:信息核验一致,且企业正常经营。'."\n" - .'- false:核验不通过。', - 'type' => 'string', - 'example' => 'true', - ], - 'ReasonCode' => [ - 'description' => '核验结果编码。取值:'."\n" - ."\n" - .'- 0:核验一致'."\n" - .'- 1:核验一致,企业非正常营业'."\n" - .'- 2:法人与企业信息核验不一致'."\n" - .'- 3:企业四要素不通过'."\n" - .'- 4:查无此企业'."\n" - .'- 5:库中无此法人', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], + 'VerifyResult' => ['description' => '在网时长枚举值。枚举值如下:'."\n" + ."\n" + .'- **-1**:查无时长。'."\n" + .'- **0**:手机状态异常,例如空号。'."\n" + .'- **1**:[0-3)月。'."\n" + .'- **2**:[3-6)月。'."\n" + .'- **3**:[6-12)月。'."\n" + .'- **4**:[12-24)月。'."\n" + .'- **5**:[24,+∞)月', 'type' => 'string', 'example' => '1'], + 'CarrierCode' => ['description' => '运营商短信状态码。取值:'."\n" + .'- **CMCC**:中国移动'."\n" + .'- **CUCC**:中国联通'."\n" + .'- **CTCC**:中国电信'."\n" + .'- **CBN**:中国广电', 'type' => 'string', 'example' => 'CMCC'], ], ], - 'Code' => [ - 'description' => '请求状态码。', - 'type' => 'string', - 'example' => 'OK', - ], ], ], ], ], 'errorCodes' => [ + 200 => [ + ['errorCode' => 'PortabilityNumberNotSupported', 'errorMessage' => 'Number portability is not supported', 'description' => '不支持携号转网'], + ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Insufficient.Balance', 'errorMessage' => 'You have an insufficient balance.', 'description' => '余额不足'], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => '未订阅该功能'], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '权限不足'], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => '系统限流控制'], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => '资源不属于当前用户'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'Authorization code does not exist', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'Phone number and encryption type do not match', 'description' => ''], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => '号码类型错误'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"DetailInfo\\": {\\n \\"OpenTime\\": \\"2023-05-25/2053-05-24\\",\\n \\"EnterpriseStatus\\": \\"在营(开业)\\"\\n },\\n \\"InconsistentData\\": [\\n \\"CertName\\"\\n ],\\n \\"VerifyResult\\": \\"true\\",\\n \\"ReasonCode\\": 0\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '企业四要素核验', - 'description' => '- 请确保在使用该接口前,已充分了企业四要素核验产品的收费方式和价格,计费详情请参见[产品计费](https://help.aliyun.com/document_detail/154751.html?spm=a2c4g.154007.0.0.3edd7eb6E90YT4)。'."\n" - .'- 当返回结果中:当VerifyResult返回true/false,且ReasonCode=0/1/2时计费,其余情况均不计费。'."\n" - .'- 使用本接口前,请登录[号码百科控制台](https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fdytns.console.aliyun.com%2Foverview%3Fspm%3Da2c4g.608385.0.0.79847f8b3awqUC&lang=zh),在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - ."\n" + 'title' => '在网时长查询', + 'description' => '- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + .'- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" .'### QPS限制'."\n" .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'responseParamsDescription' => '### 状态码原因及解决方案'."\n" + .'|HttpCode|状态码|原因|解决方案|'."\n" + .'| ------- | ------- | ------- | ------ |'."\n" + .'|200|OK:成功。|请求参数符合要求。|表示接口调用成功。|'."\n" + .'|200|PortabilityNumberNotSupported:不支持的号码查询。|有少部分携号转网号码会返回此错误码。|建议更换其他号码查询。携号转网的号码在原运营商侧已销户,新运营商侧认为携入的时间为开户时间,因此携号转网的号码无法准确的查询到该号码的真实情况。|'."\n" + ."\n" + .'### 异常原因及解决方案'."\n" + .'|HttpCode|状态码|原因|解决方案|'."\n" + .'| ------- | ------- | ------- | ------- |'."\n" + .'|400|AuthCodeNotExist:授权码不存在。|授权码不存在。|请先在号码分析服务申请您所需的标签,申请成功并获得授权码后,再发起DescribePhoneNumberOnlineTime接口调用。|'."\n" + .'|400|CarrierIllegal:运营商类型非法。|运营商类型非法。|请您填入正确的运营商类型,对于加密的号码,该字段必填且必须为大写字符。|'."\n" + .'|400|MobileNumberIllegal:请求参数的手机号格式有误。|手机号格式填写有误。|若手机号未加密,填入11位正确的数字号码即可;若手机号经MD5加密处理,该字段为32位加密字符串;若手机号经SHA256加密处理,该字段为64位加密字符串。|'."\n" + .'|400|MobileNumberTypeNotMatch:手机号格式与加密类型不匹配。|填入的手机号与加密类型不匹配。|请您填入正确手机号格式和号码加密类型。|'."\n" + .'|400|MobileNumberTypeIllegal:加密方式类型错误。|不支持的加密方式或加密类型不规范。|加密方式仅支持NORMAL、MD5、SHA256三种,且必须为大写字符。|'."\n" + .'|500|Unknown:未知异常。|系统返回了未知异常。|请您尝试重新调用接口,建议重试的次数不要超过3次。|'."\n" + .'|500|SystemError:网元系统异常。|系统错误。|请尝试重新调用接口,建议重试次数不要超过3次。|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOnlineTime'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOnlineTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"CarrierCode\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', ], 'DescribePhoneNumberOperatorAttribute' => [ 'summary' => '查询手机号码的归属信息,包括:所属省份、所属城市、所属基础运营商(中国移动、中国联通、中国电信、中国广电)、移动转售企业(阿里通信等)、是否携号转网、归属号码段等。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1518,76 +1326,49 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '139022', - 'abilityTreeNodes' => [ - 'FEATUREdytnsK1J228', - ], + 'abilityTreeNodes' => ['FEATUREdytnsK1J228'], ], 'parameters' => [ [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。</notice>', - 'type' => 'string', - 'required' => true, - 'example' => '139****1234', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。</notice>', 'type' => 'string', 'required' => true, 'example' => '139****1234'], ], [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - .'- **MD5**:MD5加密'."\n" - .'- **SHA256**:SHA256加密'."\n" - .'- **SM3**:SM3加密'."\n" - ."\n" - .'><notice>字符串中所有字母必须大写。</notice>', - 'type' => 'string', - 'required' => true, - 'example' => 'MD5', - ], + 'schema' => ['description' => '号码的加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + .'- **MD5**:MD5加密'."\n" + .'- **SHA256**:SHA256加密'."\n" + .'- **SM3**:SM3加密'."\n" + ."\n" + .'><notice>字符串中所有字母必须大写。</notice>', 'type' => 'string', 'required' => true, 'example' => 'MD5'], ], [ 'name' => 'FlowName', 'in' => 'query', - 'schema' => [ - 'description' => '系统参数,无需填写', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '系统参数,无需填写', 'type' => 'string', 'required' => false, 'example' => '-'], ], [ 'name' => 'ResultCount', 'in' => 'query', - 'schema' => [ - 'description' => '系统参数,无需填写', - 'type' => 'string', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => '系统参数,无需填写', 'type' => 'string', 'required' => false, 'example' => '-'], ], ], 'responses' => [ @@ -1596,129 +1377,57 @@ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息;只有RAM校验失败才会返回此字段。', - 'type' => 'string', - 'example' => '-', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息;只有RAM校验失败才会返回此字段。', 'type' => 'string', 'example' => '-'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177'], 'Data' => [ 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'BasicCarrier' => [ - 'description' => '基础运营商。取值:'."\n" - ."\n" - .'- **中国移动**。'."\n" - .'- **中国联通**。'."\n" - .'- **中国电信**。'."\n" - .'- **中国广电**。', - 'type' => 'string', - 'example' => '中国移动', - ], - 'NumberSegment' => [ - 'description' => '号码归属号段。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '139', - ], - 'IsNumberPortability' => [ - 'description' => '是否携号转网。取值:'."\n" - ."\n" - .'- **true**:是'."\n" - ."\n" - .'- **false**:否', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Carrier' => [ - 'description' => '实际运营商(含虚拟运营商),如果存在携号转网,则为携转后的运营商。', - 'type' => 'string', - 'example' => '中国移动', - ], - 'City' => [ - 'description' => '号码归属城市。', - 'type' => 'string', - 'example' => '杭州', - ], - 'Province' => [ - 'description' => '号码归属省份。', - 'type' => 'string', - 'example' => '浙江', - ], + 'BasicCarrier' => ['description' => '基础运营商。取值:'."\n" + ."\n" + .'- **中国移动**。'."\n" + .'- **中国联通**。'."\n" + .'- **中国电信**。'."\n" + .'- **中国广电**。', 'type' => 'string', 'example' => '中国移动'], + 'NumberSegment' => ['description' => '号码归属号段。', 'type' => 'integer', 'format' => 'int64', 'example' => '139'], + 'IsNumberPortability' => ['description' => '是否携号转网。取值:'."\n" + ."\n" + .'- **true**:是'."\n" + ."\n" + .'- **false**:否', 'type' => 'boolean', 'example' => 'false'], + 'Carrier' => ['description' => '实际运营商(含虚拟运营商),如果存在携号转网,则为携转后的运营商。', 'type' => 'string', 'example' => '中国移动'], + 'City' => ['description' => '号码归属城市。', 'type' => 'string', 'example' => '杭州'], + 'Province' => ['description' => '号码归属省份。', 'type' => 'string', 'example' => '浙江'], ], ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - .'- **InvalidParameter**:传入的手机号错误或参数格式错误。'."\n" - .'- **PhoneNumberNotfound**:传入的手机号查不到归属结果。'."\n" - .'- **isp.UNKNOWN**:未知异常。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + .'- **InvalidParameter**:传入的手机号错误或参数格式错误。'."\n" + .'- **PhoneNumberNotfound**:传入的手机号查不到归属结果。'."\n" + .'- **isp.UNKNOWN**:未知异常。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified mobile phone number is invalid.', - ], - [ - 'errorCode' => 'PhoneNumberNotfound', - 'errorMessage' => 'The queried number is not found.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The authorization code application failed and cannot be used.', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified mobile phone number is invalid.', 'description' => '非法号码'], + ['errorCode' => 'PhoneNumberNotfound', 'errorMessage' => 'The queried number is not found.', 'description' => ''], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => '号码与号码类型不匹配'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The authorization code application failed and cannot be used.', 'description' => '授权码申请失败,不可使用'], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"NumberSegment\\": 139,\\n \\"IsNumberPortability\\": false,\\n \\"Carrier\\": \\"中国移动\\",\\n \\"City\\": \\"杭州\\",\\n \\"Province\\": \\"浙江\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', 'title' => '号码归属查询(加密版)', 'description' => '- 请确保在使用本接口前,您已充分了解号码百科[产品计费](~~154008~~)。'."\n" .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" @@ -1744,707 +1453,679 @@ .'|基础运营商号段|是|携转后基础运营商(中国移动、中国联通、中国电信、中国广电)|携转后基础运营商(中国移动、中国联通、中国电信、中国广电)|'."\n" .'|基础运营商号段|否|基础运营商(中国移动、中国联通、中国电信、中国广电)|基础运营商(中国移动、中国联通、中国电信、中国广电)|'."\n" .'|虚拟运营商号段|暂不支持|基础运营商(中国移动、中国联通、中国电信、中国广电)|虚拟运营商(如:阿里云通信等)|', - ], - 'PhoneNumberStatusForPublic' => [ - 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOperatorAttribute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOperatorAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"NumberSegment\\": 139,\\n \\"IsNumberPortability\\": false,\\n \\"Carrier\\": \\"中国移动\\",\\n \\"City\\": \\"杭州\\",\\n \\"Province\\": \\"浙江\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'DescribePhoneTwiceTelVerify' => [ + 'summary' => '验证手机号是否为运营商二次放号的号码,支持在一次请求中快速检验号码是否为二次放号。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '157166', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '154743', + 'abilityTreeNodes' => ['FEATUREdytnsHYEZ9Z'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" - ."\n" - .'> 加密字符串中字母不区分大小写。', - 'type' => 'string', - 'required' => false, - 'example' => '139****1234', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '139*******'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**'."\n" - ."\n" - .'- **SM3**', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => '号码的加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + .'- **MD5**'."\n" + .'- **SHA256**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => '时间,格式必须为yyyy-MM-dd HH:mm:ss。该时间为手机用户在业务侧的注册时间。如果注册时间在运营商放号时间之后,则表示该号码不是二次号,否则返回结果是二次号。'."\n" + ."\n" + .'> - 若单个号码在运营商侧存在多次放号的情况,系统将以最后一次在运营商侧的放号时间作为判断依据。'."\n" + .'> - 注册时间必须为1970-01-01 00:00:00之后的时间。', 'type' => 'string', 'required' => true, 'example' => '2018-01-01 00:00:00'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '结构体', + 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177'], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:请求成功。'."\n" + ."\n" + .'- **PortabilityNumberNotSupported**:不支持的携号转网号码。'."\n" + .'- **RequestNumberNotSupported**:不支持中国广电号码(192开头)和虚拟运营商和其他运营商不支持查询的号码。'."\n" + ."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。'."\n" + ."\n" + .'> 当Code取值为OK,且VerifyResult值不为0时计费,计费文档请参见[号码百科定价](~~154751~~)。'."\n" + .'>', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体', + 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '检测手机号返回状态。取值:'."\n" - ."\n" - .'- **NORMAL**:正常。'."\n" - .'- **SHUTDOWN**:停机。'."\n" - .'- **POWER_OFF**:关机。'."\n" - .'- **NOT_EXIST**:空号。'."\n" - .'- **SUSPECTED_POWER_OFF** :疑似关机。'."\n" - .'- **BUSY**:忙。'."\n" - .'- **UNKNOWN**:未知。'."\n" - ."\n" - .'> 因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。'."\n" - ."\n" - .'取值:'."\n" - ."\n" - .'- **CMCC**:中国移动。'."\n" - .'- **CUCC**:中国联通。'."\n" - .'- **CTCC**:中国电信。'."\n" - .'- **CBN**:中国广电。', - 'type' => 'string', - 'example' => 'CMCC', - ], + 'VerifyResult' => ['description' => '查询结果。取值:'."\n" + ."\n" + .'- **0**:无法判断。'."\n" + .'- **1**:是二次放号。'."\n" + .'- **2**:不是二次放号。'."\n" + .'- **3**:号码已注销。'."\n" + .'- **4**:未知,号码存在过户行为。', 'type' => 'string', 'example' => '1'], + 'Carrier' => ['description' => '运营商。取值:'."\n" + ."\n" + .'- **CMCC**:中国移动。'."\n" + .'- **CUCC**:中国联通。'."\n" + .'- **CTCC**:中国电信。'."\n" + ."\n" + .'> 返回当前号码的归属运营商,如果该号码存在携号转网的情况,则返回携号转网后的运营商。', 'type' => 'string', 'example' => 'CMCC'], ], ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。'."\n" - ."\n" - .'> 请访问[错误码中心](https://next.api.aliyun.com/document/Dytnsapi/2020-02-17/errorCode)查看更多错误码。', - 'type' => 'string', - 'example' => 'OK', - ], ], ], ], ], 'errorCodes' => [ 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator', - ], + ['errorCode' => 'PortabilityNumberNotSupported', 'errorMessage' => '不支持2021年6月前携号转网的号码查询', 'description' => '不支持2021年6月前携号转网的号码查询'], + ['errorCode' => 'RequestNumberNotSupported', 'errorMessage' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', 'description' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询'], + ['errorCode' => 'RequestFrequencyLimit', 'errorMessage' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', 'description' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询'], ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => '未订阅该功能'], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '权限不足'], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => '系统限流控制'], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => '资源不属于当前用户'], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'Phone number and encryption type do not match', 'description' => ''], + ['errorCode' => 'InputParamIllegal', 'errorMessage' => 'Wrong format of input parameter', 'description' => '参数格式错误'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ['errorCode' => 'ThresholdIllegal', 'errorMessage' => 'Please fill in the threshold range from 0 to 100 correctly.', 'description' => '请正确填写阈值范围0~100!'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => '该标签申请单不存在,请重新更换授权码'], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => '号码类型错误'], + ['errorCode' => 'TagNotExist', 'errorMessage' => 'The label does not exist.', 'description' => '标签不存在'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '号码状态查询(通用场景)', - 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。**'."\n" - .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => '验证手机号是否为运营商二次放号的号码', + 'description' => '- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" + .'- 当返回结果中:Code="OK" 且 VerifyResult != 0 时计费,其他情况不计费。 '."\n" .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 号码状态查询功能目前支持中国电信、中国联通、中国移动和中国广电号码。'."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'PhoneNumberStatusForAccount' => [ - 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', - 'methods' => [ - 'post', - 'get', + ."\n" + .'## QPS限制'."\n" + .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。'."\n" + ."\n" + .'## 授权信息'."\n" + .'默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。具体请参见[为RAM用户授权](~~154006~~)。', + 'responseParamsDescription' => '### 状态码原因及解决方案'."\n" + .'|HttpCode|状态码|原因|解决方案|'."\n" + .'| ------- | ------- | ------- | ------ |'."\n" + .'|200|OK:成功。|请求参数符合要求。|表示接口调用成功。|'."\n" + .'|200|PortabilityNumberNotSupported:不支持的携号转网号码。|部分携号转网号码会返回此错误码。|建议更换其他号码查询。携号转网的号码在原运营商侧已销户,新运营商侧认为携入的时间为开户时间,因此携号转网的号码无法准确的查询到该号码的真实情况。|'."\n" + .'|200|RequestNumberNotSupported:不支持查询的号码。|不支持中国广电号码(192 开头)、虚拟运营商、和其他运营商不支持查询的号码。| 建议更换运营商支持查询的号码。 |'."\n" + ."\n\n" + .'### 异常原因及解决方案'."\n" + .'|HttpCode|状态码|原因|解决方案|'."\n" + .'| ------- | ------- | ------- | ------- |'."\n" + .'|400|AuthCodeNotExist:授权码不存在。|授权码不存在。|请先在号码分析服务申请您所需的标签,申请成功并获得授权码后,再发起接口调用。|'."\n" + .'|400|MobileNumberIllegal:请求参数的手机号格式有误。|手机号格式填写有误。|若手机号未加密,填入11位正确的数字号码即可;若手机号经MD5加密处理,该字段为32位加密字符串;若手机号经SHA256加密处理,该字段为64位加密字符串。|'."\n" + .'|400|MobileNumberTypeIllegal:加密方式类型错误。|不支持的加密方式或加密类型不规范。|加密方式仅支持NORMAL、MD5、SHA256三种,且必须为大写字符。|'."\n" + .'|500|Unknown:未知异常。|系统返回了未知异常。|请您尝试重新调用接口,建议重试的次数不要超过3次。|'."\n" + .'|500|SystemError:网元系统异常。|系统错误。|请尝试重新调用接口,建议重试次数不要超过3次。|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneTwiceTelVerify'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneTwiceTelVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetUAIDApplyTokenSign' => [ + 'summary' => '该API仅提供三网运营商获取UAID能力中,获取授权Token环节的签名功能。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '142578', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], - ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在**号码分析服务**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', 'type' => 'string', 'required' => true, 'example' => 'HwD97InG'], ], [ - 'name' => 'InputNumber', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。 ></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '139****1234', - ], + 'schema' => ['description' => '外部流水号。'."\n" + .'> 对应移动(CM)运营商中的traceId、msgId,三者保持一致即可', 'type' => 'string', 'required' => true, 'example' => 'b8b5b3a*******0b9893484fdf412c99'], ], [ - 'name' => 'Mask', + 'name' => 'ClientType', 'in' => 'query', - 'schema' => [ - 'description' => '加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - .'- **MD5**'."\n" - .'- **SHA256**'."\n" - .'- **SM3**', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => '客户端类型。'."\n" + .'- Android:30100'."\n" + .'- IOS:30300'."\n" + .'- H5:20200'."\n" + .'- WEB:10010', 'type' => 'string', 'required' => true, 'example' => '30300'], + ], + [ + 'name' => 'ParamKey', + 'in' => 'query', + 'schema' => ['description' => '运营商为电信(CT)时必传,具体参考电信运营商文档。', 'type' => 'string', 'required' => false, 'example' => '955EC1A869852EA8BC66F********D7C6E92017BBD5B001C736EFEAFB775C232'], + ], + [ + 'name' => 'ParamStr', + 'in' => 'query', + 'schema' => ['description' => '运营商为电信(CT)时必传,具体参考电信运营商文档。', 'type' => 'string', 'required' => false, 'example' => 'B2F0D4CD7A216D16CE2AF4BBC********29A454FDDD991F919106C12CB89ABA8'], + ], + [ + 'name' => 'Time', + 'in' => 'query', + 'schema' => ['description' => '事件发生的时间戳,精确到毫秒。 '."\n" + .'格式:yyyyMMddHHmmssSSS。', 'type' => 'string', 'required' => true, 'example' => '20121227180001165'], + ], + [ + 'name' => 'Carrier', + 'in' => 'query', + 'schema' => ['description' => '用户所处的运营商。取值:'."\n" + .'- **CM**:中国移动。'."\n" + .'- **CU**:中国联通。'."\n" + .'- **CT**:中国电信。', 'type' => 'string', 'required' => true, 'example' => 'CM'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体。', + 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '检测手机号返回状态。取值:'."\n" - ."\n" - .'- **NORMAL**:正常。'."\n" - .'- **SHUTDOWN**:停机。'."\n" - .'- **POWER_OFF**:关机。'."\n" - .'- **NOT_EXIST**:空号。'."\n" - .'- **DEFECT**:异常号码。'."\n" - .'- **UNKNOWN**:未知。'."\n" - ."\n" - .'>因运营商系统调整,中国电信的号码不支持返回:忙、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" - ."\n" - .'- **CMCC**:中国移动。'."\n" - .'- **CUCC**:中国联通。'."\n" - .'- **CTCC**:中国电信。'."\n" - .'> 暂不支持中国广电的号码查询。', - 'type' => 'string', - 'example' => 'CMCC', - ], + 'OutId' => ['description' => '外部流水号。', 'type' => 'string', 'example' => 'b8b5b3a*******0b9893484fdf412c99'], + 'Sign' => ['description' => '签名值', 'type' => 'string', 'example' => 'D2E204D74EEB373E468632********23F592C4C9'], + 'Carrier' => ['description' => '用户所处的运营商。取值:'."\n" + .'- **CM**:中国移动。'."\n" + .'- **CU**:中国联通。'."\n" + .'- **CT**:中国电信。', 'type' => 'string', 'example' => 'CM'], ], ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + .'- **OK**:请求成功。', 'type' => 'string', 'example' => 'OK'], ], + 'description' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], - ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => '号码状态查询(账号验证场景)', - 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" - .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" - .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit:运营商禁止查询的手机号`。'."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'PhoneNumberStatusForReal' => [ - 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"OutId\\": \\"b8b5b3a*******0b9893484fdf412c99\\",\\n \\"Sign\\": \\"D2E204D74EEB373E468632********23F592C4C9\\",\\n \\"Carrier\\": \\"CM\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => '获取UAID授权Token的签名值', + 'description' => '该API仅提供三网运营商获取UAID能力中,**获取授权Token环节的签名功能**。'."\n" + .' - 获取授权Token的其他必要参数,请参考对应运营商文档自行生成'."\n" + .' - 获取授权Token的请求,请参考对应运营商文档,注意需要从用户移动终端的蜂窝移动网络环境下请求'."\n" + .' - 获取授权Token请求后,请参考[UAIDVerification](~~UAIDVerification~~) 接口进行最终的UAID获取。'."\n" + ."\n" + .'### 如何通过客户端/H5方式请求授权Token'."\n" + ."\n" + .'<notice>发起请求授权Token时,客户端或H5页面必须切换到蜂窝移动网络。</notice>'."\n" + ."\n" + .'#### 移动(CM)'."\n" + .'通信协议:HTTPS + application/Json '."\n" + .'方法:POST '."\n" + .'地址:https://msg.cmpassport.com/h5/getMobile '."\n" + ."\n" + .'##### 请求参数'."\n" + .'参数示例: '."\n" + ."\n" + .'`{'."\n" + .' "traceId": "mfawsxtcmyplwzpayzzvdvbsowxmkynr",'."\n" + .' "appId": "300011580392",'."\n" + .' "sign": "2c61b3c58ffbeed97461e31be4fd931a",'."\n" + .' "msgId": "redbyxsdetddwaaffajcwwapspykftzx",'."\n" + .' "expandParams": "",'."\n" + .' "businessType": "3",'."\n" + .' "version": "1.0",'."\n" + .' "timestamp": "20201125101540980"'."\n" + .'}` '."\n" + .' '."\n" + .'参数描述: '."\n" + .'- version:使用`1.0`'."\n" + .'- timestamp:请求消息发送的系统时间,精确到毫秒,对应该API下方入参`Time`的内容及其格式,两者需要保持一致'."\n" + .'- appId:使用`300012406312`'."\n" + .'- businessType:使用`3`'."\n" + .'- traceId:外部流水号,对应该API下方入参`OutId`的内容,两者需要保持一致'."\n" + .'- sign:调用该API获取'."\n" + .'- msgId:外部流水号,对应该API下方入参`OutId`的内容,两者需要保持一致'."\n" + ."\n" + .'##### 响应参数'."\n" + .'响应示例: '."\n" + .'`{'."\n" + .' "header": {'."\n" + .' "appId": "300011580392",'."\n" + .' "msgId": "redbyxsdetddwaaffajcwwapspykftzx",'."\n" + .' "timestamp": "20201125101607932"'."\n" + .' },'."\n" + .' "body": {'."\n" + .' "resultCode": "103000",'."\n" + .' "expandParams": "",'."\n" + .' "resultDesc": "成功",'."\n" + .' "token": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01"'."\n" + .' }'."\n" + .'}`'."\n" + ."\n" + .'直接获取`body`中的`token`即可。'."\n" + ."\n" + .'#### 联通(CU)'."\n" + .'分两步获取token'."\n" + .'##### 第一步:获取authurl'."\n" + .'通过第一步请求,获取门户服务器获取鉴权服务器地址`authurl` '."\n" + ."\n" + .'通信协议:HTTPS + application/Json '."\n" + .'方法:GRT '."\n" + .'地址:https://nisportal.10010.com:9001/api '."\n" + .'###### 请求参数'."\n" + .'参数示例: '."\n" + .'json方式请求:`?appid=1554778161153` '."\n" + .'jsonp方式请求:`?appid=1554778161153&callback=callbackFunction` '."\n" + ."\n" + .'参数描述:'."\n" + .'- appid:使用1554778161153'."\n" + .'- callback:jsonp回调函数名。仅当使用jsonp格式时需要传此参数'."\n" + .'###### 响应参数'."\n" + .'响应示例: '."\n" + .'json方式请求:'."\n" + .'`{"authurl": "https://enrichgw.10010.com/d93222629f52ec79"}` '."\n" + .'jsonp方式请求:'."\n" + .'`callbackFunction({"authurl":"https://enrichgw.10010.com/d93222629f52ec79"})` '."\n" + ."\n" + .'获取返回结果中的`authurl`。'."\n" + ."\n" + .'##### 第二步:获取token'."\n" + .'通信协议:HTTPS + application/Json '."\n" + .'方法:GRT '."\n" + .'地址:${authurl}+"/api" '."\n" + ."\n" + .'请求地址示例:`https://enrichgw.10010.com/d93222629f52ec79/api`'."\n" + .'###### 请求参数'."\n" + .'参数示例: '."\n" + .'json方式请求:`?appid=1554778161153` '."\n" + .'jsonp方式请求:`?appid=1554778161153&callback=callbackFunction` '."\n" + ."\n" + .'参数描述:'."\n" + .'- appid:使用1554778161153'."\n" + .'- callback:jsonp回调函数名。仅当使用jsonp格式时需要传此参数'."\n" + .'###### 响应参数'."\n" + .'响应示例: '."\n" + .'json方式请求:'."\n" + .'`{'."\n" + .' "province": "1",'."\n" + .' "code": "7nHS1nggx2WP613750206700RN6oiRN1"'."\n" + .'}` '."\n" + .'jsonp方式请求:'."\n" + .'`callbackFunction({"province":"1","code":"7nHS3Dnkd1BS701851092400RN6oiRN1"})`'."\n" + ."\n" + .'获取返回结果中的`code`即可。'."\n" + ."\n\n" + ."\n" + .'#### 电信(CT)'."\n" + .'通信协议:HTTPS + application/x-www-form-urlencoded;charset=UTF '."\n" + .'方法:GET '."\n" + .'地址:https://id6.me/gw/preuniq.do'."\n" + ."\n" + .'##### 请求参数'."\n" + .'参数示例: '."\n" + .'`?clientType=30100&appId=9390188202&format=json&sign=D63C166FA19E1996EF********09C6A5397C10B4¶mKey=1D7C25EB8B0B8B4CB3CF8DC60628F6549********786B0AF1FEF93FA1335057A35BF5F0B39A3867EAA9BE14B3898********8B01DE34965060445B6E1F66401D714650E4AB161CD6DCF4A72********3B856F22A192B8B0C39D7A55B961062E68C89C928894F119B25********7C548355FE9DB82852EB93C939F2200B48CD17¶mStr=140********95AF8E138B94754CB4CF83BA6FB********52B258BFDFD38BF233&version=1.1` '."\n" + ."\n" + .'参数描述: '."\n" + .'- appId:使用`9390188202`'."\n" + .'- clientType:客户端类型,对应该API下方入参`ClientType`的内容,两者需要保持一致'."\n" + .'- format:使用`json`或`jsonp`'."\n" + .'- version:使用`1.1`'."\n" + .'- sign:调用该API获取'."\n" + .'- paramKey:密钥A的密文;密钥A为接入端随机生成字符串,长度为16位;`paramKey = RSA1024("${密钥A}", "${天翼账号平台公钥}")`;填充模式为`RSA/ECB/PKCS1Padding`;下载[电信RSA公钥](https://id.189.cn/source/files/API.pem)'."\n" + .'- paramStr:不公开请求参数密文; timeStamp为时间戳,精确到毫秒,对应该API下方入参`Time`的值,但格式不同(参考值`1697791988302`);callback为使用jsonp格式时的回调方法,仅当format取值为jsonp时需要填写。`paramStr = AES("timeStamp=${timeStamp}&callback=${callback}", "${密钥A}")`;填充模式为`AES/CBC/PKCS5Padding`,初始向量为`0000000000000000`'."\n" + ."\n" + .'##### 响应参数'."\n" + .'响应示例: '."\n" + .'`callback?result=10000&msg=success&data=a35336711c70456cb883f4f224e9a259` '."\n" + ."\n" + .'`data`为加密的业务结果数据,`data = AES(业务结果, 密钥A)`,使用密钥A进行AES解密(AES/CBC/PKCS5Padding)。 '."\n" + .' '."\n" + .'解密后业务结果示例: '."\n" + .'`{"accessCode": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01"}`'."\n" + .' '."\n" + .'此时获取`accessCode`即可。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUAIDApplyTokenSign'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dytns:GetUAIDApplyTokenSign', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'HistoryThreeElementsVerification' => [ + 'summary' => '用于验证指定时间点的姓名、手机号和身份证号是否属于同一用户。', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'abilityTreeCode' => '142581', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREdytns9WIVIU'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。取值来源:'."\n" + .'- 在号码百科控制台[标签广场](https://dytns.console.aliyun.com/analysis/square)选择**身份证三要素**标签,提交使用申请,申请通过后会获得授权码。'."\n" + .'- 在号码百科控制台[我的申请](https://dytns.console.aliyun.com/analysis/apply)页面,查看已申请通过的**身份证三要素**授权ID。', 'type' => 'string', 'required' => true, 'example' => 'example'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '189****8999', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。', 'type' => 'string', 'required' => true, 'example' => 'example'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**'."\n" - ."\n" - .'- **SM3**', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => '加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密', 'type' => 'string', 'required' => true, 'example' => 'example'], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => '待核验的姓名。', 'type' => 'string', 'required' => true, 'example' => 'example'], + ], + [ + 'name' => 'CertCode', + 'in' => 'query', + 'schema' => ['description' => '待核验的身份证号。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为明文。', 'type' => 'string', 'required' => true, 'example' => 'example'], + ], + [ + 'name' => 'VerificationTime', + 'in' => 'query', + 'schema' => ['description' => '历史核验时间,精确到秒。格式:yyyyMMddHHmmss。 如果没有精确到秒的信息,时分秒部分填充 000000。 说明 例如:20230615000000 表示核验 2023 年 6 月 15 日的持有关系。', 'type' => 'string', 'required' => true, 'example' => 'example'], + ], + [ + 'name' => 'Carrier', + 'in' => 'query', + 'schema' => ['description' => '指定运营商编码。非必填参数,当客户指定运营商入参时,系统按客户指定的运营商方向进行调度查询。不传则默认按号码归属运营商进行调度。'."\n" + ."\n" + .'取值:'."\n" + .'- `CMCC`:中国移动'."\n" + .'- `CUCC`:中国联通'."\n" + .'- `CTCC`:中国电信'."\n" + ."\n" + .'> 说明 由于携号转网的存在,当某个号码存在携转时,系统并不知道入参的手机号在目标时间点归属在哪个运营商,因此开放此参数供客户按需指定。如客户不传,系统以号码归属运营商查询;如客户传了,则以客户定义的入参查询。'."\n" + .'>'."\n" + .'> **重要** 不支持指定广电运营商,传入将返回 400 错误。'."\n", 'type' => 'string', 'required' => false, 'example' => 'CMCC'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息.'."\n" + .'> 只有RAM校验失败才会返回此字段。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '请求 ID。'."\n", 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Message' => ['description' => '状态码的描述。'."\n", 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体。', + 'description' => '查询结果。', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '检测手机号返回状态。取值:'."\n" - ."\n" - .'- **NORMAL**:正常。'."\n" - .'- **SHUTDOWN**:停机。'."\n" - .'- **POWER_OFF**:关机。'."\n" - .'- **NOT_EXIST**:空号。'."\n" - .'- **BUSY**:忙。'."\n" - .'- **SUSPECTED_POWER_OFF**:疑似关机。'."\n" - .'- **DEFECT**:异常号码。'."\n" - .'- **UNKNOWN**:未知。'."\n" - ."\n" - .'>因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" - ."\n" - .'- **CMCC**:中国移动。'."\n" - .'- **CUCC**:中国联通。'."\n" - .'- **CTCC**:中国电信。'."\n" - .'> 暂不支持中国广电的号码查询。', - 'type' => 'string', - 'example' => 'CMCC', - ], + 'IsConsistent' => ['description' => '验证结果是否一致。返回:'."\n" + .'- 0:查无记录'."\n" + .'- 1:手机号、证件号、姓名均一致'."\n" + .'- 2:手机号和证件号一致,姓名不一致'."\n" + .'- 3:手机号和姓名一致,证件号不一致'."\n" + .'- 4:手机号一致,证件号和姓名不一致'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '72'], + 'RequestCarrier' => ['description' => '请求的供应商方向'."\n", 'type' => 'string', 'example' => 'CMCC'], ], ], + 'Code' => ['description' => '请求状态码。'."\n" + .'- OK:请求成功。'."\n" + .'- 其他错误码,请参见本章的错误码表。'."\n", 'type' => 'string', 'example' => 'OK'], ], + 'description' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], - ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'Number is limited by the operator.', 'description' => '运营商禁止查询的号码'], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => '运营商类型非法', 'description' => '运营商类型非法'], + ['errorCode' => 'CertCodeIllegal', 'errorMessage' => 'Invalid CertCode value.', 'description' => '身份证号码格式错误'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => '请求参数非法', 'description' => '请求参数非法'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'SystemError', 'errorMessage' => '系统异常', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '历史三要素核验', + 'description' => '## 请求说明'."\n" + .'- 在使用本接口前,请确保已了解[产品定价](https://help.aliyun.com/zh/cpns/product-overview/pricing-of-cpns)。'."\n" + .'- 使用前需登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面申请开通相应标签。'."\n" + .'- 当 `Code=\'OK\'` 且 `IsConsistent != 0` 时计费,其他返回结果不计费。'."\n" + .'- 不支持广电号码(192 开头)的核验,入参为 192 号段将返回 400 错误。'."\n" + .'- 携号转网可能导致实际运营商与当前归属运营商不符,可通过 `Carrier` 参数指定运营商进行定向查询。'."\n" + .'- 单用户 QPS 限制为 200 次/秒,超过限制将被限流。'."\n" + .'- 授权信息中,操作为 `dytns:HistoryThreeElementsVerification`,访问级别为读取(Read),资源类型为全部资源。'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:HistoryThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => '号码状态查询(风控检测场景)', - 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" - .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" - .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit:运营商禁止查询的手机号`。'."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 72,\\n \\"RequestCarrier\\": \\"CMCC\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'PhoneNumberStatusForSms' => [ - 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'InvalidPhoneNumberFilter' => [ + 'summary' => '进行无效号码过滤操作。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', + 'abilityTreeCode' => '132665', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'zf08***pi6', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '181****1234', - ], + 'schema' => ['description' => '待查询的号码。', 'type' => 'string', 'required' => true, 'example' => '1390000****'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**'."\n" - ."\n" - .'- **SM3**', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => '号码的加密方式。'."\n" + ."\n" + .'><notice>目前仅支持NORMAL加密方式。></notice>', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:请求成功。'."\n" - .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + ."\n" + .'- **MobileNumberIllegal**:手机号非法。'."\n" + ."\n" + .'- **EncyrptTypeIllegal**:加密类型非法。'."\n" + ."\n" + .'- **MobileNumberTypeNotMatch**:手机号码与加密类型不匹配。'."\n" + ."\n" + .'- **CarrierIllegal**:运营商类型非法。'."\n" + ."\n" + .'- **AuthCodeNotExist**:授权码不存在。'."\n" + ."\n" + .'- **PortabilityNumberNotSupported**:不支持携号转网。'."\n" + ."\n" + .'- **Unknown**:未知异常。'."\n" + ."\n" + .'- **AuthCodeAndApiNotMatch**:系统异常。'."\n" + ."\n" + .'- **AuthCodeAndApiNotMatch**:AuthCode与API接口不匹配。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '检测手机号返回状态。取值:'."\n" - ."\n" - .'- **NORMAL**:正常。'."\n" - .'- **SHUTDOWN**:停机。'."\n" - .'- **POWER_OFF**:关机。'."\n" - .'- **NOT_EXIST**:空号。'."\n" - .'- **DEFECT**:异常号码。'."\n" - .'- **UNKNOWN**:未知。'."\n" + 'description' => '数组。', + 'type' => 'array', + 'items' => [ + 'description' => '结构体。', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => '返回过滤的结果。'."\n" ."\n" - .'>因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" + .'- **YES**:有效状态号码,返回映射关系。'."\n" ."\n" - .'- **CMCC**:中国移动。'."\n" - .'- **CUCC**:中国联通。'."\n" - .'- **CTCC**:中国电信。'."\n" - .'> 暂不支持中国广电的号码查询。', - 'type' => 'string', - 'example' => 'CMCC', + .'- **NO**:无效状态号码,不返回映射关系。', 'type' => 'string', 'example' => 'YES'], + 'OriginalNumber' => ['description' => '原始号码。', 'type' => 'string', 'example' => '1390000****'], + 'EncryptedNumber' => ['description' => '加密后的号码。', 'type' => 'string', 'example' => '1400513****'], + 'ExpireTime' => ['description' => '号码过期时间。', 'type' => 'string', 'example' => '2022-05-27 16:05:23'], ], ], ], @@ -2453,673 +2134,359 @@ ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], - ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'isp.UNKNOWN', - 'errorMessage' => 'An error occurred due to unknown reasons.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => '未订阅该功能'], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '权限不足'], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => '系统限流控制'], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => '资源不属于当前用户'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '您没有权限执行此操作'], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => '号码状态查询(短信业务场景)', - 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" - .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" - .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit:运营商禁止查询的手机号`。'."\n" + 'title' => '过滤无效号码', + 'description' => '使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + ."\n" .'### QPS限制'."\n" - .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'PhoneNumberStatusForVoice' => [ - 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', - 'methods' => [ - 'post', - 'get', + .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvalidPhoneNumberFilter'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:InvalidPhoneNumberFilter', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"Code\\": \\"YES\\",\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListContacts' => [ + 'summary' => '列表查询号码百科告警联系人。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '142576', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ - 'name' => 'AuthCode', - 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], - ], - [ - 'name' => 'InputNumber', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '139****1234', - ], + 'schema' => ['description' => '业务类型。固定取值:dytns。', 'type' => 'string', 'required' => false, 'example' => 'dytns'], ], [ - 'name' => 'Mask', + 'name' => 'ContactId', 'in' => 'query', - 'schema' => [ - 'description' => '加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**'."\n" - ."\n" - .'- **SM3**', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => '联系人Id。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1298647'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'RequestId' => ['description' => '请求id。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Code' => ['description' => '请求状态码。-返回OK代表请求成功。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体。', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '检测手机号返回状态。取值:'."\n" + 'description' => '联系人信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '联系人信息。', + 'type' => 'object', + 'properties' => [ + 'ContactId' => ['description' => '联系人id。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'ContactName' => ['description' => '联系人名称。', 'type' => 'string', 'example' => '黄勇'], + 'ContactPhone' => ['description' => '联系人手机号', 'type' => 'string', 'example' => '19211111111'], + 'ContactEmail' => ['description' => '联系人邮箱', 'type' => 'string', 'example' => 'xxxx @alibaba-inc.com'], + 'OpentAttributionWarning' => ['description' => '是否开启号码归属查询预警接收。'."\n" + .'取值:'."\n" ."\n" - .'- **NORMAL**:正常。'."\n" - .'- **SHUTDOWN**:停机。'."\n" - .'- **POWER_OFF**:关机。'."\n" - .'- **NOT_EXIST**:空号。'."\n" - .'- **SUSPECTED_POWER_OFF** :疑似关机。'."\n" - .'- **DEFECT**:异常号码。'."\n" - .'- **UNKNOWN**:未知。'."\n" + .'- **true**:表示已开启。'."\n" ."\n" - .'>因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'Carrier' => [ - 'description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" + .'- **false**:表示未开启。', 'type' => 'boolean', 'example' => 'true'], + 'OpenStatusWarning' => ['description' => '是否开启号码状态预警接收。'."\n" + .'取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:未开启。', 'type' => 'boolean', 'example' => 'true'], + 'Main' => ['description' => '主叫号码。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'PhoneStatus' => ['description' => '号码状态是否正常'."\n" + ."\n" + .'- 1 正常'."\n" ."\n" - .'- **CMCC**:中国移动。'."\n" - .'- **CUCC**:中国联通。'."\n" - .'- **CTCC**:中国电信。'."\n" - .'> 暂不支持中国广电的号码查询。', - 'type' => 'string', - 'example' => 'CTCC', + .'- 0 异常', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MailStatus' => ['description' => '邮箱状态是否正常'."\n" + ."\n" + .'- 1 正常'."\n" + ."\n" + .'- 0 异常', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], - ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'EncryptTypeIllegal', - 'errorMessage' => 'Invalid encryption type.', - ], - [ - 'errorCode' => 'isp.UNKNOWN', - 'errorMessage' => 'An error occurred due to unknown reasons.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'title' => '列表查询号码百科告警联系人', + 'description' => '- 请确保在使用该接口前,已经完成号码百科业务的开通', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dytns:ListContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CTCC\\"\\n }\\n}","type":"json"}]', - 'title' => '号码状态查询(语音业务场景)', - 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" - .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" - .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit:运营商禁止查询的手机号`。'."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"ContactId\\": 0,\\n \\"ContactName\\": \\"黄勇\\",\\n \\"ContactPhone\\": \\"19211111111\\",\\n \\"ContactEmail\\": \\"xxxx @alibaba-inc.com\\",\\n \\"OpentAttributionWarning\\": true,\\n \\"OpenStatusWarning\\": true,\\n \\"Main\\": 0,\\n \\"PhoneStatus\\": 1,\\n \\"MailStatus\\": 1\\n }\\n ]\\n}","type":"json"}]', ], - 'DescribePhoneTwiceTelVerify' => [ - 'summary' => '验证手机号是否为运营商二次放号的号码,支持在一次请求中快速检验号码是否为二次放号。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'PhoneNumberEncrypt' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '154743', - 'abilityTreeNodes' => [ - 'FEATUREdytnsHYEZ9Z', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '133477', + 'abilityTreeNodes' => ['FEATUREdytns6A4MC8'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '139*******', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'> 目前仅支持单个号码查询。'."\n", 'type' => 'string', 'required' => true, 'example' => '1390000****'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - .'- **MD5**'."\n" - .'- **SHA256**', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => '号码的加密方式。取值:**NORMAL**。'."\n" + ."\n\n" + .'><notice>目前仅支持NORMAL加密方式。></notice>', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], ], [ - 'name' => 'StartTime', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => '时间,格式必须为yyyy-MM-dd HH:mm:ss。该时间为手机用户在业务侧的注册时间。如果注册时间在运营商放号时间之后,则表示该号码不是二次号,否则返回结果是二次号。'."\n" - ."\n" - .'> - 若单个号码在运营商侧存在多次放号的情况,系统将以最后一次在运营商侧的放号时间作为判断依据。'."\n" - .'> - 注册时间必须为1970-01-01 00:00:00之后的时间。', - 'type' => 'string', - 'required' => true, - 'example' => '2018-01-01 00:00:00', - ], + 'schema' => ['description' => '用户自定的outId,选填,格式不限,长度小于等于64。', 'type' => 'string', 'required' => false, 'example' => '213e367117422635749191493eea68'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '结构体。', + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD135850177', - ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:请求成功。'."\n" - ."\n" - .'- **PortabilityNumberNotSupported**:不支持的携号转网号码。'."\n" - .'- **RequestNumberNotSupported**:不支持中国广电号码(192开头)和虚拟运营商和其他运营商不支持查询的号码。'."\n" - ."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。'."\n" - ."\n" - .'> 当Code取值为OK,且VerifyResult值不为0时计费,计费文档请参见[号码百科定价](~~154751~~)。'."\n" - .'>', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体。', - 'type' => 'object', - 'properties' => [ - 'VerifyResult' => [ - 'description' => '查询结果。取值:'."\n" - ."\n" - .'- **0**:无法判断。'."\n" - .'- **1**:是二次放号。'."\n" - .'- **2**:不是二次放号。'."\n" - .'- **3**:号码已注销。'."\n" - .'- **4**:未知,号码存在过户行为。', - 'type' => 'string', - 'example' => '1', - ], - 'Carrier' => [ - 'description' => '运营商。取值:'."\n" - ."\n" - .'- **CMCC**:中国移动。'."\n" - .'- **CUCC**:中国联通。'."\n" - .'- **CTCC**:中国电信。'."\n" + 'description' => '数组。', + 'type' => 'array', + 'items' => [ + 'description' => '结构体。', + 'type' => 'object', + 'properties' => [ + 'OriginalNumber' => ['description' => '原始号码。', 'type' => 'string', 'example' => '1390000****'], + 'EncryptedNumber' => ['description' => '加密后的号码。', 'type' => 'string', 'example' => '1400513****'], + 'ExpireTime' => ['description' => '号码过期时间。', 'type' => 'string', 'example' => '2022-05-27 16:05:23'], + 'OutId' => ['description' => '发起请求时预留给调用方的自定义ID,最终、将此ID带回给调用方。'."\n" ."\n" - .'> 返回当前号码的归属运营商,如果该号码存在携号转网的情况,则返回携号转网后的运营商。', - 'type' => 'string', - 'example' => 'CMCC', + .'字符串类型,长度限制为最长为64个字符。', 'type' => 'string', 'example' => '215044c917374256269257695e9d22'], ], ], ], + 'Code' => ['description' => '请求状态码。'."\n" + ."\n" + .'- 返回OK代表请求成功。'."\n" + ."\n" + .'- 其他错误码,请参见[错误码列表](~~109196~~)。'."\n", 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'PortabilityNumberNotSupported', - 'errorMessage' => '不支持2021年6月前携号转网的号码查询', - ], - [ - 'errorCode' => 'RequestNumberNotSupported', - 'errorMessage' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', - ], - [ - 'errorCode' => 'RequestFrequencyLimit', - 'errorMessage' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', - ], - ], 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'Phone number and encryption type do not match', - ], - [ - 'errorCode' => 'InputParamIllegal', - 'errorMessage' => 'Wrong format of input parameter', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], - [ - 'errorCode' => 'ThresholdIllegal', - 'errorMessage' => 'Please fill in the threshold range from 0 to 100 correctly.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'TagNotExist', - 'errorMessage' => 'The label does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], + ['errorCode' => 'Product.Unsubscript', 'errorMessage' => 'You have not subscribed to the specified product.', 'description' => '未订阅该功能'], + ['errorCode' => 'Ram.PermissionDeny', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '权限不足'], + ['errorCode' => 'System.LimitControl', 'errorMessage' => 'The system is under flow control.', 'description' => '系统限流控制'], + ['errorCode' => 'Unknown.ResourceOwnerId', 'errorMessage' => 'The resource does not belong to the current user.', 'description' => '资源不属于当前用户'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => '您没有权限执行此操作'], ], 500 => [ - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => '验证手机号是否为运营商二次放号的号码', - 'description' => '- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" - .'- 当返回结果中:Code="OK" 且 VerifyResult != 0 时计费,其他情况不计费。 '."\n" - .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - ."\n" - .'## QPS限制'."\n" - .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '加密号码', + 'summary' => '将原始号码加密为一个140开头的虚拟号码。通过结合阿里云的通信服务,可以使用加密后的140号码发起语音呼叫。实现虚拟号码呼叫的效果。', + 'description' => '使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" ."\n" - .'## 授权信息'."\n" - .'默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。具体请参见[为RAM用户授权](~~154006~~)。', - 'responseParamsDescription' => '### 状态码原因及解决方案'."\n" - .'|HttpCode|状态码|原因|解决方案|'."\n" - .'| ------- | ------- | ------- | ------ |'."\n" - .'|200|OK:成功。|请求参数符合要求。|表示接口调用成功。|'."\n" - .'|200|PortabilityNumberNotSupported:不支持的携号转网号码。|部分携号转网号码会返回此错误码。|建议更换其他号码查询。携号转网的号码在原运营商侧已销户,新运营商侧认为携入的时间为开户时间,因此携号转网的号码无法准确的查询到该号码的真实情况。|'."\n" - .'|200|RequestNumberNotSupported:不支持查询的号码。|不支持中国广电号码(192 开头)、虚拟运营商、和其他运营商不支持查询的号码。| 建议更换运营商支持查询的号码。 |'."\n" - ."\n\n" - .'### 异常原因及解决方案'."\n" - .'|HttpCode|状态码|原因|解决方案|'."\n" - .'| ------- | ------- | ------- | ------- |'."\n" - .'|400|AuthCodeNotExist:授权码不存在。|授权码不存在。|请先在号码分析服务申请您所需的标签,申请成功并获得授权码后,再发起接口调用。|'."\n" - .'|400|MobileNumberIllegal:请求参数的手机号格式有误。|手机号格式填写有误。|若手机号未加密,填入11位正确的数字号码即可;若手机号经MD5加密处理,该字段为32位加密字符串;若手机号经SHA256加密处理,该字段为64位加密字符串。|'."\n" - .'|400|MobileNumberTypeIllegal:加密方式类型错误。|不支持的加密方式或加密类型不规范。|加密方式仅支持NORMAL、MD5、SHA256三种,且必须为大写字符。|'."\n" - .'|500|Unknown:未知异常。|系统返回了未知异常。|请您尝试重新调用接口,建议重试的次数不要超过3次。|'."\n" - .'|500|SystemError:网元系统异常。|系统错误。|请尝试重新调用接口,建议重试次数不要超过3次。|', - ], - 'DescribePhoneNumberOnlineTime' => [ - 'summary' => '查询手机用户在运营商侧的在网时长。', - 'methods' => [ - 'post', + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberEncrypt'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberEncrypt', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\",\\n \\"OutId\\": \\"215044c917374256269257695e9d22\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'PhoneNumberStatusForAccount' => [ + 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', + 'abilityTreeCode' => '142578', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" - .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" - .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。 ></notice>', 'type' => 'string', 'required' => true, 'example' => '139****1234'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - .'- **MD5**'."\n" - .'- **SHA256**', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], - ], - [ - 'name' => 'Carrier', - 'in' => 'query', - 'schema' => [ - 'description' => '对外运营商。取值:'."\n" - ."\n" - .'- **MOBILE**:中国移动。'."\n" - .'- **UNICOM**:中国联通。'."\n" - .'- **TELECOM**:中国电信。'."\n" - ."\n" - .'><notice>非必填项,阿里云会根据号码归属的运营商类型做自动判断,该字段的取值对查询结果无任何影响。></notice>', - 'type' => 'string', - 'required' => false, - 'example' => 'UNICOM', - ], + 'schema' => ['description' => '加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + .'- **MD5**'."\n" + .'- **SHA256**'."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:请求成功。'."\n" - .'- **PortabilityNumberNotSupported**:不支持的携号转网号码。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。'."\n" - ."\n" - .'> 当Code取值为OK,且VerifyResult值不为-1时计费,计费文档请参见[号码百科定价](~~154751~~)。'."\n" - .'>', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '号码状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], 'Data' => [ 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'VerifyResult' => [ - 'description' => '在网时长枚举值。枚举值如下:'."\n" - ."\n" - .'- **-1**:查无时长。'."\n" - .'- **0**:手机状态异常,例如空号。'."\n" - .'- **1**:[0-3)月。'."\n" - .'- **2**:[3-6)月。'."\n" - .'- **3**:[6-12)月。'."\n" - .'- **4**:[12-24)月。'."\n" - .'- **5**:[24,+∞)月', - 'type' => 'string', - 'example' => '1', - ], - 'CarrierCode' => [ - 'description' => '运营商短信状态码。取值:'."\n" - .'- **CMCC**:中国移动'."\n" - .'- **CUCC**:中国联通'."\n" - .'- **CTCC**:中国电信'."\n" - .'- **CBN**:中国广电', - 'type' => 'string', - 'example' => 'CMCC', - ], + 'Status' => ['description' => '检测手机号返回状态。取值:'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + .'- **SHUTDOWN**:停机。'."\n" + .'- **POWER_OFF**:关机。'."\n" + .'- **NOT_EXIST**:空号。'."\n" + .'- **DEFECT**:异常号码。'."\n" + .'- **UNKNOWN**:未知。'."\n" + ."\n" + .'>因运营商系统调整,中国电信的号码不支持返回:忙、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', 'type' => 'string', 'example' => 'NORMAL'], + 'Carrier' => ['description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" + ."\n" + .'- **CMCC**:中国移动。'."\n" + .'- **CUCC**:中国联通。'."\n" + .'- **CTCC**:中国电信。'."\n" + .'> 暂不支持中国广电的号码查询。', 'type' => 'string', 'example' => 'CMCC'], ], ], ], @@ -3128,571 +2495,380 @@ ], 'errorCodes' => [ 200 => [ - [ - 'errorCode' => 'PortabilityNumberNotSupported', - 'errorMessage' => 'Number portability is not supported', - ], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => '该号码受运营商限制'], ], 400 => [ - [ - 'errorCode' => 'Insufficient.Balance', - 'errorMessage' => 'You have an insufficient balance.', - ], - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'Authorization code does not exist', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'Phone number and encryption type do not match', - ], - [ - 'errorCode' => 'MobileNumberTypeIllegal', - 'errorMessage' => 'Invalid number type.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => '该标签申请单不存在,请重新更换授权码'], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => '号码类型错误'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => '号码与号码类型不匹配'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => '手机号加密类型非法'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"VerifyResult\\": \\"1\\",\\n \\"CarrierCode\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', - 'title' => '在网时长查询', - 'description' => '- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => '号码状态查询(账号验证场景)', + 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" + .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit`:运营商禁止查询的手机号。'."\n" .'### QPS限制'."\n" - .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - 'responseParamsDescription' => '### 状态码原因及解决方案'."\n" - .'|HttpCode|状态码|原因|解决方案|'."\n" - .'| ------- | ------- | ------- | ------ |'."\n" - .'|200|OK:成功。|请求参数符合要求。|表示接口调用成功。|'."\n" - .'|200|PortabilityNumberNotSupported:不支持的号码查询。|有少部分携号转网号码会返回此错误码。|建议更换其他号码查询。携号转网的号码在原运营商侧已销户,新运营商侧认为携入的时间为开户时间,因此携号转网的号码无法准确的查询到该号码的真实情况。|'."\n" - ."\n" - .'### 异常原因及解决方案'."\n" - .'|HttpCode|状态码|原因|解决方案|'."\n" - .'| ------- | ------- | ------- | ------- |'."\n" - .'|400|AuthCodeNotExist:授权码不存在。|授权码不存在。|请先在号码分析服务申请您所需的标签,申请成功并获得授权码后,再发起DescribePhoneNumberOnlineTime接口调用。|'."\n" - .'|400|CarrierIllegal:运营商类型非法。|运营商类型非法。|请您填入正确的运营商类型,对于加密的号码,该字段必填且必须为大写字符。|'."\n" - .'|400|MobileNumberIllegal:请求参数的手机号格式有误。|手机号格式填写有误。|若手机号未加密,填入11位正确的数字号码即可;若手机号经MD5加密处理,该字段为32位加密字符串;若手机号经SHA256加密处理,该字段为64位加密字符串。|'."\n" - .'|400|MobileNumberTypeNotMatch:手机号格式与加密类型不匹配。|填入的手机号与加密类型不匹配。|请您填入正确手机号格式和号码加密类型。|'."\n" - .'|400|MobileNumberTypeIllegal:加密方式类型错误。|不支持的加密方式或加密类型不规范。|加密方式仅支持NORMAL、MD5、SHA256三种,且必须为大写字符。|'."\n" - .'|500|Unknown:未知异常。|系统返回了未知异常。|请您尝试重新调用接口,建议重试的次数不要超过3次。|'."\n" - .'|500|SystemError:网元系统异常。|系统错误。|请尝试重新调用接口,建议重试次数不要超过3次。|', - ], - 'DescribePhoneNumberAnalysisAI' => [ - 'summary' => '获取号码分析返回结果。', - 'methods' => [ - 'post', - 'get', + .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForAccount'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'PhoneNumberStatusForPublic' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '157166', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'InputNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。', - 'type' => 'string', - 'required' => true, - 'example' => '187****5620', - ], - ], - [ - 'name' => 'Rate', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '号码分数阈值。取值范围:**0~100**。'."\n" - ."\n" - .'> 是否接受指定的分数阈值由服务端决定。当不接受指定分数阈值时,此字段输入的数据无效。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '96', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Dd1r***4id'], ], [ - 'name' => 'AuthCode', + 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在**号码分析服务**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'HwD***nG', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" + ."\n" + .'> 加密字符串中字母不区分大小写。', 'type' => 'string', 'required' => false, 'example' => '139****1234'], ], [ - 'name' => 'ModelConfig', + 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '模型参数配置(部分标签能力需要)', - 'type' => 'string', - 'required' => false, - 'example' => '{"trainingJobId": "17**********48"}', - ], + 'schema' => ['description' => '加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NORMAL'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '返回结果。', + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Number' => [ - 'description' => '传入的手机号。', - 'type' => 'string', - 'example' => '187****5620', - ], - 'Code' => [ - 'description' => '返回的结果编码。'."\n" - ."\n" - .'- YES:有效'."\n" - .'- NO:无效'."\n" - .'- UNKNOWN:未知', - 'type' => 'string', - 'example' => 'YES', - ], + 'Status' => ['description' => '检测手机号返回状态。取值:'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + .'- **SHUTDOWN**:停机。'."\n" + .'- **POWER_OFF**:关机。'."\n" + .'- **NOT_EXIST**:空号。'."\n" + .'- **SUSPECTED_POWER_OFF** :疑似关机。'."\n" + .'- **BUSY**:忙。'."\n" + .'- **UNKNOWN**:未知。'."\n" + ."\n" + .'> 因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', 'type' => 'string', 'example' => 'NORMAL'], + 'Carrier' => ['description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。'."\n" + ."\n" + .'取值:'."\n" + ."\n" + .'- **CMCC**:中国移动。'."\n" + .'- **CUCC**:中国联通。'."\n" + .'- **CTCC**:中国电信。'."\n" + .'- **CBN**:中国广电。', 'type' => 'string', 'example' => 'CMCC'], ], ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - .'- OK:成功', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。'."\n" + ."\n" + .'> 请访问[错误码中心](https://next.api.aliyun.com/document/Dytnsapi/2020-02-17/errorCode)查看更多错误码。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator', 'description' => '运营商禁止查询的手机号'], + ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"YES\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '号码AI分析服务', - 'description' => '使用本接口前,请登录号码百科控制台,在标签广场页面,找到对应的标签,单击申请开通,填写申请资料,审批通过后即可使用。'."\n" - .'请确保在使用本接口前,您已充分了解号码百科产品计费。', - ], - 'DescribePhoneNumberAnalysis' => [ - 'summary' => '获取号码分析返回结果。', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '号码状态查询(通用场景)', + 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', + 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。**'."\n" + .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit`:运营商禁止查询的手机号。'."\n" + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [ + ['createdAt' => '2025-09-15T12:08:45.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2025-09-15T12:08:45.000Z', 'description' => 'OpenAPI 下线'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForPublic'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'PhoneNumberStatusForReal' => [ + 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', + 'abilityTreeCode' => '142581', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。', - 'type' => 'string', - 'required' => true, - 'example' => '187****5620', - ], - ], - [ - 'name' => 'NumberType', - 'in' => 'query', - 'schema' => [ - 'description' => '号码类型。取值:'."\n" - ."\n" - .'- **0**:手机号'."\n" - ."\n" - .'- **1**:手机IMEI号', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '189****8999'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**', - 'type' => 'string', - 'required' => false, - 'example' => 'NORMAL', - ], - ], - [ - 'name' => 'Rate', - 'in' => 'query', - 'schema' => [ - 'description' => '号码分数阈值。取值范围:**0~100**。'."\n" - ."\n" - .'><notice>是否接受指定的分数阈值由服务端决定。当不接受指定分数阈值时,此字段输入的数据无效。></notice>', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '号码的加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息;只有RAM校验失败才会返回此字段。', - 'type' => 'string', - 'example' => '-', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '号码状态的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], 'Data' => [ - 'description' => '号码分析返回结果信息。', + 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'List' => [ - 'description' => '数据列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Number' => [ - 'description' => '传入的手机号。', - 'type' => 'string', - 'example' => '187****5620', - ], - 'Code' => [ - 'description' => '返回的结果编码。'."\n" - .'- YES:有效'."\n" - .'- NO:无效'."\n" - .'- UNKNOWN:未知', - 'type' => 'string', - 'example' => 'NO', - ], - ], - ], - 'example' => '', - ], + 'Status' => ['description' => '检测手机号返回状态。取值:'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + .'- **SHUTDOWN**:停机。'."\n" + .'- **POWER_OFF**:关机。'."\n" + .'- **NOT_EXIST**:空号。'."\n" + .'- **BUSY**:忙。'."\n" + .'- **SUSPECTED_POWER_OFF**:疑似关机。'."\n" + .'- **DEFECT**:异常号码。'."\n" + .'- **UNKNOWN**:未知。'."\n" + ."\n" + .'>因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', 'type' => 'string', 'example' => 'NORMAL'], + 'Carrier' => ['description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" + ."\n" + .'- **CMCC**:中国移动。'."\n" + .'- **CUCC**:中国联通。'."\n" + .'- **CTCC**:中国电信。'."\n" + .'> 暂不支持中国广电的号码查询。', 'type' => 'string', 'example' => 'CMCC'], ], ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .' **OK**:成功。', - 'type' => 'string', - 'example' => 'OK', - ], ], ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'Phone number and encryption type do not match', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'RateIllegal', - 'errorMessage' => 'Illegal threshold parameter', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'invalid parameter', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The authorization code application failed and cannot be used.', - ], - [ - 'errorCode' => 'TagNotExist', - 'errorMessage' => 'The label does not exist.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => '该号码受运营商限制'], ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + 400 => [ + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => '该标签申请单不存在,请重新更换授权码'], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => '号码类型错误'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => '号码与号码类型不匹配'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => '手机号加密类型非法'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"List\\": [\\n {\\n \\"Number\\": \\"187****5620\\",\\n \\"Code\\": \\"NO\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribePhoneNumberAnalysisResponse>\\n <RequestId>CC3BB6D2-2FDF-4321-9DCE-B38165CE****</RequestId>\\n <Code>OK</Code>\\n <Message>OK</Message>\\n <Data>\\n <Code>YES</Code>\\n <Number>1310000****</Number>\\n </Data>\\n</DescribePhoneNumberAnalysisResponse>","errorExample":""}]', - 'title' => '查询号码分析结果', - 'description' => '- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 请确保在使用本接口前,您已充分了解号码百科[产品计费](~~154008~~)。'."\n" - ."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => '号码状态查询(风控检测场景)', + 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" + .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit`:运营商禁止查询的手机号。'."\n" .'### QPS限制'."\n" - .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。'."\n" - ."\n" - .'### 授权信息'."\n" - .'默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。具体请参见[为RAM用户授权](~~154006~~)。', - 'responseParamsDescription' => '### 状态码原因及解决方案'."\n" - .'|HttpCode|返回码|描述|解决方案|'."\n" - .'| ------- | ------- | ------- | ------- |'."\n" - .'|200|OK|成功。|表示接口调用成功。|'."\n" - ."\n" - .'### 异常原因及解决方案'."\n" - .'|HttpCode|错误码|描述|解决方案|'."\n" - .'| ------- | ------- | ------- | ------- |'."\n" - .'|400|MobileNumberIllegal|手机号非法。|若手机号未加密,填入11位正确的数字号码即可;若手机号经MD5加密处理,该字段为32位加密字符串;若手机号经SHA256加密处理,该字段为64位加密字符串。|'."\n" - .'|400|EncyrptTypeIllegal|加密类型非法。|加密方式仅支持NORMAL、MD5、SHA256三种,且必须为大写字符。|'."\n" - .'|400|MobileNumberTypeNotMatch|手机号码与加密类型不匹配。|请您填入正确手机号格式和号码加密类型。|'."\n" - .'|400|AuthCodeNotExist|授权码不存在或不可用。|授权码不存在或授权码未通过审核,请您核实授权码的正确性。|'."\n" - .'|400|TagNotExist|标签或业务资源不存在。|标签不存在或业务资源不存在,请核实标签的可用性。|'."\n" - .'|400|RateIllegal|阈值参数非法。|阈值参数非法,请检查阈值参数是否合规。|'."\n" - .'|400|InvalidParameter|非法参数。|请求参数错误,请检查参数是否正确。|'."\n" - .'|400|System.LimitControl|流控错误。|请将查询频率限制在正常范围内,对于出现该错误码的号码适当进行重查,建议重复查询的次数不要超过3次。|'."\n" - .'|500|SystemError|系统异常。|系统错误,请稍后重试。|', - ], - 'DescribeEmptyNumber' => [ - 'summary' => '通过AI算法,预测手机号是否为空号。', - 'methods' => [ - 'post', - 'get', + .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForReal'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForReal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'PhoneNumberStatusForSms' => [ + 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '162520', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'Dd1r***4id'."\n", - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'zf08***pi6'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n\n" - .'> 目前仅支持单个号码查询。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '189****1234', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '181****1234'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['description' => '号码的加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], ], ], 'responses' => [ @@ -3701,241 +2877,173 @@ 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:请求成功。'."\n" + .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD135850177'], 'Data' => [ - 'description' => '返回结果。', + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '检测手机号返回状态。取值:'."\n" - ."\n" - .'- **EMPTY**:空号。'."\n" - ."\n" - .'- **NORMAL**:正常。'."\n" - ."\n" - .'- **SUSPECT_EMPTY**:疑似空号。'."\n" - ."\n" - .'- **UNKNOWN**:未知。'."\n", - 'type' => 'string', - 'example' => 'EMPTY', - ], - 'Number' => [ - 'description' => '传入的手机号。', - 'type' => 'string', - 'example' => '189****1234', - ], + 'Status' => ['description' => '检测手机号返回状态。取值:'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + .'- **SHUTDOWN**:停机。'."\n" + .'- **POWER_OFF**:关机。'."\n" + .'- **NOT_EXIST**:空号。'."\n" + .'- **DEFECT**:异常号码。'."\n" + .'- **UNKNOWN**:未知。'."\n" + ."\n" + .'>因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', 'type' => 'string', 'example' => 'NORMAL'], + 'Carrier' => ['description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" + ."\n" + .'- **CMCC**:中国移动。'."\n" + .'- **CUCC**:中国联通。'."\n" + .'- **CTCC**:中国电信。'."\n" + .'> 暂不支持中国广电的号码查询。', 'type' => 'string', 'example' => 'CMCC'], ], ], - 'Code' => [ - 'description' => '返回状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - ."\n" - .'- **InvalidPhoneNumber.Check**:手机号非法。', - 'type' => 'string', - 'example' => 'OK', - ], ], ], ], ], 'errorCodes' => [ + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => '该号码受运营商限制'], + ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => '该标签申请单不存在,请重新更换授权码'], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => '号码类型错误'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => '号码与号码类型不匹配'], + ['errorCode' => 'isp.UNKNOWN', 'errorMessage' => 'An error occurred due to unknown reasons.', 'description' => '系统返回了未知异常。'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => '手机号加密类型非法'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Status\\": \\"EMPTY\\",\\n \\"Number\\": \\"189****1234\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '手机号空号检测', - 'description' => '- 本接口用于验证号码是否为空号。发起调用该接口验证号码请求时,系统会根据验证次数计费,标准价为0.01元/次。**请确保在使用该接口前,已充分了解本产品的收费方式和价格。**'."\n" - .'- 当返回结果中:Code="OK" 且 Status != UNKNOWN 时计费,其他情况不计费。 '."\n" - .'- 由于本产品通过AI算法预测手机号的空号概率,所以无法做到100%准确。当前评估的准确率和召回率约为95%左右。**调用时请注意差别**。'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD135850177\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CMCC\\"\\n }\\n}","type":"json"}]', + 'title' => '号码状态查询(短信业务场景)', + 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" + .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - ."\n" + .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit`:运营商禁止查询的手机号。'."\n" .'### QPS限制'."\n" - .'本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。'."\n" - ."\n" - .'### 授权信息'."\n" - .'默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。具体请参见[为RAM用户授权](~~154006~~)。', - ], - 'TwoElementsVerification' => [ - 'summary' => '二要素(姓名和手机号)核验。用于比对用户填写的姓名、手机号两项信息是否属于同一用户。', - 'methods' => [ - 'post', - 'get', + .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForSms'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForSms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'PhoneNumberStatusForVoice' => [ + 'summary' => '获取手机号码实时在网状态,例如正常、停机、空号等状态。支持明文、MD5/SHA256加密方式的号码查询。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '136682', - 'abilityTreeNodes' => [ - 'FEATUREdytnsNQKUF2', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '142576', + 'abilityTreeNodes' => ['FEATUREdytnsPMQ25H'], ], 'parameters' => [ [ 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'Dd1r***4id'], ], [ 'name' => 'InputNumber', 'in' => 'query', - 'schema' => [ - 'description' => '待检验的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为明文。'."\n" - .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" - .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。'."\n" + .'- 若Mask取值为MD5,该字段为32位加密字符串。'."\n" + .'- 若Mask取值为SHA256,该字段为64位加密字符串。'."\n" + .'- 若Mask取值为SM3,该字段为64位加密字符串。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '139****1234'], ], [ 'name' => 'Mask', 'in' => 'query', - 'schema' => [ - 'description' => '加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**', - 'type' => 'string', - 'required' => true, - 'example' => 'MD5', - 'enum' => [], - ], - ], - [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => '待核验的姓名。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为明文。'."\n" - .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" - .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '阿里云', - ], + 'schema' => ['description' => '加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**'."\n" + ."\n" + .'- **SM3**', 'type' => 'string', 'required' => true, 'example' => 'NORMAL'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。'."\n" - ."\n" - .'- **OK**:请求成功。'."\n" - ."\n" - .'- 其他错误码,请参见本章的错误码表。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码或姓名进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE****', - ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + .'- **OperatorLimit**:运营商禁止查询的手机号。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '公共参数,每个请求返回的ID都是唯一的,可用于排查和定位问题。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], 'Data' => [ 'description' => '结构体。', 'type' => 'object', 'properties' => [ - 'IsConsistent' => [ - 'description' => '验证结果是否一致。返回:'."\n" - ."\n" - .'- **1**:一致'."\n" - ."\n" - .'- **0**:不一致'."\n" - ."\n" - .'- **2**:查无'."\n" - ."\n" - .'不同运营商、不同城市的数据更新时效,通常在T+1至T+3之间。'."\n" - .'不同的运营商手机号,在不同状态下,核验结果如下: '."\n" - ."\n" - .'|运营商/手机号状态|停机|空号|销号|'."\n" - .'|--|--|--|--|'."\n" - .'|中国移动|正常核验|查无|查无|'."\n" - .'|中国联通|正常核验|不一致|不一致|'."\n" - .'|中国电信|正常核验|查无|查无|', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'BasicCarrier' => [ - 'description' => '基础运营商。取值:'."\n" - ."\n" - .'- **中国移动**。'."\n" - ."\n" - .'- **中国联通**。'."\n" - ."\n" - .'- **中国电信**。'."\n" - ."\n" - .'><notice>暂时不支持中国广电的号码。></notice>', - 'type' => 'string', - 'example' => '中国移动', - ], + 'Status' => ['description' => '检测手机号返回状态。取值:'."\n" + ."\n" + .'- **NORMAL**:正常。'."\n" + .'- **SHUTDOWN**:停机。'."\n" + .'- **POWER_OFF**:关机。'."\n" + .'- **NOT_EXIST**:空号。'."\n" + .'- **SUSPECTED_POWER_OFF** :疑似关机。'."\n" + .'- **DEFECT**:异常号码。'."\n" + .'- **UNKNOWN**:未知。'."\n" + ."\n" + .'>因运营商系统调整,中国电信的号码不支持返回:忙、疑似关机、关机状态。 [详见官网公告](https://help.aliyun.com/document_detail/2489709.html)', 'type' => 'string', 'example' => 'NORMAL'], + 'Carrier' => ['description' => '号码当前归属的基础运营商。如果查询的号码存在携号转网,则返回携号转网后的基础运营商。取值:'."\n" + ."\n" + .'- **CMCC**:中国移动。'."\n" + .'- **CUCC**:中国联通。'."\n" + .'- **CTCC**:中国电信。'."\n" + .'> 暂不支持中国广电的号码查询。', 'type' => 'string', 'example' => 'CTCC'], ], ], ], @@ -3944,170 +3052,71 @@ ], 'errorCodes' => [ 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => '该号码受运营商限制'], ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => '该标签申请单不存在,请重新更换授权码'], + ['errorCode' => 'MobileNumberTypeIllegal', 'errorMessage' => 'Invalid number type.', 'description' => '号码类型错误'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => '号码与号码类型不匹配'], + ['errorCode' => 'EncryptTypeIllegal', 'errorMessage' => 'Invalid encryption type.', 'description' => '加密类型错误'], + ['errorCode' => 'isp.UNKNOWN', 'errorMessage' => 'An error occurred due to unknown reasons.', 'description' => '系统返回了未知异常。'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE****\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 1,\\n \\"BasicCarrier\\": \\"中国移动\\"\\n }\\n}","type":"json"}]', - 'title' => '运营商二要素核验', - 'description' => '- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"Status\\": \\"NORMAL\\",\\n \\"Carrier\\": \\"CTCC\\"\\n }\\n}","type":"json"}]', + 'title' => '号码状态查询(语音业务场景)', + 'description' => '- **请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)**。'."\n" + .'- 默认仅阿里云账号使用本接口,RAM用户只有在被授予相关API操作权限后才可使用。相关操作,请参见[为RAM用户授权](~~154006~~)。'."\n" .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 当接口值返回值:Code="OK"且IsConsistent != 2时计费,其他返回结果不计费。'."\n" - .'- 不支持虚商号码核验,虚商号码指170、171、162、165开头的号码。'."\n" - ."\n" + .'- 号码状态查询功能目前仅支持中国电信、中国联通和中国移动号码,暂不支持查询中国广电号码状态。如果调用本接口查询中国广电号码状态,将返回错误码及错误信息`OperatorLimit`:运营商禁止查询的手机号。'."\n" .'### QPS限制'."\n" - .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'ThreeElementsVerification' => [ - 'summary' => '三要素(姓名、手机号和身份证号)核验。用于比对用户填写的姓名、手机号、身份证号三个信息是否属于同一用户。', - 'methods' => [ - 'post', - 'get', + .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForVoice'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForVoice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'QueryAvailableAuthCode' => [ + 'summary' => '查询可用的授权码。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '136769', - 'abilityTreeNodes' => [ - 'FEATUREdytns9WIVIU', - ], - ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AuthCode', - 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], - ], - [ - 'name' => 'InputNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '待检验的号码。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为明文。'."\n" - .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" - .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], - ], - [ - 'name' => 'Mask', - 'in' => 'query', - 'schema' => [ - 'description' => '加密方式。取值:'."\n" - ."\n" - .'- **NORMAL**:不加密'."\n" - ."\n" - .'- **MD5**'."\n" - ."\n" - .'- **SHA256**', - 'type' => 'string', - 'required' => true, - 'example' => 'MD5', - 'enum' => [], - ], - ], - [ - 'name' => 'CertCode', - 'in' => 'query', - 'schema' => [ - 'description' => '待核验的身份证号。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为明文。'."\n" - .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" - .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '83d8040d3cb2181e04****dc6ff5566d4493876a4a5da782887446356b0a787e', - ], - ], - [ - 'name' => 'Name', + 'name' => 'TagId', 'in' => 'query', - 'schema' => [ - 'description' => '待核验的姓名。'."\n" - ."\n" - .'- 若Mask取值为NORMAL,该字段为明文。'."\n" - .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" - .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" - ."\n" - .'><notice>加密字符串中字母不区分大小写。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '阿里云', - ], + 'schema' => ['title' => '标签id', 'description' => '标签ID。可通过调用[QueryTagListPage](~~QueryTagListPage~~)接口,查询标签ID值。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '22'], ], ], 'responses' => [ @@ -4115,144 +3124,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '请求状态码。'."\n" - ."\n" - .'- **OK**:请求成功。'."\n" - .'- 其他错误码,请参见本章的错误码表。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], + 'RequestId' => ['title' => '', 'description' => '请求ID。', 'type' => 'string', 'example' => '6ADDCD31-6BC7-5913-A47F-E29A07E37FEE'], + 'Message' => ['title' => '', 'description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '结构体。', - 'type' => 'object', - 'properties' => [ - 'BasicCarrier' => [ - 'description' => '基础运营商。取值:'."\n" - ."\n" - .'- **中国移动**。'."\n" - ."\n" - .'- **中国联通**。'."\n" - ."\n" - .'- **中国电信**。', - 'type' => 'string', - 'example' => '中国移动', - ], - 'IsConsistent' => [ - 'description' => '验证结果是否一致。返回:'."\n" - ."\n" - .'- **1**:一致'."\n" - .'- **0**:不一致'."\n" - .'- **2**:查无'."\n" - .'>不同运营商、不同城市的数据更新时效,通常在T+1至T+3之间。'."\n" - .'不同的运营商手机号,在不同状态下,核验结果如下: '."\n" - ."\n" - .'|运营商/手机号状态|停机|空号|销号|'."\n" - .'|--|--|--|--|'."\n" - .'|中国移动|正常核验|查无|查无|'."\n" - .'|中国联通|正常核验|不一致|不一致|'."\n" - .'|中国电信|正常核验|查无|查无|', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], + 'title' => '', + 'description' => '返回的数据内容。', + 'type' => 'array', + 'items' => ['description' => '返回的数据内容。', 'type' => 'string', 'example' => '[\'n81Q8M63rg\']'], + 'example' => '', ], + 'Code' => ['title' => '', 'description' => '请求状态码。 **OK**为成功。', 'type' => 'string', 'example' => 'OK'], + 'Success' => ['title' => '', 'description' => '是否成功。取值:'."\n" + ."\n" + .'- true:成功。'."\n" + ."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], 'errorCodes' => [ - 200 => [ - [ - 'errorCode' => 'OperatorLimit', - 'errorMessage' => 'The number is limited by the operator.', - ], - ], 400 => [ - [ - 'errorCode' => 'MobileNumberIllegal', - 'errorMessage' => 'Wrong format of phone number', - ], - [ - 'errorCode' => 'EncyrptTypeIllegal', - 'errorMessage' => 'The encryption type of the mobile phone number is illegal', - ], - [ - 'errorCode' => 'CarrierIllegal', - 'errorMessage' => 'Illegal carrier type', - ], - [ - 'errorCode' => 'CertCodeIllegal', - 'errorMessage' => 'Invalid CertCode value.', - ], - [ - 'errorCode' => 'MobileNumberTypeNotMatch', - 'errorMessage' => 'The number and number type do not match.', - ], - [ - 'errorCode' => 'AuthCodeNotExist', - 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'Unknown', - 'errorMessage' => 'Unknown error', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'System error', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"IsConsistent\\": 1\\n }\\n}","type":"json"}]', - 'title' => '运营商三要素核验', - 'description' => '- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" - .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - .'- 当接口值返回值:Code=\'OK\' 且 IsConsistent != 2时计费,其他返回结果不计费。'."\n" - .'- 不支持虚商号码核验,虚商号码指170、171、162、165开头的号码。'."\n" - ."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'PhoneNumberEncrypt' => [ - 'summary' => '将原始号码加密为一个140开头的虚拟号码。通过结合阿里云的通信服务,可以使用加密后的140号码发起语音呼叫。实现虚拟号码呼叫的效果。', - 'methods' => [ - 'post', - 'get', + 'title' => '查询可用的授权码', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryAvailableAuthCode'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryAvailableAuthCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6ADDCD31-6BC7-5913-A47F-E29A07E37FEE\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n \\"[\'n81Q8M63rg\']\\"\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'QueryPackageTypeInfo' => [ + 'summary' => '套餐包类型信息查询。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4260,241 +3187,190 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '133477', - 'abilityTreeNodes' => [ - 'FEATUREdytns6A4MC8', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AuthCode', + 'name' => 'ProductName', 'in' => 'query', + 'schema' => ['title' => '产品名称,如dysms', 'description' => '产品名称,固定dytns', 'type' => 'string', 'required' => false, 'example' => 'dytns'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', + 'type' => 'object', + 'properties' => [ + 'Message' => ['title' => '', 'description' => '返回状态码描述。', 'type' => 'string', 'example' => 'Example'], + 'RequestId' => ['title' => '', 'description' => '请求ID。', 'type' => 'string', 'example' => 'Example'], + 'Data' => ['title' => '', 'description' => '结构体。', 'type' => 'object', 'example' => '{"efactorVerification":"平台风控-二要素核验查询套餐包"}'], + 'Code' => ['title' => '', 'description' => '请求状态码。'."\n" + ."\n" + .'- 返回OK代表请求成功。'."\n" + ."\n" + .'- 其他错误码,请参见[错误码列表](~~109196~~)。'."\n", 'type' => 'string', 'example' => 'Example'], + 'Success' => ['title' => '', 'description' => '是否成功。取值:'."\n" + ."\n" + .'- true:成功。'."\n" + ."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], + ], + 'description' => '', ], ], - [ - 'name' => 'InputNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。'."\n" - ."\n" - .'> 目前仅支持单个号码查询。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'title' => 'QueryPackageTypeInfo', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryPackageTypeInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"Example\\",\\n \\"RequestId\\": \\"Example\\",\\n \\"Data\\": {\\n \\"efactorVerification\\": \\"平台风控-二要素核验查询套餐包\\"\\n },\\n \\"Code\\": \\"Example\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'QueryTagApplyRule' => [ + 'summary' => '查询标签申请规则。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Mask', - 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。取值:**NORMAL**。'."\n" - ."\n\n" - .'><notice>目前仅支持NORMAL加密方式。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'OutId', + 'name' => 'TagId', 'in' => 'query', - 'schema' => [ - 'description' => '用户自定的outId,选填,格式不限,长度小于等于64。', - 'type' => 'string', - 'required' => false, - 'example' => '213e367117422635749191493eea68', - ], + 'schema' => ['title' => '标签id', 'description' => '标签ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '61'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['title' => '', 'description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47'], + 'Message' => ['title' => '', 'description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '数组。', - 'type' => 'array', - 'items' => [ - 'description' => '结构体。', - 'type' => 'object', - 'properties' => [ - 'OriginalNumber' => [ - 'description' => '原始号码。', - 'type' => 'string', - 'example' => '1390000****', - ], - 'EncryptedNumber' => [ - 'description' => '加密后的号码。', - 'type' => 'string', - 'example' => '1400513****', - ], - 'ExpireTime' => [ - 'description' => '号码过期时间。', - 'type' => 'string', - 'example' => '2022-05-27 16:05:23', - ], - 'OutId' => [ - 'description' => '发起请求时预留给调用方的自定义ID,最终、将此ID带回给调用方。'."\n" - ."\n" - .'字符串类型,长度限制为最长为64个字符。', - 'type' => 'string', - 'example' => '215044c917374256269257695e9d22', - ], - ], + 'title' => '', + 'description' => '返回的数据内容。', + 'type' => 'object', + 'properties' => [ + 'NeedApplyMaterial' => ['title' => '是否需要提供申请材料', 'description' => '是否需要提供申请材料,取值:'."\n" + ."\n" + .'- 0:不需要。'."\n" + ."\n" + .'- 1:需要。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'EncryptedQuery' => ['title' => '是否支持加密查询', 'description' => '是否支持加密查询,取值:'."\n" + ."\n" + .'- 0:不支持。'."\n" + ."\n" + .'- 1:支持。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + 'SlaLink' => ['title' => '服务协议链接', 'description' => '服务协议链接。', 'type' => 'string', 'example' => 'example.aliyundoc.com'], + 'ApplyMaterialDesc' => ['title' => '申请材料要求', 'description' => '申请材料要求。NeedApplyMaterial=1时,返回该参数。', 'type' => 'string', 'example' => '申请材料的要求是XXX'], + 'AutoAudit' => ['title' => '是否自动审批', 'description' => '是否自动审批,取值:'."\n" + ."\n" + .'- 0:不自动审批。'."\n" + ."\n" + .'- 1:自动审批。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'ChargingStandardLink' => ['title' => '计费标准说明链接', 'description' => '计费标准说明链接。', 'type' => 'string', 'example' => 'aliyundoc.com'], ], + 'example' => '', ], - 'Code' => [ - 'description' => '请求状态码。'."\n" - ."\n" - .'- 返回OK代表请求成功。'."\n" - ."\n" - .'- 其他错误码,请参见[错误码列表](~~109196~~)。'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['title' => '', 'description' => '请求状态码。 **OK**表示成功。', 'type' => 'string', 'example' => 'OK'], + 'Success' => ['title' => '', 'description' => '是否成功。取值:'."\n" + ."\n" + .'- true:成功。'."\n" + ."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\",\\n \\"OutId\\": \\"215044c917374256269257695e9d22\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '加密号码', - 'description' => '使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - ."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', - ], - 'InvalidPhoneNumberFilter' => [ - 'summary' => '进行无效号码过滤操作。', - 'methods' => [ - 'post', + 'title' => '查询标签申请规则', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagApplyRule'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagApplyRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"NeedApplyMaterial\\": 1,\\n \\"EncryptedQuery\\": 0,\\n \\"SlaLink\\": \\"example.aliyundoc.com\\",\\n \\"ApplyMaterialDesc\\": \\"申请材料的要求是XXX\\",\\n \\"AutoAudit\\": 1,\\n \\"ChargingStandardLink\\": \\"aliyundoc.com\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'QueryTagInfoBySelection' => [ + 'summary' => '查询标签信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '132665', - 'abilityTreeNodes' => [ - 'FEATUREdytnsPMQ25H', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'AuthCode', + 'name' => 'IndustryId', 'in' => 'query', - 'schema' => [ - 'description' => '授权码。'."\n" - ."\n" - .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', - 'type' => 'string', - 'required' => true, - 'example' => 'QASDW@#**', - ], + 'schema' => ['title' => '行业id', 'description' => '行业ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '58'], ], [ - 'name' => 'InputNumber', + 'name' => 'SceneId', 'in' => 'query', - 'schema' => [ - 'description' => '待查询的号码。', - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['title' => '场景id', 'description' => '场景ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '83'], ], [ - 'name' => 'Mask', + 'name' => 'TagId', 'in' => 'query', - 'schema' => [ - 'description' => '号码的加密方式。'."\n" - ."\n" - .'><notice>目前仅支持NORMAL加密方式。></notice>', - 'type' => 'string', - 'required' => true, - 'example' => 'NORMAL', - ], + 'schema' => ['title' => '标签id', 'description' => '标签ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '71'], ], ], 'responses' => [ @@ -4502,145 +3378,117 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - ."\n" - .'- **MobileNumberIllegal**:手机号非法。'."\n" - ."\n" - .'- **EncyrptTypeIllegal**:加密类型非法。'."\n" - ."\n" - .'- **MobileNumberTypeNotMatch**:手机号码与加密类型不匹配。'."\n" - ."\n" - .'- **CarrierIllegal**:运营商类型非法。'."\n" - ."\n" - .'- **AuthCodeNotExist**:授权码不存在。'."\n" - ."\n" - .'- **PortabilityNumberNotSupported**:不支持携号转网。'."\n" - ."\n" - .'- **Unknown**:未知异常。'."\n" - ."\n" - .'- **AuthCodeAndApiNotMatch**:系统异常。'."\n" - ."\n" - .'- **AuthCodeAndApiNotMatch**:AuthCode与API接口不匹配。'."\n" - .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['title' => '', 'description' => '请求ID。', 'type' => 'string', 'example' => '1C3B8084-3A7D-570B-BC84-BF945A9CF65E'], + 'Message' => ['title' => '', 'description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '数组。', + 'title' => '', + 'description' => '返回的数据内容。', 'type' => 'array', 'items' => [ - 'description' => '结构体。', + 'description' => '返回的数据内容。', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '返回过滤的结果。'."\n" - ."\n" - .'- **YES**:有效状态号码,返回映射关系。'."\n" - ."\n" - .'- **NO**:无效状态号码,不返回映射关系。', - 'type' => 'string', - 'example' => 'YES', - ], - 'OriginalNumber' => [ - 'description' => '原始号码。', - 'type' => 'string', - 'example' => '1390000****', - ], - 'EncryptedNumber' => [ - 'description' => '加密后的号码。', - 'type' => 'string', - 'example' => '1400513****', + 'SceneId' => ['title' => '场景id', 'description' => '场景ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '41'], + 'IndustryId' => ['title' => '行业id', 'description' => '行业ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '83'], + 'SceneName' => ['title' => '场景名称', 'description' => '场景名称。', 'type' => 'string', 'example' => '通用'], + 'TagName' => ['title' => '标签名称', 'description' => '标签名称。', 'type' => 'string', 'example' => '号码归属'], + 'FlowName' => ['title' => '流程名称', 'description' => '流程名称。', 'type' => 'string', 'example' => '查询'], + 'EnumDefinitionAddress' => ['title' => '枚举值定义链接', 'description' => '枚举值定义链接。', 'type' => 'string', 'example' => 'example.aliyundoc.com'."\n"], + 'TagId' => ['title' => '标签id', 'description' => '标签ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '31'], + 'AuthCodeList' => [ + 'title' => '可用的授权码列表', + 'description' => '可用的授权码列表。', + 'type' => 'array', + 'items' => ['description' => '无', 'type' => 'string', 'example' => '无'], + 'example' => '', ], - 'ExpireTime' => [ - 'description' => '号码过期时间。', - 'type' => 'string', - 'example' => '2022-05-27 16:05:23', + 'IndustryName' => ['title' => '行业名称', 'description' => '行业名称。', 'type' => 'string', 'example' => '物流'], + 'DocAddress' => ['title' => 'API文档链接', 'description' => 'API文档链接。', 'type' => 'string', 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz'], + 'DemoAddress' => ['title' => 'API demo链接', 'description' => 'API demo链接。', 'type' => 'string', 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz'], + 'ParamList' => [ + 'title' => '标签参数列表', + 'description' => '标签参数列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签参数。', + 'type' => 'object', + 'properties' => [ + 'ValueDict' => [ + 'title' => '枚举值定义,code:desc', + 'description' => '枚举值定义,code:desc', + 'type' => 'array', + 'items' => [ + 'description' => '枚举值定义,code:desc', + 'type' => 'object', + 'properties' => [ + 'Desc' => ['title' => '中文名', 'description' => '中文名。', 'type' => 'string', 'example' => '阿里云'], + 'Code' => ['title' => '英文名', 'description' => '英文名。', 'type' => 'string', 'example' => 'Aliyun'], + ], + ], + 'example' => '', + ], + 'Type' => ['title' => '类型EnumUIWidgetTypes对应的code', 'description' => '类型,EnumUIWidgetTypes对应的code。', 'type' => 'string', 'example' => 'aqzx'], + 'Hint' => ['title' => '输入提示', 'description' => '输入提示。', 'type' => 'string', 'example' => '无'], + 'Code' => ['title' => '参数英文名', 'description' => '参数英文名。', 'type' => 'string', 'example' => 'preame'], + 'Must' => ['title' => '是否必填', 'description' => '是否必填。', 'type' => 'boolean', 'example' => 'false'], + 'Name' => ['title' => '参数中文名', 'description' => '参数中文名。', 'type' => 'string', 'example' => '无'], + ], + ], + 'example' => '', ], + 'RichTextDescription' => ['description' => '富文本描述信息,仅复杂标签有此字段。', 'type' => 'string', 'example' => '无'], + 'ComplexityType' => ['description' => '标签类型。', 'type' => 'string', 'example' => 'SINGLE_STAGE'], ], ], + 'example' => '', ], + 'Code' => ['title' => '', 'description' => '请求状态码。 **OK**为成功。', 'type' => 'string', 'example' => 'OK'], + 'Success' => ['title' => '', 'description' => '是否成功。取值:'."\n" + ."\n" + .'- true:成功。'."\n" + ."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Product.Unsubscript', - 'errorMessage' => 'You have not subscribed to the specified product.', - ], - [ - 'errorCode' => 'Ram.PermissionDeny', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - [ - 'errorCode' => 'System.LimitControl', - 'errorMessage' => 'The system is under flow control.', - ], - [ - 'errorCode' => 'Unknown.ResourceOwnerId', - 'errorMessage' => 'The resource does not belong to the current user.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'title' => '查询标签信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagInfoBySelection'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagInfoBySelection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"Code\\": \\"YES\\",\\n \\"OriginalNumber\\": \\"1390000****\\",\\n \\"EncryptedNumber\\": \\"1400513****\\",\\n \\"ExpireTime\\": \\"2022-05-27 16:05:23\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '过滤无效号码', - 'description' => '使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" - ."\n" - .'### QPS限制'."\n" - .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1C3B8084-3A7D-570B-BC84-BF945A9CF65E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"SceneId\\": 41,\\n \\"IndustryId\\": 83,\\n \\"SceneName\\": \\"通用\\",\\n \\"TagName\\": \\"号码归属\\",\\n \\"FlowName\\": \\"查询\\",\\n \\"EnumDefinitionAddress\\": \\"example.aliyundoc.com\\\\n\\",\\n \\"TagId\\": 31,\\n \\"AuthCodeList\\": [\\n \\"无\\"\\n ],\\n \\"IndustryName\\": \\"物流\\",\\n \\"DocAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz\\",\\n \\"DemoAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz\\",\\n \\"ParamList\\": [\\n {\\n \\"ValueDict\\": [\\n {\\n \\"Desc\\": \\"阿里云\\",\\n \\"Code\\": \\"Aliyun\\"\\n }\\n ],\\n \\"Type\\": \\"aqzx\\",\\n \\"Hint\\": \\"无\\",\\n \\"Code\\": \\"preame\\",\\n \\"Must\\": false,\\n \\"Name\\": \\"无\\"\\n }\\n ],\\n \\"RichTextDescription\\": \\"无\\",\\n \\"ComplexityType\\": \\"SINGLE_STAGE\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'QueryTagListPage' => [ 'summary' => '分页查询标签列表。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4648,33 +3496,17 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => '页码。默认取值为**1**。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '18', - ], + 'schema' => ['title' => '', 'description' => '页码。默认取值为**1**。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '18'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '66', - ], + 'schema' => ['title' => '', 'description' => '分页大小。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '66'], ], ], 'responses' => [ @@ -4682,51 +3514,17 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A4475657-BB7E-585D-9E09-37934F096103', - ], - 'Message' => [ - 'title' => '', - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['title' => '', 'description' => '请求ID。', 'type' => 'string', 'example' => 'A4475657-BB7E-585D-9E09-37934F096103'], + 'Message' => ['title' => '', 'description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ 'title' => '', 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'title' => '', - 'description' => '总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '32', - ], - 'TotalPage' => [ - 'title' => '', - 'description' => '总页数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '91', - ], - 'PageSize' => [ - 'title' => '', - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '24', - ], - 'PageNo' => [ - 'title' => '', - 'description' => '当前页码。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '11', - ], + 'TotalCount' => ['title' => '', 'description' => '总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '32'], + 'TotalPage' => ['title' => '', 'description' => '总页数。', 'type' => 'integer', 'format' => 'int64', 'example' => '91'], + 'PageSize' => ['title' => '', 'description' => '分页大小。', 'type' => 'integer', 'format' => 'int64', 'example' => '24'], + 'PageNo' => ['title' => '', 'description' => '当前页码。', 'type' => 'integer', 'format' => 'int64', 'example' => '11'], 'Records' => [ 'title' => '', 'description' => '数据列表。', @@ -4735,84 +3533,20 @@ 'description' => '数据。', 'type' => 'object', 'properties' => [ - 'SceneId' => [ - 'title' => '场景id', - 'description' => '场景ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '13', - ], - 'SceneName' => [ - 'title' => '场景名称', - 'description' => '场景名称。', - 'type' => 'string', - 'example' => '查询', - ], - 'IndustryId' => [ - 'title' => '行业id', - 'description' => '行业ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Introduction' => [ - 'title' => '标签介绍', - 'description' => '标签介绍。', - 'type' => 'string', - 'example' => '这个标签是查询号码状态的。', - ], - 'SaleStatusStr' => [ - 'title' => '0 隐藏 1 公开', - 'description' => '- 0:隐藏'."\n" - .' '."\n" - .'- 1:公开', - 'type' => 'string', - 'example' => '1', - ], - 'ApiName' => [ - 'title' => '前端调用的api名称', - 'description' => '前端调用的API名称。', - 'type' => 'string', - 'example' => 'TwoElementsVerification', - ], - 'Id' => [ - 'title' => '标签 id', - 'description' => '标签ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '75', - ], - 'IndustryName' => [ - 'title' => '行业名称', - 'description' => '行业名称。', - 'type' => 'string', - 'example' => '测试', - ], - 'Code' => [ - 'title' => 'code', - 'description' => '请求状态码。 OK为成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'DocAddress' => [ - 'title' => 'API文档链接', - 'description' => 'API文档链接。', - 'type' => 'string', - 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP', - ], - 'Name' => [ - 'title' => '标签名称', - 'description' => '标签名称。', - 'type' => 'string', - 'example' => '阿里云', - ], - 'IsOpen' => [ - 'title' => '是否已经申请开通', - 'description' => '是否已经申请开通。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '是', - ], + 'SceneId' => ['title' => '场景id', 'description' => '场景ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '13'], + 'SceneName' => ['title' => '场景名称', 'description' => '场景名称。', 'type' => 'string', 'example' => '查询'], + 'IndustryId' => ['title' => '行业id', 'description' => '行业ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'Introduction' => ['title' => '标签介绍', 'description' => '标签介绍。', 'type' => 'string', 'example' => '这个标签是查询号码状态的。'], + 'SaleStatusStr' => ['title' => '0 隐藏 1 公开', 'description' => '- 0:隐藏'."\n" + .' '."\n" + .'- 1:公开', 'type' => 'string', 'example' => '1'], + 'ApiName' => ['title' => '前端调用的api名称', 'description' => '前端调用的API名称。', 'type' => 'string', 'example' => 'TwoElementsVerification'], + 'Id' => ['title' => '标签 id', 'description' => '标签ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '75'], + 'IndustryName' => ['title' => '行业名称', 'description' => '行业名称。', 'type' => 'string', 'example' => '测试'], + 'Code' => ['title' => 'code', 'description' => '请求状态码。 OK为成功。', 'type' => 'string', 'example' => 'OK'], + 'DocAddress' => ['title' => 'API文档链接', 'description' => 'API文档链接。', 'type' => 'string', 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP'], + 'Name' => ['title' => '标签名称', 'description' => '标签名称。', 'type' => 'string', 'example' => '阿里云'], + 'IsOpen' => ['title' => '是否已经申请开通', 'description' => '是否已经申请开通。', 'type' => 'integer', 'format' => 'int64', 'example' => '是'], ], ], 'example' => '', @@ -4820,65 +3554,53 @@ ], 'example' => '', ], - 'Code' => [ - 'title' => '', - 'description' => '请求状态码。 **OK**为成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => '是否成功。取值:'."\n" - ."\n" - .'- true:成功。'."\n" - ."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['title' => '', 'description' => '请求状态码。 **OK**为成功。', 'type' => 'string', 'example' => 'OK'], + 'Success' => ['title' => '', 'description' => '是否成功。取值:'."\n" + ."\n" + .'- true:成功。'."\n" + ."\n" + .'- false:失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A4475657-BB7E-585D-9E09-37934F096103\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 32,\\n \\"TotalPage\\": 91,\\n \\"PageSize\\": 24,\\n \\"PageNo\\": 11,\\n \\"Records\\": [\\n {\\n \\"SceneId\\": 13,\\n \\"SceneName\\": \\"查询\\",\\n \\"IndustryId\\": 2,\\n \\"Introduction\\": \\"这个标签是查询号码状态的。\\",\\n \\"SaleStatusStr\\": \\"1\\",\\n \\"ApiName\\": \\"TwoElementsVerification\\",\\n \\"Id\\": 75,\\n \\"IndustryName\\": \\"测试\\",\\n \\"Code\\": \\"OK\\",\\n \\"DocAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP\\",\\n \\"Name\\": \\"阿里云\\",\\n \\"IsOpen\\": 0\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => '分页查询标签列表', - ], - 'QueryTagInfoBySelection' => [ - 'summary' => '查询标签信息。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagListPage'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagListPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A4475657-BB7E-585D-9E09-37934F096103\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 32,\\n \\"TotalPage\\": 91,\\n \\"PageSize\\": 24,\\n \\"PageNo\\": 11,\\n \\"Records\\": [\\n {\\n \\"SceneId\\": 13,\\n \\"SceneName\\": \\"查询\\",\\n \\"IndustryId\\": 2,\\n \\"Introduction\\": \\"这个标签是查询号码状态的。\\",\\n \\"SaleStatusStr\\": \\"1\\",\\n \\"ApiName\\": \\"TwoElementsVerification\\",\\n \\"Id\\": 75,\\n \\"IndustryName\\": \\"测试\\",\\n \\"Code\\": \\"OK\\",\\n \\"DocAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.388997.0.0.cf804cc7DX4vlP\\",\\n \\"Name\\": \\"阿里云\\",\\n \\"IsOpen\\": 0\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'QueryTaskList' => [ + 'summary' => '查询离线任务列表。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4886,44 +3608,63 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'IndustryId', + 'name' => 'TaskName', 'in' => 'query', - 'schema' => [ - 'title' => '行业id', - 'description' => '行业ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '58', - ], + 'schema' => ['description' => '任务名称。', 'type' => 'string', 'required' => false, 'example' => 'Example'], ], [ - 'name' => 'SceneId', + 'name' => 'TagId', + 'in' => 'query', + 'schema' => ['description' => '标签ID。可通过调用[QueryTagListPage](~~QueryTagListPage~~)接口,查询标签ID值。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '15'], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => ['description' => '任务ID。您可以调用DescribeTasks查看任务ID列表。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '91'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小,最大值为1000。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => '当前位于第几页。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '80'], + ], + [ + 'name' => 'TaskType', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '场景id', - 'description' => '场景ID。', - 'type' => 'integer', - 'format' => 'int64', + 'description' => '任务类型数组。', + 'type' => 'array', + 'items' => ['description' => '- 0 过滤任务'."\n" + ."\n" + .'- 1 排序任务'."\n" + ."\n" + .'- 2 批量任务', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '[0]'], 'required' => false, - 'example' => '83', + 'example' => '', ], ], [ - 'name' => 'TagId', + 'name' => 'Result', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '标签id', - 'description' => '标签ID。', - 'type' => 'integer', - 'format' => 'int64', + 'description' => '结果列表', + 'type' => 'array', + 'items' => ['description' => '- 0 运行中'."\n" + ."\n" + .'- 1 运行成功'."\n" + ."\n" + .'- 2 运行失败', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '[0]'], 'required' => false, - 'example' => '71', + 'example' => '', ], ], ], @@ -4932,239 +3673,68 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1C3B8084-3A7D-570B-BC84-BF945A9CF65E', - ], - 'Message' => [ - 'title' => '', - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177'], + 'Message' => ['description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'title' => '', - 'description' => '返回的数据内容。', - 'type' => 'array', - 'items' => [ - 'description' => '返回的数据内容。', - 'type' => 'object', - 'properties' => [ - 'SceneId' => [ - 'title' => '场景id', - 'description' => '场景ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '41', - ], - 'IndustryId' => [ - 'title' => '行业id', - 'description' => '行业ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '83', - ], - 'SceneName' => [ - 'title' => '场景名称', - 'description' => '场景名称。', - 'type' => 'string', - 'example' => '通用', - ], - 'TagName' => [ - 'title' => '标签名称', - 'description' => '标签名称。', - 'type' => 'string', - 'example' => '号码归属', - ], - 'FlowName' => [ - 'title' => '流程名称', - 'description' => '流程名称。', - 'type' => 'string', - 'example' => '查询', - ], - 'EnumDefinitionAddress' => [ - 'title' => '枚举值定义链接', - 'description' => '枚举值定义链接。', - 'type' => 'string', - 'example' => 'example.aliyundoc.com'."\n", - ], - 'TagId' => [ - 'title' => '标签id', - 'description' => '标签ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '31', - ], - 'AuthCodeList' => [ - 'title' => '可用的授权码列表', - 'description' => '可用的授权码列表。', - 'type' => 'array', - 'items' => [ - 'description' => '无', - 'type' => 'string', - 'example' => '无', - ], - 'example' => '', - ], - 'IndustryName' => [ - 'title' => '行业名称', - 'description' => '行业名称。', - 'type' => 'string', - 'example' => '物流', - ], - 'DocAddress' => [ - 'title' => 'API文档链接', - 'description' => 'API文档链接。', - 'type' => 'string', - 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz', - ], - 'DemoAddress' => [ - 'title' => 'API demo链接', - 'description' => 'API demo链接。', - 'type' => 'string', - 'example' => 'https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz', - ], - 'ParamList' => [ - 'title' => '标签参数列表', - 'description' => '标签参数列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签参数。', - 'type' => 'object', - 'properties' => [ - 'ValueDict' => [ - 'title' => '枚举值定义,code:desc', - 'description' => '枚举值定义,code:desc', - 'type' => 'array', - 'items' => [ - 'description' => '枚举值定义,code:desc', - 'type' => 'object', - 'properties' => [ - 'Desc' => [ - 'title' => '中文名', - 'description' => '中文名。', - 'type' => 'string', - 'example' => '阿里云', - ], - 'Code' => [ - 'title' => '英文名', - 'description' => '英文名。', - 'type' => 'string', - 'example' => 'Aliyun', - ], - ], - ], - 'example' => '', - ], - 'Type' => [ - 'title' => '类型EnumUIWidgetTypes对应的code', - 'description' => '类型,EnumUIWidgetTypes对应的code。', - 'type' => 'string', - 'example' => 'aqzx', - ], - 'Hint' => [ - 'title' => '输入提示', - 'description' => '输入提示。', - 'type' => 'string', - 'example' => '无', - ], - 'Code' => [ - 'title' => '参数英文名', - 'description' => '参数英文名。', - 'type' => 'string', - 'example' => 'preame', - ], - 'Must' => [ - 'title' => '是否必填', - 'description' => '是否必填。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'Name' => [ - 'title' => '参数中文名', - 'description' => '参数中文名。', - 'type' => 'string', - 'example' => '无', - ], - ], - ], - 'example' => '', - ], - 'RichTextDescription' => [ - 'description' => '富文本描述信息,仅复杂标签有此字段。', - 'type' => 'string', - 'example' => '无', - ], - 'ComplexityType' => [ - 'description' => '标签类型。', - 'type' => 'string', - 'example' => 'SINGLE_STAGE', - ], + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => '总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '22'], + 'Data' => [ + 'description' => '结构体。', + 'type' => 'array', + 'items' => ['description' => '结构体。', 'type' => 'string', 'example' => '{"createDate":"创建时间"}'], + 'example' => '', ], + 'PageNo' => ['description' => '当前页码。', 'type' => 'integer', 'format' => 'int64', 'example' => '62'], ], - 'example' => '', - ], - 'Code' => [ - 'title' => '', - 'description' => '请求状态码。 **OK**为成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => '是否成功。取值:'."\n" - ."\n" - .'- true:成功。'."\n" - ."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。'."\n" + .'- **isv.INVALID_PARAMETERS**:非法参数。'."\n" + .'- **isp.SYSTEM_ERROR**:网元系统异常。'."\n" + ."\n" + .'> 请求状态码详情请参见下表:状态码原因及解决方案。', 'type' => 'string', 'example' => 'OK'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'title' => '查询百科离线任务列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTaskList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1C3B8084-3A7D-570B-BC84-BF945A9CF65E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"SceneId\\": 41,\\n \\"IndustryId\\": 83,\\n \\"SceneName\\": \\"通用\\",\\n \\"TagName\\": \\"号码归属\\",\\n \\"FlowName\\": \\"查询\\",\\n \\"EnumDefinitionAddress\\": \\"example.aliyundoc.com\\\\n\\",\\n \\"TagId\\": 31,\\n \\"AuthCodeList\\": [\\n \\"无\\"\\n ],\\n \\"IndustryName\\": \\"物流\\",\\n \\"DocAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz\\",\\n \\"DemoAddress\\": \\"https://help.aliyun.com/document_detail/388997.html?spm=a2c4g.2573870.0.0.3aa921cbOrtqJz\\",\\n \\"ParamList\\": [\\n {\\n \\"ValueDict\\": [\\n {\\n \\"Desc\\": \\"阿里云\\",\\n \\"Code\\": \\"Aliyun\\"\\n }\\n ],\\n \\"Type\\": \\"aqzx\\",\\n \\"Hint\\": \\"无\\",\\n \\"Code\\": \\"preame\\",\\n \\"Must\\": false,\\n \\"Name\\": \\"无\\"\\n }\\n ],\\n \\"RichTextDescription\\": \\"无\\",\\n \\"ComplexityType\\": \\"SINGLE_STAGE\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '查询标签信息', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 22,\\n \\"Data\\": [\\n \\"{\\\\\\"createDate\\\\\\":\\\\\\"创建时间\\\\\\"}\\"\\n ],\\n \\"PageNo\\": 62\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], 'QueryUsageStatisticsByTagId' => [ 'summary' => '根据标签ID查询用量统计。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5172,67 +3742,32 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'BeginTime', 'in' => 'query', - 'schema' => [ - 'title' => '开始时间', - 'description' => '查询开始时间。', - 'type' => 'string', - 'required' => false, - 'example' => '20230308', - ], + 'schema' => ['title' => '开始时间', 'description' => '查询开始时间。', 'type' => 'string', 'required' => false, 'example' => '20230308'], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'title' => '结束时间', - 'description' => '查询结束时间。', - 'type' => 'string', - 'required' => false, - 'example' => '20230406', - ], + 'schema' => ['title' => '结束时间', 'description' => '查询结束时间。', 'type' => 'string', 'required' => false, 'example' => '20230406'], ], [ 'name' => 'TagId', 'in' => 'query', - 'schema' => [ - 'title' => '结束时间', - 'description' => '标签ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '89', - ], + 'schema' => ['title' => '结束时间', 'description' => '标签ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '89'], ], [ 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => '当前页码,默认:1', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '', 'description' => '当前页码,默认:1', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => '页面大小。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['title' => '', 'description' => '页面大小。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -5240,18 +3775,8 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D45CC751-34DF-5797-81FB-9A2ED6DC024B', - ], - 'Message' => [ - 'title' => '', - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['title' => '', 'description' => '请求ID。', 'type' => 'string', 'example' => 'D45CC751-34DF-5797-81FB-9A2ED6DC024B'], + 'Message' => ['title' => '', 'description' => '返回状态码描述。', 'type' => 'string', 'example' => 'OK'], 'Data' => [ 'title' => '', 'description' => '返回的数据内容。', @@ -5260,161 +3785,114 @@ 'description' => '返回的数据内容。', 'type' => 'object', 'properties' => [ - 'AuthorizationCode' => [ - 'title' => '授权码', - 'description' => '授权码。', - 'type' => 'string', - 'example' => 'g61I8UV5zd', - ], - 'SuccessTotal' => [ - 'title' => '查询成功号码数', - 'description' => '查询成功号码数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '93', - ], - 'FailTotal' => [ - 'title' => '查询失败号码数', - 'description' => '查询失败号码数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '71', - ], - 'TagName' => [ - 'title' => '标签名称', - 'description' => '标签名称。', - 'type' => 'string', - 'example' => '阿里云查询', - ], - 'SceneName' => [ - 'title' => '场景名称', - 'description' => '场景名称。', - 'type' => 'string', - 'example' => '电话回访1', - ], - 'Total' => [ - 'title' => '查询总号码数', - 'description' => '查询总号码数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '41', - ], - 'TagId' => [ - 'title' => '标签名称', - 'description' => '标签名称。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '69', - ], - 'PartnerId' => [ - 'title' => '客户 pid', - 'description' => '客户pid。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10000013****071', - ], - 'Id' => [ - 'title' => '授权码使用记录 id', - 'description' => '授权码使用记录ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4d32c9ef-c8b0-4d69-a437-cca5****185d', - ], - 'GmtDateStr' => [ - 'title' => '创建时间', - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '20230312', - ], - 'IndustryName' => [ - 'title' => '行业名称', - 'description' => '行业名称。', - 'type' => 'string', - 'example' => '家政安保', - ], + 'AuthorizationCode' => ['title' => '授权码', 'description' => '授权码。', 'type' => 'string', 'example' => 'g61I8UV5zd'], + 'SuccessTotal' => ['title' => '查询成功号码数', 'description' => '查询成功号码数。', 'type' => 'integer', 'format' => 'int64', 'example' => '93'], + 'FailTotal' => ['title' => '查询失败号码数', 'description' => '查询失败号码数。', 'type' => 'integer', 'format' => 'int64', 'example' => '71'], + 'TagName' => ['title' => '标签名称', 'description' => '标签名称。', 'type' => 'string', 'example' => '阿里云查询'], + 'SceneName' => ['title' => '场景名称', 'description' => '场景名称。', 'type' => 'string', 'example' => '电话回访1'], + 'Total' => ['title' => '查询总号码数', 'description' => '查询总号码数。', 'type' => 'integer', 'format' => 'int64', 'example' => '41'], + 'TagId' => ['title' => '标签名称', 'description' => '标签名称。', 'type' => 'integer', 'format' => 'int64', 'example' => '69'], + 'PartnerId' => ['title' => '客户 pid', 'description' => '客户pid。', 'type' => 'integer', 'format' => 'int64', 'example' => '10000013****071'], + 'Id' => ['title' => '授权码使用记录 id', 'description' => '授权码使用记录ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '4d32c9ef-c8b0-4d69-a437-cca5****185d'], + 'GmtDateStr' => ['title' => '创建时间', 'description' => '创建时间。', 'type' => 'string', 'example' => '20230312'], + 'IndustryName' => ['title' => '行业名称', 'description' => '行业名称。', 'type' => 'string', 'example' => '家政安保'], ], ], 'example' => '', ], - 'Code' => [ - 'title' => '', - 'description' => '请求状态码。 **OK**为成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => '表示是否调用成功。'."\n" - .'- true:调用成功。 '."\n" - .' - false:调用失败。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['title' => '', 'description' => '请求状态码。 **OK**为成功。', 'type' => 'string', 'example' => 'OK'], + 'Success' => ['title' => '', 'description' => '表示是否调用成功。'."\n" + .'- true:调用成功。 '."\n" + .' - false:调用失败。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D45CC751-34DF-5797-81FB-9A2ED6DC024B\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"AuthorizationCode\\": \\"g61I8UV5zd\\",\\n \\"SuccessTotal\\": 93,\\n \\"FailTotal\\": 71,\\n \\"TagName\\": \\"阿里云查询\\",\\n \\"SceneName\\": \\"电话回访1\\",\\n \\"Total\\": 41,\\n \\"TagId\\": 69,\\n \\"PartnerId\\": 0,\\n \\"Id\\": 0,\\n \\"GmtDateStr\\": \\"20230312\\",\\n \\"IndustryName\\": \\"家政安保\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => '根据标签ID查询用量统计', - ], - 'QueryTagApplyRule' => [ - 'summary' => '查询标签申请规则。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryUsageStatisticsByTagId'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryUsageStatisticsByTagId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D45CC751-34DF-5797-81FB-9A2ED6DC024B\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"AuthorizationCode\\": \\"g61I8UV5zd\\",\\n \\"SuccessTotal\\": 93,\\n \\"FailTotal\\": 71,\\n \\"TagName\\": \\"阿里云查询\\",\\n \\"SceneName\\": \\"电话回访1\\",\\n \\"Total\\": 41,\\n \\"TagId\\": 69,\\n \\"PartnerId\\": 0,\\n \\"Id\\": 0,\\n \\"GmtDateStr\\": \\"20230312\\",\\n \\"IndustryName\\": \\"家政安保\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'SaveContacts' => [ + 'summary' => '预警联系人保存。', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ - 'name' => 'TagId', + 'name' => 'BizType', 'in' => 'query', - 'schema' => [ - 'title' => '标签id', - 'description' => '标签ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '61', - ], + 'schema' => ['description' => '业务类型。固定取值:**contact**。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => 'dytns'], + ], + [ + 'name' => 'ContactName', + 'in' => 'query', + 'schema' => ['description' => '要绑定的联系人名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => '张光宇'], + ], + [ + 'name' => 'ContactEmail', + 'in' => 'query', + 'schema' => ['description' => '联系人邮箱', 'type' => 'string', 'required' => false, 'example' => '1234@alibaba-inc.com'], + ], + [ + 'name' => 'ContactPhone', + 'in' => 'query', + 'schema' => ['description' => '联系人电话', 'type' => 'string', 'required' => false, 'example' => '122354532434'], + ], + [ + 'name' => 'OpentAttributionWarning', + 'in' => 'query', + 'schema' => ['description' => '是否设置成功。取值:-**true**:设置成功。-**false**:未设置成功。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'OpenStatusWarning', + 'in' => 'query', + 'schema' => ['description' => '是否签入成功。取值:-**true**-**false**', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'MailStatus', + 'in' => 'query', + 'schema' => ['description' => '是否开启邮箱告警', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'PhoneStatus', + 'in' => 'query', + 'schema' => ['description' => '是否开启电话告警', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'], ], ], 'responses' => [ @@ -5422,277 +3900,275 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CC3BB6D2-****-****-9DCE-B38165CE4C47', - ], - 'Message' => [ - 'title' => '', - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'title' => '', - 'description' => '返回的数据内容。', - 'type' => 'object', - 'properties' => [ - 'NeedApplyMaterial' => [ - 'title' => '是否需要提供申请材料', - 'description' => '是否需要提供申请材料,取值:'."\n" - ."\n" - .'- 0:不需要。'."\n" - ."\n" - .'- 1:需要。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'EncryptedQuery' => [ - 'title' => '是否支持加密查询', - 'description' => '是否支持加密查询,取值:'."\n" - ."\n" - .'- 0:不支持。'."\n" - ."\n" - .'- 1:支持。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'SlaLink' => [ - 'title' => '服务协议链接', - 'description' => '服务协议链接。', - 'type' => 'string', - 'example' => 'example.aliyundoc.com', - ], - 'ApplyMaterialDesc' => [ - 'title' => '申请材料要求', - 'description' => '申请材料要求。NeedApplyMaterial=1时,返回该参数。', - 'type' => 'string', - 'example' => '申请材料的要求是XXX', - ], - 'AutoAudit' => [ - 'title' => '是否自动审批', - 'description' => '是否自动审批,取值:'."\n" - ."\n" - .'- 0:不自动审批。'."\n" - ."\n" - .'- 1:自动审批。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'ChargingStandardLink' => [ - 'title' => '计费标准说明链接', - 'description' => '计费标准说明链接。', - 'type' => 'string', - 'example' => 'aliyundoc.com', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '', - 'description' => '请求状态码。 **OK**表示成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => '是否成功。取值:'."\n" - ."\n" - .'- true:成功。'."\n" - ."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => '请求id。', 'type' => 'string', 'example' => '29E058D7-4B28-55EE-BE3B-61D5AE488A9E'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'Data' => ['description' => '接口调用成功后返回的结构体。', 'type' => 'string', 'example' => '1'], + 'Code' => ['description' => '请求状态码。*返回ok代表请求成功。*其他错误码详见[错误码列表](~~109196~~)。', 'type' => 'string', 'example' => 'OK'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => '0001', 'errorMessage' => 'test', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '保存联系人', + 'description' => '- 请确保在使用该接口前,已经完成号码百科业务的开通', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:SaveContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-****-****-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"NeedApplyMaterial\\": 1,\\n \\"EncryptedQuery\\": 0,\\n \\"SlaLink\\": \\"example.aliyundoc.com\\",\\n \\"ApplyMaterialDesc\\": \\"申请材料的要求是XXX\\",\\n \\"AutoAudit\\": 1,\\n \\"ChargingStandardLink\\": \\"aliyundoc.com\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '查询标签申请规则', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"29E058D7-4B28-55EE-BE3B-61D5AE488A9E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"1\\",\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], - 'QueryAvailableAuthCode' => [ - 'summary' => '查询可用的授权码。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ThreeElementsVerification' => [ + 'summary' => '三要素(姓名、手机号和身份证号)核验。用于比对用户填写的姓名、手机号、身份证号三个信息是否属于同一用户。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'get', + 'abilityTreeCode' => '136769', + 'abilityTreeNodes' => ['FEATUREdytns9WIVIU'], ], 'parameters' => [ [ - 'name' => 'TagId', + 'name' => 'AuthCode', + 'in' => 'query', + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], + ], + [ + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => '待检验的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为明文。'."\n" + .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" + .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '1390000****'], + ], + [ + 'name' => 'Mask', 'in' => 'query', 'schema' => [ - 'title' => '标签id', - 'description' => '标签ID。可通过调用[QueryTagListPage](~~QueryTagListPage~~)接口,查询标签ID值。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '22', + 'description' => '加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', + 'type' => 'string', + 'required' => true, + 'example' => 'MD5', + 'enum' => [], ], ], + [ + 'name' => 'CertCode', + 'in' => 'query', + 'schema' => ['description' => '待核验的身份证号。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为明文。'."\n" + .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" + .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '83d8040d3cb2181e04****dc6ff5566d4493876a4a5da782887446356b0a787e'], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => '待核验的姓名。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为明文。'."\n" + .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" + .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '阿里云'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6ADDCD31-6BC7-5913-A47F-E29A07E37FEE', - ], - 'Message' => [ - 'title' => '', - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。'."\n" + ."\n" + .'- **OK**:请求成功。'."\n" + .'- 其他错误码,请参见本章的错误码表。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], 'Data' => [ - 'title' => '', - 'description' => '返回的数据内容。', - 'type' => 'array', - 'items' => [ - 'description' => '返回的数据内容。', - 'type' => 'string', - 'example' => '[\'n81Q8M63rg\']', + 'description' => '结构体。', + 'type' => 'object', + 'properties' => [ + 'BasicCarrier' => ['description' => '基础运营商。取值:'."\n" + ."\n" + .'- **中国移动**。'."\n" + ."\n" + .'- **中国联通**。'."\n" + ."\n" + .'- **中国电信**。', 'type' => 'string', 'example' => '中国移动'], + 'IsConsistent' => ['description' => '验证结果是否一致。返回:'."\n" + ."\n" + .'- **1**:一致'."\n" + .'- **0**:不一致'."\n" + .'- **2**:查无'."\n" + .'>不同运营商、不同城市的数据更新时效,通常在T+1至T+3之间。'."\n" + .'不同的运营商手机号,在不同状态下,核验结果如下: '."\n" + ."\n" + .'|运营商/手机号状态|停机|空号|销号|'."\n" + .'|--|--|--|--|'."\n" + .'|中国移动|正常核验|查无|查无|'."\n" + .'|中国联通|正常核验|不一致|不一致|'."\n" + .'|中国电信|正常核验|查无|查无|', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], - 'example' => '', - ], - 'Code' => [ - 'title' => '', - 'description' => '请求状态码。 **OK**为成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'title' => '', - 'description' => '是否成功。取值:'."\n" - ."\n" - .'- true:成功。'."\n" - ."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', ], ], ], ], ], 'errorCodes' => [ + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => '该号码受运营商限制'], + ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'CertCodeIllegal', 'errorMessage' => 'Invalid CertCode value.', 'description' => '身份证号码格式错误'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => '号码与号码类型不匹配'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => '该标签申请单不存在,请重新更换授权码'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6ADDCD31-6BC7-5913-A47F-E29A07E37FEE\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n \\"[\'n81Q8M63rg\']\\"\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => '查询可用的授权码', - ], - 'ListContacts' => [ - 'summary' => '列表查询号码百科告警联系人。', - 'methods' => [ - 'post', + 'title' => '运营商三要素核验', + 'description' => '- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + .'- 当接口值返回值:Code=\'OK\' 且 IsConsistent != 2时计费,其他返回结果不计费。'."\n" + .'- 不支持虚商号码核验,虚商号码指170、171、162、165开头的号码。'."\n" + ."\n" + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ThreeElementsVerification'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:ThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Data\\": {\\n \\"BasicCarrier\\": \\"中国移动\\",\\n \\"IsConsistent\\": 1\\n }\\n}","type":"json"}]', + ], + 'TwoElementsVerification' => [ + 'summary' => '二要素(姓名和手机号)核验。用于比对用户填写的姓名、手机号两项信息是否属于同一用户。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', + 'abilityTreeCode' => '136682', + 'abilityTreeNodes' => ['FEATUREdytnsNQKUF2'], ], 'parameters' => [ [ - 'name' => 'BizType', + 'name' => 'AuthCode', + 'in' => 'query', + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在[号码百科控制台](https://dytns.console.aliyun.com/analysis/apply)**我的申请**页面,获取授权ID即授权码。', 'type' => 'string', 'required' => true, 'example' => 'QASDW@#**'], + ], + [ + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => '待检验的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为明文。'."\n" + .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" + .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '1390000****'], + ], + [ + 'name' => 'Mask', 'in' => 'query', 'schema' => [ - 'description' => '业务类型。固定取值:dytns。', + 'description' => '加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密'."\n" + ."\n" + .'- **MD5**'."\n" + ."\n" + .'- **SHA256**', 'type' => 'string', - 'required' => false, - 'example' => 'dytns', + 'required' => true, + 'example' => 'MD5', + 'enum' => [], ], ], [ - 'name' => 'ContactId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '联系人Id。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1298647', - ], + 'schema' => ['description' => '待核验的姓名。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为明文。'."\n" + .'- 若Mask取值为MD5,请将该字段做MD5加密。'."\n" + .'- 若Mask取值为SHA256,请将该字段做SHA256加密。'."\n" + ."\n" + .'><notice>加密字符串中字母不区分大小写。></notice>', 'type' => 'string', 'required' => true, 'example' => '阿里云'], ], ], 'responses' => [ @@ -5700,96 +4176,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求id。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => '请求状态码。-返回OK代表请求成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => '请求状态码。'."\n" + ."\n" + .'- **OK**:请求成功。'."\n" + ."\n" + .'- 其他错误码,请参见本章的错误码表。'."\n" + .'- **RequestFrequencyLimit**:因运营商限制,禁止在短时间内高频对同一个号码或姓名进行反复查询,如返回此错误码,请您稍后再试。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE****'], 'Data' => [ - 'description' => '联系人信息列表。', - 'type' => 'array', - 'items' => [ - 'description' => '联系人信息。', - 'type' => 'object', - 'properties' => [ - 'ContactId' => [ - 'description' => '联系人id。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ContactName' => [ - 'description' => '联系人名称。', - 'type' => 'string', - 'example' => '黄勇', - ], - 'ContactPhone' => [ - 'description' => '联系人手机号', - 'type' => 'string', - 'example' => '19211111111', - ], - 'ContactEmail' => [ - 'description' => '联系人邮箱', - 'type' => 'string', - 'example' => 'xxxx @alibaba-inc.com', - ], - 'OpentAttributionWarning' => [ - 'description' => '是否开启号码归属查询预警接收。'."\n" - .'取值:'."\n" - ."\n" - .'- **true**:表示已开启。'."\n" - ."\n" - .'- **false**:表示未开启。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'OpenStatusWarning' => [ - 'description' => '是否开启号码状态预警接收。'."\n" - .'取值:'."\n" - ."\n" - .'- **true**:开启。'."\n" - ."\n" - .'- **false**:未开启。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Main' => [ - 'description' => '主叫号码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'PhoneStatus' => [ - 'description' => '号码状态是否正常'."\n" - ."\n" - .'- 1 正常'."\n" - ."\n" - .'- 0 异常', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MailStatus' => [ - 'description' => '邮箱状态是否正常'."\n" - ."\n" - .'- 1 正常'."\n" - ."\n" - .'- 0 异常', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], + 'description' => '结构体。', + 'type' => 'object', + 'properties' => [ + 'IsConsistent' => ['description' => '验证结果是否一致。返回:'."\n" + ."\n" + .'- **1**:一致'."\n" + ."\n" + .'- **0**:不一致'."\n" + ."\n" + .'- **2**:查无'."\n" + ."\n" + .'不同运营商、不同城市的数据更新时效,通常在T+1至T+3之间。'."\n" + .'不同的运营商手机号,在不同状态下,核验结果如下: '."\n" + ."\n" + .'|运营商/手机号状态|停机|空号|销号|'."\n" + .'|--|--|--|--|'."\n" + .'|中国移动|正常核验|查无|查无|'."\n" + .'|中国联通|正常核验|不一致|不一致|'."\n" + .'|中国电信|正常核验|查无|查无|', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'BasicCarrier' => ['description' => '基础运营商。取值:'."\n" + ."\n" + .'- **中国移动**。'."\n" + ."\n" + .'- **中国联通**。'."\n" + ."\n" + .'- **中国电信**。'."\n" + ."\n" + .'><notice>暂时不支持中国广电的号码。></notice>', 'type' => 'string', 'example' => '中国移动'], ], ], ], @@ -5797,142 +4220,116 @@ ], ], 'errorCodes' => [ + 200 => [ + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'The number is limited by the operator.', 'description' => '该号码受运营商限制'], + ], 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'MobileNumberIllegal', 'errorMessage' => 'Wrong format of phone number', 'description' => '手机号码格式错误'], + ['errorCode' => 'EncyrptTypeIllegal', 'errorMessage' => 'The encryption type of the mobile phone number is illegal', 'description' => ''], + ['errorCode' => 'CarrierIllegal', 'errorMessage' => 'Illegal carrier type', 'description' => '运营商类型非法'], + ['errorCode' => 'AuthCodeNotExist', 'errorMessage' => 'The label application form does not exist, please replace the authorization code.', 'description' => '该标签申请单不存在,请重新更换授权码'], + ['errorCode' => 'MobileNumberTypeNotMatch', 'errorMessage' => 'The number and number type do not match.', 'description' => '号码与号码类型不匹配'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'Unknown', 'errorMessage' => 'Unknown error', 'description' => '未知异常'], + ['errorCode' => 'SystemError', 'errorMessage' => 'System error', 'description' => '系统异常'], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"ContactId\\": 0,\\n \\"ContactName\\": \\"黄勇\\",\\n \\"ContactPhone\\": \\"19211111111\\",\\n \\"ContactEmail\\": \\"xxxx @alibaba-inc.com\\",\\n \\"OpentAttributionWarning\\": true,\\n \\"OpenStatusWarning\\": true,\\n \\"Main\\": 0,\\n \\"PhoneStatus\\": 1,\\n \\"MailStatus\\": 1\\n }\\n ]\\n}","type":"json"}]', - 'title' => '列表查询号码百科告警联系人', - 'description' => '- 请确保在使用该接口前,已经完成号码百科业务的开通', - ], - 'SaveContacts' => [ - 'summary' => '预警联系人保存。', - 'methods' => [ - 'post', + 'title' => '运营商二要素核验', + 'description' => '- 请确保在使用本接口前,您已充分了解号码百科[产品定价](~~154751~~)。'."\n" + .'- 使用本接口前,请登录号码百科控制台,在[标签广场](https://dytns.console.aliyun.com/analysis/square)页面,找到对应的标签,单击**申请开通**,填写申请资料,审批通过后即可使用。'."\n" + .'- 当接口值返回值:Code="OK"且IsConsistent != 2时计费,其他返回结果不计费。'."\n" + .'- 不支持虚商号码核验,虚商号码指170、171、162、165开头的号码。'."\n" + ."\n" + .'### QPS限制'."\n" + .'本接口的单用户QPS限制为200次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TwoElementsVerification'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:TwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE****\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 1,\\n \\"BasicCarrier\\": \\"中国移动\\"\\n }\\n}","type":"json"}]', + ], + 'UAIDVerification' => [ + 'summary' => '根据运营商授权Token获取UAID。'."\n" + .'获取授权Token及其签名值请参考GetUAIDApplyTokenSign API文档。'."\n" + ."\n" + .'UAID为64个长度,前32个长度描述设备信息,后32个长度描述号码信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'get', + 'abilityTreeCode' => '195916', + 'abilityTreeNodes' => ['FEATUREdytnsQNXFTN'], ], 'parameters' => [ [ - 'name' => 'BizType', - 'in' => 'query', - 'schema' => [ - 'description' => '业务类型。固定取值:**contact**。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => 'dytns', - ], - ], - [ - 'name' => 'ContactName', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => '要绑定的联系人名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => '张光宇', - ], + 'schema' => ['description' => '外部流水号。', 'type' => 'string', 'required' => false, 'example' => 'b8b5b3a*******0b9893484fdf412c99'."\n"], ], [ - 'name' => 'ContactEmail', + 'name' => 'Carrier', 'in' => 'query', - 'schema' => [ - 'description' => '联系人邮箱', - 'type' => 'string', - 'required' => false, - 'example' => '1234@alibaba-inc.com', - ], + 'schema' => ['description' => '用户所处的运营商。取值:'."\n" + .'- **CM**:中国移动。'."\n" + .'- **CU**:中国联通。'."\n" + .'- **CT**:中国电信。', 'type' => 'string', 'required' => true, 'example' => 'CM'], ], [ - 'name' => 'ContactPhone', + 'name' => 'Token', 'in' => 'query', - 'schema' => [ - 'description' => '联系人电话', - 'type' => 'string', - 'required' => false, - 'example' => '122354532434', - ], + 'schema' => ['description' => '运营商授权Token。 '."\n" + .'> 获取授权Token及其签名值请参考GetUAIDApplyTokenSign API文档。', 'type' => 'string', 'required' => true, 'example' => 'MIGfMA0********3DQEBAQUAA4GNADCB'], ], [ - 'name' => 'OpentAttributionWarning', + 'name' => 'UserGrantId', 'in' => 'query', - 'schema' => [ - 'description' => '是否设置成功。取值:-**true**:设置成功。-**false**:未设置成功。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '用户授权码,代表用户已授权。值为不大于128位的唯一随机数即可。 '."\n" + ."\n" + .'<warning>集成时,建议在产品的隐私政策中加入UAID的隐私政策相关内容。</warning>', 'type' => 'string', 'required' => false, 'example' => 'Md****a3Em'], ], [ - 'name' => 'OpenStatusWarning', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '是否签入成功。取值:-**true**-**false**', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '授权码。'."\n" + ."\n" + .'> 在**号码分析服务**->[**标签广场**](https://dytns.console.aliyun.com/analysis/square)选择标签,提交使用申请,申请通过后,会获得该授权码。', 'type' => 'string', 'required' => true, 'example' => 'HwD97InG'], ], [ - 'name' => 'MailStatus', + 'name' => 'Ip', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启邮箱告警', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '公网IP地址,当运营商为联通(CU)时必传,兼容IPV4和IPV6地址。', 'type' => 'string', 'required' => false, 'example' => '2408:8440:308:29dc:ed00:c4ec:475c:25a4'], ], [ - 'name' => 'PhoneStatus', + 'name' => 'Province', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启电话告警', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '省份id,当运营商为联通(CU)时选传。与获取token时返回值中province字段保持一致。', 'type' => 'string', 'required' => false, 'example' => '1'], ], ], 'responses' => [ @@ -5940,72 +4337,63 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求id。', - 'type' => 'string', - 'example' => '29E058D7-4B28-55EE-BE3B-61D5AE488A9E', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177'], 'Data' => [ - 'description' => '接口调用成功后返回的结构体。', - 'type' => 'string', - 'example' => '1', - ], - 'Code' => [ - 'description' => '请求状态码。*返回ok代表请求成功。*其他错误码详见[错误码列表](~~109196~~)。', - 'type' => 'string', - 'example' => 'OK', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'Uaid' => ['description' => '获取到的UAID的值。', 'type' => 'string', 'example' => 'B1E0C1********9F757AF52A035'], + ], ], + 'Code' => ['description' => '请求状态码。取值:'."\n" + ."\n" + .'- **OK**:成功。', 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => '0001', - 'errorMessage' => 'test', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], + ], + ], + 'title' => '根据运营商授权Token获取UAID', + 'description' => '请确保在使用该接口前,已充分了解号码百科产品的收费方式和[价格](https://www.aliyun.com/price/product#/dytns/detail/dytns_penqbag_public_cn)。 '."\n" + ."\n" + .'根据运营商授权Token获取UAID。 '."\n" + .'获取授权Token及其签名值请参考GetUAIDApplyTokenSign API文档。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UAIDVerification'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:UAIDVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"29E058D7-4B28-55EE-BE3B-61D5AE488A9E\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"1\\",\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '保存联系人', - 'description' => '- 请确保在使用该接口前,已经完成号码百科业务的开通', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Data\\": {\\n \\"Uaid\\": \\"B1E0C1********9F757AF52A035\\"\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', ], 'UpdateContacts' => [ 'summary' => '预警联系人更新。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6016,9 +4404,7 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '35630', - 'abilityTreeNodes' => [ - 'FEATUREdytnsVCETJO', - ], + 'abilityTreeNodes' => ['FEATUREdytnsVCETJO'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -6026,104 +4412,55 @@ [ 'name' => 'ContactId', 'in' => 'query', - 'schema' => [ - 'description' => '要更新的联系人id。 可以通过ListContacts接口查询。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => '1194432', - ], + 'schema' => ['description' => '要更新的联系人id。 可以通过ListContacts接口查询。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => '1194432'], ], [ 'name' => 'ContactName', 'in' => 'query', - 'schema' => [ - 'description' => '设置的联系人名称。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'maximum' => '99999', - 'minimum' => '1', - 'example' => 'XXX', - ], + 'schema' => ['description' => '设置的联系人名称。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'maximum' => '99999', 'minimum' => '1', 'example' => 'XXX'], ], [ 'name' => 'ContactPhone', 'in' => 'query', - 'schema' => [ - 'description' => '联系人手机号', - 'type' => 'string', - 'required' => false, - 'example' => '192XXXXXXXX', - ], + 'schema' => ['description' => '联系人手机号', 'type' => 'string', 'required' => false, 'example' => '192XXXXXXXX'], ], [ 'name' => 'ContactEmail', 'in' => 'query', - 'schema' => [ - 'description' => '联系人邮箱', - 'type' => 'string', - 'required' => false, - 'example' => 'XXXX@alibaba-inc.com', - ], + 'schema' => ['description' => '联系人邮箱', 'type' => 'string', 'required' => false, 'example' => 'XXXX@alibaba-inc.com'], ], [ 'name' => 'OpentAttributionWarning', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启号码归属查询预警接收。取值:-**true**:表示已开启。-**false**:表示未开启。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否开启号码归属查询预警接收。取值:-**true**:表示已开启。-**false**:表示未开启。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'OpenStatusWarning', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启号码状态预警接收。'."\n" - .'取值:'."\n" - ."\n" - .'- **true**:开启。'."\n" - ."\n" - .'- **false**:未开启。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否开启号码状态预警接收。'."\n" + .'取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:未开启。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'PhoneStatus', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启电话预警 '."\n" - ."\n" - .'- 0 未开启'."\n" - ."\n" - .'- 1 开启', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '是否开启电话预警 '."\n" + ."\n" + .'- 0 未开启'."\n" + ."\n" + .'- 1 开启', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'MailStatus', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启邮箱预警'."\n" - ."\n" - .'- 0 未开启'."\n" - ."\n\n" - .'- 1 开启', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '是否开启邮箱预警'."\n" + ."\n" + .'- 0 未开启'."\n" + ."\n\n" + .'- 1 开启', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], ], 'responses' => [ @@ -6131,69 +4468,51 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求id。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Code' => [ - 'description' => '请求状态码。*返回ok代表请求成功。*其他错误码详见[错误码列表](~~109196~~)。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => '是否成功。取值:-**true**-**false**', - 'type' => 'boolean', - 'example' => 'false', - ], + 'RequestId' => ['description' => '请求id。', 'type' => 'string', 'example' => '68A40250-50CD-034C-B728-0BD******177'], + 'Code' => ['description' => '请求状态码。*返回ok代表请求成功。*其他错误码详见[错误码列表](~~109196~~)。', 'type' => 'string', 'example' => 'OK'], + 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK'], + 'Data' => ['description' => '是否成功。取值:-**true**-**false**', 'type' => 'boolean', 'example' => 'false'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', - ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', - ], + ['errorCode' => 'RequestTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequestSupplierError', 'errorMessage' => 'Request supplier error.', 'description' => '请求第三方服务异常。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": false\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '更新联系人', 'description' => '- 请确保在使用该接口前,已经完成号码百科业务的开通', - ], - 'DeleteContacts' => [ - 'summary' => '预警联系人删除。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:UpdateContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": false\\n}","type":"json"}]', + ], + 'VirtualThreeElementsVerification' => [ + 'summary' => '用于验证用户姓名、手机号和身份证号是否一致的API。', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -6202,495 +4521,740 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '35631', - 'abilityTreeNodes' => [ - 'FEATUREdytnsVCETJO', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREdytns9WIVIU'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'ContactId', + 'name' => 'AuthCode', 'in' => 'query', - 'schema' => [ - 'description' => '要删除的通知id。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '5454735262', - ], + 'schema' => ['description' => '授权码。说明:在号码百科控制台 我的申请 页面,获取授权 ID 即授权码。'."\n", 'type' => 'string', 'required' => true, 'example' => 'XXXXXX'], + ], + [ + 'name' => 'InputNumber', + 'in' => 'query', + 'schema' => ['description' => '待查询的号码。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为11位手机号码。', 'type' => 'string', 'required' => true, 'example' => '175XXXX6789'], + ], + [ + 'name' => 'Mask', + 'in' => 'query', + 'schema' => ['description' => '加密方式。取值:'."\n" + ."\n" + .'- **NORMAL**:不加密', 'type' => 'string', 'required' => true, 'example' => 'NROAML'], + ], + [ + 'name' => 'CertName', + 'in' => 'query', + 'schema' => ['description' => '待核验的姓名。', 'type' => 'string', 'required' => true, 'example' => 'XX'], + ], + [ + 'name' => 'CertCode', + 'in' => 'query', + 'schema' => ['description' => '待核验的身份证号。'."\n" + ."\n" + .'- 若Mask取值为NORMAL,该字段为明文。', 'type' => 'string', 'required' => true, 'example' => '身份证号'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '- **Code**:请求状态码。- OK:请求成功。- 其他错误码,请参见本章的错误码表。'."\n" + .'- **Message**:状态码的描述。'."\n" + .'- **RequestId**:请求 ID。'."\n" + .'- **Data**:结构体。'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求id。', - 'type' => 'string', - 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47', - ], - 'Code' => [ - 'description' => '请求状态码。-返回ok代表请求成功。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '状态码的描述。', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '-'], + 'RequestId' => ['description' => '请求 ID。'."\n", 'type' => 'string', 'example' => 'CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47'], + 'Message' => ['description' => '状态码的描述。'."\n", 'type' => 'string', 'example' => 'OK'], 'Data' => [ - 'description' => '是否成功。取值:'."\n" - ."\n" - .'- true'."\n" - ."\n" - .'- false', - 'type' => 'boolean', + 'description' => '结构体。'."\n", + 'type' => 'object', + 'properties' => [ + 'IsConsistent' => ['description' => '验证结果是否一致。返回:'."\n" + .'- 0:查无记录'."\n" + .'- 1:手机号、证件号、姓名一致'."\n" + .'- 2:不一致'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0'], + ], ], + 'Code' => ['description' => '请求状态码。'."\n" + .'- OK:请求成功。'."\n" + .'- 其他错误码,请参见本章的错误码表。'."\n", 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', - ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', - ], + ['errorCode' => 'AuthCodeIllegal', 'errorMessage' => 'Illegal authCode.', 'description' => '鉴权时使用的authcode不可用于该接口'], + ['errorCode' => 'AuthCodeAndApiNotMatch', 'errorMessage' => 'AuchCode和请求的Api不匹配', 'description' => 'AuchCode和请求的Api不匹配'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => '无效参数'], + ['errorCode' => 'OperatorLimit', 'errorMessage' => 'Number is limited by the operator.', 'description' => '运营商禁止查询的号码'], + ['errorCode' => 'MobileNumberNotSupported', 'errorMessage' => 'Mobile number is not supported. Only virtual carrier numbers (170/171/165/162/167) are accepted.', 'description' => '本接口只支持170/171/165/162/167号段的虚商号码查询'], ], 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', + ['errorCode' => 'SupplierTimeout', 'errorMessage' => 'Request vendor timeout.', 'description' => '请求供应商超时'], + ['errorCode' => 'RequsetTimeout', 'errorMessage' => 'Request supplier timed out.', 'description' => '请求供应商超时'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '虚商三要素核验', + 'description' => '## 请求说明'."\n" + .'- 本接口仅支持虚商号码,即手机号必须以170、171、165、162、167开头。'."\n" + .'- 当且仅当返回值中Code=\'OK\' 且 IsConsistent != 0时计费。'."\n" + .'- 使用前需在号码百科控制台申请开通对应标签,并获取授权码。'."\n" + .'- 目前加密方式仅支持不加密(NORMAL)。'."\n" + .'- 单用户QPS限制为100次/秒,超过将被限流。'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"-\\",\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"IsConsistent\\": 0\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => 'dytnsapi-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'dytnsapi.aliyuncs.com', 'endpoint' => 'dytnsapi.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'AuthCodeAndApiNotMatch', 'message' => 'AuchCode和请求的Api不匹配', 'http_code' => 400, 'description' => 'AuchCode和请求的Api不匹配'], + ['code' => 'AuthCodeIllegal', 'message' => 'Illegal authCode.', 'http_code' => 400, 'description' => '鉴权时使用的authcode不可用于该接口'], + ['code' => 'AuthCodeNotExist', 'message' => 'The label application form does not exist, please replace the authorization code.', 'http_code' => 400, 'description' => '该标签申请单不存在,请重新更换授权码'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code application failed and cannot be used.', 'http_code' => 400, 'description' => '授权码申请失败,不可使用'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code does not exist.', 'http_code' => 400, 'description' => '授权码不存在'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code is being applied and cannot be used.', 'http_code' => 400, 'description' => '授权码申请中,暂不可使用'], + ['code' => 'AuthCodeNotExist', 'message' => '该AuchCode不存在', 'http_code' => 400, 'description' => '该AuchCode不存在'], + ['code' => 'AuthCodeNotExist', 'message' => 'The authorization code is not found.', 'http_code' => 400, 'description' => '授权码不存在'], + ['code' => 'BIZ_NOT_OPEN_ERROR', 'message' => 'Users who have not opened this product.', 'http_code' => 400, 'description' => '未开通本产品的用户,无法调用本产品。'], + ['code' => 'CarrierIllegal', 'message' => 'Illegal carrier type', 'http_code' => 400, 'description' => '运营商类型非法'], + ['code' => 'CarrierIllegal', 'message' => '运营商类型非法', 'http_code' => 400, 'description' => '运营商类型非法'], + ['code' => 'CertCodeIllegal', 'message' => 'Invalid CertCode value.', 'http_code' => 400, 'description' => '身份证号码格式错误'], + ['code' => 'CERTIFY_TYPE_NEED_ENTERPRISE_ERROR', 'message' => 'This service is only available to enterprise users.', 'http_code' => 400, 'description' => '本服务仅支持企业用户开通。'], + ['code' => 'CUST_NOT_EXIST_ERROR', 'message' => 'customer not exist.', 'http_code' => 400, 'description' => '用户不存在。'], + ['code' => 'DateIllegal', 'message' => 'Invalid date format.', 'http_code' => 400, 'description' => '日期格式错误'."\0"], + ['code' => 'DateTimeIllegal', 'message' => '日期格式错误', 'http_code' => 400, 'description' => '日期格式错误'], + ['code' => 'DateTimeIllegal', 'message' => 'Date format error.', 'http_code' => 400, 'description' => '日期格式错误'], + ['code' => 'EncryptTypeIllegal', 'message' => 'Invalid encryption type.', 'http_code' => 400, 'description' => '加密类型错误'], + ['code' => 'EncyrptTypeIllegal', 'message' => 'The encryption type of the mobile phone number is illegal', 'http_code' => 500, 'description' => '手机号加密类型非法'], + ['code' => 'EncyrptTypeIllegal', 'message' => '加密类型错误', 'http_code' => 400, 'description' => '加密类型错误'], + ['code' => 'GreaterThanCurrentTime', 'message' => '日期不允许大于当前时间', 'http_code' => 400, 'description' => '日期不允许大于当前时间'], + ['code' => 'IdNumberIllegal', 'message' => '身份证号格式错误', 'http_code' => 400, 'description' => '身份证号格式错误'], + ['code' => 'InputParamIllegal', 'message' => 'Wrong format of input parameter', 'http_code' => 400, 'description' => '参数格式错误'], + ['code' => 'Insufficient.Balance', 'message' => 'You have an insufficient balance.', 'http_code' => 400, 'description' => '余额不足'], + ['code' => 'InternalError', 'message' => 'Activation timed out.', 'http_code' => 500, 'description' => '开通超时'], + ['code' => 'InternalError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => '系统异常'], + ['code' => 'InternalError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => '处理请求失败'], + ['code' => 'InvalidParameter', 'message' => 'The product is already activated.', 'http_code' => 400, 'description' => '产品已开通'], + ['code' => 'InvalidParameter', 'message' => 'Real-name authentication is not completed.', 'http_code' => 400, 'description' => '未完成实名认证'], + ['code' => 'InvalidParameter', 'message' => 'The specified mobile phone number is invalid.', 'http_code' => 400, 'description' => '非法号码'], + ['code' => 'InvalidParameter', 'message' => 'The maximum number of data records per query is exceeded. The maximum is 100.', 'http_code' => 400, 'description' => '一次性查询超过100行数据'], + ['code' => 'InvalidParameter', 'message' => 'The specified time range is invalid.', 'http_code' => 400, 'description' => '时间范围错误'], + ['code' => 'InvalidParameter', 'message' => 'Either StartTime or EndTime is invalid.', 'http_code' => 400, 'description' => '起始时间或结束时间非法'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => '参数异常'], + ['code' => 'InvalidParameter', 'message' => 'The customer information does not exist.', 'http_code' => 400, 'description' => '客户信息不存在'], + ['code' => 'InvalidParameter', 'message' => '请求参数非法', 'http_code' => 400, 'description' => '请求参数非法'], + ['code' => 'InvalidParameter', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => '无效参数'], + ['code' => 'isp.PORTABILITY_NUMBER_NOT_SUPPORTED', 'message' => 'Query for MNP numbers is not supported.', 'http_code' => 400, 'description' => '不支持携号转网的号码查询。'], + ['code' => 'isp.QPS_LIMIT', 'message' => 'The maximum query frequency is exceeded.', 'http_code' => 400, 'description' => '当前查询频率已达系统上限。'], + ['code' => 'isp.SYSTEM_ERROR', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => '系统错误。'], + ['code' => 'isp.UNKNOWN', 'message' => 'An error occurred due to unknown reasons.', 'http_code' => 400, 'description' => '系统返回了未知异常。'], + ['code' => 'isv.MOBILE_NUMBER_ILLEGAL', 'message' => 'The specified mobile phone number is invalid.', 'http_code' => 400, 'description' => '请求参数的手机号格式错误。'], + ['code' => 'MobileEncrypyionNotMatch', 'message' => 'The number and encryption type do not match.', 'http_code' => 400, 'description' => '号码与加密类型不匹配'], + ['code' => 'MobileNumberIllegal', 'message' => 'Wrong format of phone number', 'http_code' => 400, 'description' => '手机号码格式错误'], + ['code' => 'MobileNumberIllegal', 'message' => '手机号码格式错误', 'http_code' => 400, 'description' => '手机号码格式错误'], + ['code' => 'MobileNumberTypeIllegal', 'message' => 'Invalid number type.', 'http_code' => 400, 'description' => '号码类型错误'], + ['code' => 'MobileNumberTypeIllegal', 'message' => '号码类型错误', 'http_code' => 400, 'description' => '号码类型错误'], + ['code' => 'MobileNumberTypeNotMatch', 'message' => 'The number and number type do not match.', 'http_code' => 400, 'description' => '号码与号码类型不匹配'], + ['code' => 'MobileNumberTypeNotMatch', 'message' => '号码与号码类型不匹配', 'http_code' => 400, 'description' => '号码与号码类型不匹配'], + ['code' => 'MobileNumberTypeNotMatch', 'message' => 'The phone number and encryption type do not match.', 'http_code' => 400, 'description' => '手机号和所选加密方式不匹配'], + ['code' => 'NameIllegal', 'message' => 'Invalid name.', 'http_code' => 400, 'description' => '姓名格式错误'."\0"], + ['code' => 'OperatorLimit', 'message' => 'The number is limited by the operator.', 'http_code' => 200, 'description' => '该号码受运营商限制'], + ['code' => 'OperatorLimit', 'message' => 'The number is limited by the operator', 'http_code' => 200, 'description' => '运营商禁止查询的手机号'], + ['code' => 'OperatorLimit', 'message' => '运营商禁止查询的号码', 'http_code' => 200, 'description' => '运营商禁止查询的号码'], + ['code' => 'OperatorLimit', 'message' => 'Number is limited by the operator.', 'http_code' => 400, 'description' => '运营商禁止查询的号码'], + ['code' => 'OutOfService', 'message' => 'The ISV is out of service.', 'http_code' => 400, 'description' => '业务已停机'], + ['code' => 'Parameter.Error', 'message' => 'A parameter error occurred.', 'http_code' => 400, 'description' => '参数错误'], + ['code' => 'Permission.NotAuthorized', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 403, 'description' => '您没有权限执行此操作'], + ['code' => 'Permission.NotAuthorized', 'message' => 'Insufficient permissions. Please contact the primary account administrator.', 'http_code' => 403, 'description' => '权限不足,请联系主账号管理员'], + ['code' => 'Permission.NotAuthorized', 'message' => '您没有权限执行此操作', 'http_code' => 403, 'description' => '您没有权限执行此操作'], + ['code' => 'PhoneNumber.Illegal', 'message' => 'The specified phone number is illegal.', 'http_code' => 400, 'description' => '号码非法'], + ['code' => 'PhoneNumber.NoSupport', 'message' => 'Number query is not supported for number portability.', 'http_code' => 400, 'description' => '不支持携号转网号码查询'], + ['code' => 'PhoneNumber.QueryFail', 'message' => 'Failed to query the phone number.', 'http_code' => 400, 'description' => '查询号码失败'], + ['code' => 'PhoneNumber.QueryFail', 'message' => 'The specified mobile phone number cannot find the result.', 'http_code' => 400, 'description' => '指定的手机号查不到结果'], + ['code' => 'PhoneNumberNotfound', 'message' => 'The queried number is not found.', 'http_code' => 200, 'description' => '传入的手机号未查到归属结果'], + ['code' => 'PhoneNumberNotfound', 'message' => '传入的手机号查不到结果', 'http_code' => 200, 'description' => '传入的手机号查不到结果'], + ['code' => 'PortabilityNumberNotSupported', 'message' => 'Number portability is not supported', 'http_code' => 200, 'description' => '不支持携号转网'], + ['code' => 'PortabilityNumberNotSupported', 'message' => '不支持2021年6月前携号转网的号码查询', 'http_code' => 200, 'description' => '不支持2021年6月前携号转网的号码查询'], + ['code' => 'PortabilityNumberNotSupported', 'message' => '不支持携号转网的号码', 'http_code' => 200, 'description' => '不支持携号转网的号码'], + ['code' => 'Product.NotOrdered', 'message' => 'You have not ordered this product (offer).', 'http_code' => 400, 'description' => '未订购该产品'], + ['code' => 'Product.Unsubscript', 'message' => 'You have not subscribed to the specified product.', 'http_code' => 400, 'description' => '未订阅该功能'], + ['code' => 'Product.Unsubscript', 'message' => '未订阅该功能', 'http_code' => 400, 'description' => '未订阅该功能'], + ['code' => 'ProductNotSubscribed', 'message' => 'You have not subscribed to the specified product.', 'http_code' => 400, 'description' => '未订阅该功能'], + ['code' => 'Queries.Repeated', 'message' => 'You can only query phoneNumber once every 60 seconds.', 'http_code' => 400, 'description' => '60秒内重复查询'], + ['code' => 'Ram.CheckFailed', 'message' => 'You did not pass the RAM permission check.', 'http_code' => 400, 'description' => 'RAM权限校验失败'], + ['code' => 'Ram.CheckFailed', 'message' => 'You did not pass the ARM permission check.', 'http_code' => 400, 'description' => 'RAM权限校验失败'], + ['code' => 'Ram.PermissionDeny', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => '权限不足'], + ['code' => 'Ram.PermissionDeny', 'message' => '权限不足', 'http_code' => 400, 'description' => '权限不足'], + ['code' => 'RateIllegal', 'message' => 'Illegal threshold parameter', 'http_code' => 400, 'description' => '阈值参数非法'], + ['code' => 'RateIllegal', 'message' => 'Invalid ratio format.', 'http_code' => 400, 'description' => '比例格式错误'], + ['code' => 'RateIllegal', 'message' => '阈值参数非法。', 'http_code' => 400, 'description' => '阈值参数非法。'], + ['code' => 'RequestFrequencyLimit', 'message' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询', 'http_code' => 200, 'description' => '因运营商限制,禁止在短时间内高频对同一个号码进行反复查询'], + ['code' => 'RequestNumberNotfound', 'message' => '请求的号码查不到结果', 'http_code' => 200, 'description' => '请求的号码查不到结果'], + ['code' => 'RequestNumberNotfound', 'message' => 'The requested number cannot find result.', 'http_code' => 400, 'description' => '请求的号码查不到结果'], + ['code' => 'RequestNumberNotSupported', 'message' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询', 'http_code' => 200, 'description' => '不支持中国广电号码(192开头)和虚拟运营商号码的查询'], + ['code' => 'RequestNumberNotSupported', 'message' => '请求的号码不支持查询', 'http_code' => 200, 'description' => '请求的号码不支持查询'], + ['code' => 'RequestNumberNotSupported', 'message' => 'NotSupported this RequestNumber.', 'http_code' => 200, 'description' => '不支持中国广电号码(192 开头)、虚拟运营商、和其他运营商不支持查询的号码。'], + ['code' => 'RequestSupplierError', 'message' => 'Request supplier error.', 'http_code' => 500, 'description' => '请求第三方服务异常。'], + ['code' => 'RequestTimeout', 'message' => 'Request supplier timed out.', 'http_code' => 500, 'description' => '请求供应商超时'], + ['code' => 'RequsetTimeout', 'message' => 'Request supplier timed out.', 'http_code' => 500, 'description' => '请求供应商超时'], + ['code' => 'SupplierError', 'message' => '运营商或供应商系统异常', 'http_code' => 500, 'description' => '运营商或供应商系统异常'], + ['code' => 'SupplierError', 'message' => 'Operator or supplier system exception.', 'http_code' => 500, 'description' => '运营商或供应商系统异常.'], + ['code' => 'SupplierTimeout', 'message' => 'Request vendor timeout.', 'http_code' => 500, 'description' => '请求供应商超时'], + ['code' => 'System.LimitControl', 'message' => 'The system is under flow control.', 'http_code' => 400, 'description' => '系统限流控制'], + ['code' => 'System.LimitControl', 'message' => '流控错误', 'http_code' => 400, 'description' => '流控错误'], + ['code' => 'SystemError', 'message' => 'System error', 'http_code' => 500, 'description' => '系统异常'], + ['code' => 'SystemError', 'message' => 'An error occurred while processing your request.', 'http_code' => 500, 'description' => '请求过程中出现报错'], + ['code' => 'SystemError', 'message' => '系统异常', 'http_code' => 500, 'description' => '系统异常'], + ['code' => 'SystemError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => '系统错误'], + ['code' => 'TagNotExist', 'message' => 'The label does not exist.', 'http_code' => 400, 'description' => '标签不存在'], + ['code' => 'TagNotExist', 'message' => 'The business resource does not exist.', 'http_code' => 400, 'description' => '业务资源不存在'], + ['code' => 'TagNotExist', 'message' => '标签或业务资源不存在', 'http_code' => 400, 'description' => '标签或业务资源不存在'], + ['code' => 'TagNotExist', 'message' => 'The business resource does not exist.The label does not exist.', 'http_code' => 400, 'description' => '标签或业务资源不存在。'], + ['code' => 'ThresholdIllegal', 'message' => 'Please fill in the threshold range from 0 to 100 correctly.', 'http_code' => 400, 'description' => '请正确填写阈值范围0~100!'], + ['code' => 'Unknown', 'message' => 'Unknown error', 'http_code' => 500, 'description' => '未知异常'], + ['code' => 'Unknown', 'message' => '未知异常', 'http_code' => 500, 'description' => '未知异常'], + ['code' => 'Unknown.ResourceOwnerId', 'message' => 'The resource does not belong to the current user.', 'http_code' => 400, 'description' => '资源不属于当前用户'], + ['code' => 'Unknown.ResourceOwnerId', 'message' => '资源不属于当前用户', 'http_code' => 400, 'description' => '资源不属于当前用户'], + ['code' => 'UserNameIllegal', 'message' => '姓名格式错误', 'http_code' => 400, 'description' => '姓名格式错误'], + ['code' => 'USER_NOT_BY_CUST_ERROR', 'message' => 'Customers who have not opened this product.', 'http_code' => 400, 'description' => '未开通本产品的客户。'], + ['code' => 'USER_NOT_BY_CUST_ERROR', 'message' => 'Unable to obtain user information, please check whether opened this product.', 'http_code' => 400, 'description' => '无法获取用户的相关信息,请检查是否开通本产品'], + ['code' => 'MobileNumberNotSupported', 'message' => 'Mobile number is not supported. Only virtual carrier numbers (170/171/165/162/167) are accepted.', 'http_code' => 400, 'description' => '本接口只支持170/171/165/162/167号段的虚商号码查询'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'PhoneNumberStatusForPublic'], + ], + 'createdAt' => '2025-09-15T12:08:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'PhoneNumberStatusForPublic'], + ], + 'createdAt' => '2025-09-15T12:08:45.000Z', + 'description' => '', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoThreeElementVerification'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberEncrypt'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyTwoElementsVerification'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyFourElementsVerification'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CompanyThreeElementsVerification'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagListPage'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForPublic'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForVoice'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryUsageStatisticsByTagId'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForReal'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOnlineTime'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TwoElementsVerification'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUAIDApplyTokenSign'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysis'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ThreeElementsVerification'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UAIDVerification'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForAccount'], + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PhoneNumberStatusForSms'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagInfoBySelection'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEmptyNumber'], + ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberOperatorAttribute'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CertNoTwoElementVerification'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneTwiceTelVerify'], + ['threshold' => '800', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvalidPhoneNumberFilter'], + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePhoneNumberAnalysisAI'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryAvailableAuthCode'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryTagApplyRule'], + ], + ], + 'ram' => [ + 'productCode' => 'DYTNS', + 'productName' => '号码百科', + 'ramCodes' => ['dytns'], + 'ramLevel' => '服务级', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DescribePhoneTwiceTelVerify', + 'description' => '验证手机号是否为运营商二次放号的号码', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneTwiceTelVerify', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ], + ], + [ + 'apiName' => 'QueryTagListPage', + 'description' => '分页查询标签列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagListPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'HistoryThreeElementsVerification', + 'description' => '历史三要素核验', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:HistoryThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC3BB6D2-2FDF-4321-9DCE-B38165CE4C47\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": true\\n}","type":"json"}]', - 'title' => '删除联系人', - 'description' => '- 请确保在使用该接口前,已经完成号码百科业务的开通', - ], - 'QueryPackageTypeInfo' => [ - 'summary' => '套餐包类型信息查询。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'CompanyThreeElementsVerification', + 'description' => '企业三要素核验', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'QueryPackageTypeInfo', + 'description' => 'QueryPackageTypeInfo', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryPackageTypeInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DeleteContacts', + 'description' => '删除联系人', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:DeleteContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'QueryTaskList', + 'description' => '查询百科离线任务列表', 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTaskList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'ProductName', - 'in' => 'query', - 'schema' => [ - 'title' => '产品名称,如dysms', - 'description' => '产品名称,固定dytns', - 'type' => 'string', - 'required' => false, - 'example' => 'dytns', + [ + 'apiName' => 'UpdateContacts', + 'description' => '更新联系人', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:UpdateContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '', - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'Example', - ], - 'RequestId' => [ - 'title' => '', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'Example', - ], - 'Data' => [ - 'title' => '', - 'description' => '结构体。', - 'type' => 'object', - 'example' => '{"efactorVerification":"平台风控-二要素核验查询套餐包"}', - ], - 'Code' => [ - 'title' => '', - 'description' => '请求状态码。'."\n" - ."\n" - .'- 返回OK代表请求成功。'."\n" - ."\n" - .'- 其他错误码,请参见[错误码列表](~~109196~~)。'."\n", - 'type' => 'string', - 'example' => 'Example', - ], - 'Success' => [ - 'title' => '', - 'description' => '是否成功。取值:'."\n" - ."\n" - .'- true:成功。'."\n" - ."\n" - .'- false:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'CertNoTwoElementVerification', + 'description' => '身份证二要素核验', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoTwoElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', + [ + 'apiName' => 'UAIDVerification', + 'description' => '根据运营商授权Token获取UAID', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:UAIDVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', + ], + ], + [ + 'apiName' => 'InvalidPhoneNumberFilter', + 'description' => '过滤无效号码', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:InvalidPhoneNumberFilter', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', + ], + [ + 'apiName' => 'QueryUsageStatisticsByTagId', + 'description' => '根据标签ID查询用量统计', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryUsageStatisticsByTagId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', + ], + ], + [ + 'apiName' => 'QueryAvailableAuthCode', + 'description' => '查询可用的授权码', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryAvailableAuthCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ], + ], + [ + 'apiName' => 'DescribePhoneNumberAnalysis', + 'description' => '查询号码分析结果', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"Example\\",\\n \\"RequestId\\": \\"Example\\",\\n \\"Data\\": {\\n \\"efactorVerification\\": \\"平台风控-二要素核验查询套餐包\\"\\n },\\n \\"Code\\": \\"Example\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryPackageTypeInfo', - ], - 'QueryTaskList' => [ - 'summary' => '查询离线任务列表。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetUAIDApplyTokenSign', + 'description' => '获取UAID授权Token的签名值', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'dytns:GetUAIDApplyTokenSign', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeEmptyNumber', + 'description' => '手机号空号检测', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribeEmptyNumber', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'PhoneNumberStatusForPublic', + 'description' => '号码状态查询(通用场景)', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForPublic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'PhoneNumberEncrypt', + 'description' => '加密号码', 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberEncrypt', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'TaskName', - 'in' => 'query', - 'schema' => [ - 'description' => '任务名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'Example', + [ + 'apiName' => 'DescribePhoneNumberAnalysisAI', + 'description' => '号码AI分析服务', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberAnalysisAI', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'TagId', - 'in' => 'query', - 'schema' => [ - 'description' => '标签ID。可通过调用[QueryTagListPage](~~QueryTagListPage~~)接口,查询标签ID值。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '15', + ], + [ + 'apiName' => 'CompanyTwoElementsVerification', + 'description' => '企业二要素核验', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:CompanyTwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'TaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID。您可以调用DescribeTasks查看任务ID列表。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '91', + ], + [ + 'apiName' => 'SaveContacts', + 'description' => '保存联系人', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dytns:SaveContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小,最大值为1000。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', + ], + [ + 'apiName' => 'PhoneNumberStatusForAccount', + 'description' => '号码状态查询(账号验证场景)', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '当前位于第几页。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '80', + ], + [ + 'apiName' => 'PhoneNumberStatusForSms', + 'description' => '号码状态查询(短信业务场景)', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForSms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'TaskType', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '任务类型数组。', - 'type' => 'array', - 'items' => [ - 'description' => '- 0 过滤任务'."\n" - ."\n" - .'- 1 排序任务'."\n" - ."\n" - .'- 2 批量任务', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '[0]', - ], - 'required' => false, - 'example' => '', + ], + [ + 'apiName' => 'DescribePhoneNumberOperatorAttribute', + 'description' => '号码归属查询(加密版)', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOperatorAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'Result', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '结果列表', - 'type' => 'array', - 'items' => [ - 'description' => '- 0 运行中'."\n" - ."\n" - .'- 1 运行成功'."\n" - ."\n" - .'- 2 运行失败', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '[0]', - ], - 'required' => false, - 'example' => '', + ], + [ + 'apiName' => 'ThreeElementsVerification', + 'description' => '运营商三要素核验', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:ThreeElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '68A40250-50CD-034C-B728-0BD******177', - ], - 'Message' => [ - 'description' => '返回状态码描述。', - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => '返回结果。', - 'type' => 'object', - 'properties' => [ - 'TotalCount' => [ - 'description' => '总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '22', - ], - 'Data' => [ - 'description' => '结构体。', - 'type' => 'array', - 'items' => [ - 'description' => '结构体。', - 'type' => 'string', - 'example' => '{"createDate":"创建时间"}', - ], - 'example' => '', - ], - 'PageNo' => [ - 'description' => '当前页码。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '62', - ], - ], - ], - 'Code' => [ - 'description' => '请求状态码。取值:'."\n" - ."\n" - .'- **OK**:成功。'."\n" - .'- **isv.INVALID_PARAMETERS**:非法参数。'."\n" - .'- **isp.SYSTEM_ERROR**:网元系统异常。'."\n" - ."\n" - .'> 请求状态码详情请参见下表:状态码原因及解决方案。', - 'type' => 'string', - 'example' => 'OK', - ], - ], + [ + 'apiName' => 'DescribePhoneNumberOnlineTime', + 'description' => '在网时长查询', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:DescribePhoneNumberOnlineTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Invalid parameter.', + [ + 'apiName' => 'TwoElementsVerification', + 'description' => '运营商二要素核验', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:TwoElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'AuthCodeIllegal', - 'errorMessage' => 'Illegal authCode.', + ], + ], + [ + 'apiName' => 'PhoneNumberStatusForVoice', + 'description' => '号码状态查询(语音业务场景)', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForVoice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'RequestTimeout', - 'errorMessage' => 'Request supplier timed out.', + ], + [ + 'apiName' => 'CompanyFourElementsVerification', + 'description' => '企业四要素核验', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CompanyFourElementsVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'RequestSupplierError', - 'errorMessage' => 'Request supplier error.', + ], + ], + [ + 'apiName' => 'CertNoThreeElementVerification', + 'description' => '身份证三要素核验', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:CertNoThreeElementVerification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryTagInfoBySelection', + 'description' => '查询标签信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagInfoBySelection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'QueryTagApplyRule', + 'description' => '查询标签申请规则', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dytns:QueryTagApplyRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'PhoneNumberStatusForReal', + 'description' => '号码状态查询(风控检测场景)', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dytns:PhoneNumberStatusForReal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListContacts', + 'description' => '列表查询号码百科告警联系人', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dytns:ListContacts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'DYTNS', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"68A40250-50CD-034C-B728-0BD******177\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalCount\\": 22,\\n \\"Data\\": [\\n \\"{\\\\\\"createDate\\\\\\":\\\\\\"创建时间\\\\\\"}\\"\\n ],\\n \\"PageNo\\": 62\\n },\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '查询百科离线任务列表', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dytnsapi.aliyuncs.com', ], + 'resourceTypes' => [], ], ]; |
