From 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Sun, 12 Jul 2026 17:11:17 +0800 Subject: update APIs 20260712 --- data/en_us/dyplsapi/2017-05-25/api-docs.php | 15555 +++++++++++--------------- 1 file changed, 6232 insertions(+), 9323 deletions(-) (limited to 'data/en_us/dyplsapi') diff --git a/data/en_us/dyplsapi/2017-05-25/api-docs.php b/data/en_us/dyplsapi/2017-05-25/api-docs.php index 35eae38..65e7efc 100644 --- a/data/en_us/dyplsapi/2017-05-25/api-docs.php +++ b/data/en_us/dyplsapi/2017-05-25/api-docs.php @@ -1,250 +1,135 @@ '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dyplsapi', - 'version' => '2017-05-25', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dyplsapi', 'version' => '2017-05-25'], 'directories' => [ [ - 'id' => 204593, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'DeleteSecretAPhoneNoToCust', - 'QuerySecretAPhoneNoToCust', - 'CreateFixedNoAReport', - 'GetDyplsOSSInfoForUploadFile', - 'CreatePhoneNoAReport', - ], - ], - [ - 'id' => 126550, - 'title' => 'Number Binding', - 'type' => 'directory', - 'children' => [ - 'BindAxb', - 'BindAxn', - 'BindAxnExtension', - 'BindAxg', - 'BindBatchAxg', - 'UpdateSubscription', - 'UnbindSubscription', - ], - ], - [ - 'id' => 126560, - 'title' => 'Status Query', - 'type' => 'directory', - 'children' => [ - 'QuerySubscriptionDetail', - 'QuerySubsId', - 'QuerySecretNoDetail', - ], - ], - [ - 'id' => 192616, - 'title' => null, + 'children' => ['DeleteSecretAPhoneNoToCust', 'QuerySecretAPhoneNoToCust', 'CreateFixedNoAReport', 'GetDyplsOSSInfoForUploadFile', 'CreatePhoneNoAReport'], 'type' => 'directory', - 'children' => [ - 'CreateAxgGroup', - 'OperateAxgGroup', - 'DeleteAxgGroup', - ], + 'title' => 'Register actual user for number A', ], [ - 'id' => 126565, - 'title' => 'Recording and ASR acquisition', + 'children' => ['BindAxn', 'BindAxnExtension', 'BindBatchAxg'], 'type' => 'directory', - 'children' => [ - 'QueryRecordFileDownloadUrl', - 'GetTotalPublicUrl', - 'GetSecretAsrDetail', - ], + 'title' => 'Add number binding', ], [ - 'id' => 126575, - 'title' => 'number resource management', + 'children' => ['DeleteAxgGroup'], 'type' => 'directory', - 'children' => [ - 'AddSecretBlacklist', - 'DeleteSecretBlacklist', - 'OperateBlackNo', - 'QuerySecretNoRemain', - 'BuySecretNo', - 'ReleaseSecretNo', - 'LockSecretNo', - 'UnlockSecretNo', - ], + 'title' => 'Number group G', ], [ - 'id' => 126569, - 'title' => 'E-commerce logistics industry interface', + 'children' => ['UnBindAXB', 'BindXB', 'BindAXBCall', 'UnBindXB', 'QuerySoundRecord', 'CreateSmsSign', 'ListXTelephones', 'GetXConfig', 'ConfigX', 'GetXDefaultConfig'], 'type' => 'directory', - 'children' => [ - 'CreatePickUpWaybillPreQuery', - 'CreatePickUpWaybill', - 'CancelPickUpWaybill', - 'AddAxnTrackNo', - 'QueryPhoneNoAByTrackNo', - ], + 'title' => 'Work number', ], [ - 'id' => 199020, - 'title' => null, + 'children' => ['BindAxb700', 'BindGxb700', 'UpdateSubs700', 'UnbindSubs700'], 'type' => 'directory', - 'children' => [ - 'UnBindAXB', - 'BindXB', - 'BindAXBCall', - 'UnBindXB', - 'QuerySoundRecord', - 'CreateSmsSign', - 'ListXTelephones', - 'GetXConfig', - 'ConfigX', - 'GetXDefaultConfig', - ], + 'title' => '700', ], [ - 'id' => 320433, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'BindAxb700', - 'BindGxb700', - 'UpdateSubs700', - 'UnbindSubs700', + 'DeleteAxnExtensionBindFixedLine', 'UpdateAxnExtensionBindFixedLine', 'QueryAxbBindFixedLine', 'UpdateAxnBindFixedLine', 'UpdateAxbBindFixedLine', 'BindAxnExtensionFixedLine', 'QueryAxnBindFixedLine', 'DeleteAxnBindFixedLine', 'QueryAxnExtensionBindFixedLine', 'BindAxnFixedLine', 'BindAxbFixedLine', 'DeleteAxbBindFixedLine', 'AddAxnTrackNo', 'AddSecretBlacklist', 'BindAxb', 'BindAxg', 'BuySecretNo', 'CancelPickUpWaybill', 'CreateAxgGroup', 'CreatePickUpWaybill', + 'CreatePickUpWaybillPreQuery', 'DeleteSecretBlacklist', 'GetSecretAsrDetail', 'GetTotalPublicUrl', 'LockSecretNo', 'OperateAxgGroup', 'OperateBlackNo', 'QueryPhoneNoAByTrackNo', 'QueryRecordFileDownloadUrl', 'QuerySecretNoDetail', 'QuerySecretNoRemain', 'QuerySubsId', 'QuerySubscriptionDetail', 'ReleaseSecretNo', 'UnbindSubscription', 'UnlockSecretNo', 'UpdateSubscription', ], - ], - [ - 'id' => 205486, - 'title' => null, 'type' => 'directory', - 'children' => [ - 'DeleteAxnExtensionBindFixedLine', - 'UpdateAxnExtensionBindFixedLine', - 'QueryAxbBindFixedLine', - 'UpdateAxnBindFixedLine', - 'UpdateAxbBindFixedLine', - 'BindAxnExtensionFixedLine', - 'QueryAxnBindFixedLine', - 'DeleteAxnBindFixedLine', - 'QueryAxnExtensionBindFixedLine', - 'BindAxnFixedLine', - 'BindAxbFixedLine', - 'DeleteAxbBindFixedLine', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DeleteSecretAPhoneNoToCust' => [ - 'summary' => 'A号码报备数据删除', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'AddAxnTrackNo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '72606', + 'abilityTreeNodes' => ['FEATUREdyplsOMLRO6'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PhoneNoA', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'required' => true, - 'example' => '130*****1234', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC2235****', 'title' => ''], ], [ - 'name' => 'ANoWhiteGroupId', + 'name' => 'PhoneNoX', 'in' => 'query', - 'schema' => [ - 'title' => 'A号码组ID', - 'description' => 'A号码组ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '51', - ], + 'schema' => ['description' => 'The private number in the AXN binding, that is, phone number X.'."\n" + ."\n" + .'You can call the [BindAxn](~~110258~~) operation to obtain the value of PhoneNoX.'."\n", 'type' => 'string', 'required' => true, 'example' => '1700000****', 'title' => ''], + ], + [ + 'name' => 'trackNo', + 'in' => 'query', + 'schema' => ['description' => 'The tracking number.'."\n", 'type' => 'string', 'required' => true, 'example' => 'abcde*****', 'title' => ''], + ], + [ + 'name' => 'SubsId', + 'in' => 'query', + 'schema' => ['description' => 'The binding ID.'."\n" + ."\n" + .'You can call the [BindAxn](~~110258~~) operation to obtain the value of SubsId.'."\n", 'type' => 'string', 'required' => true, 'example' => '15678890****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'RequestId' => [ - 'title' => '返回id', - 'description' => '返回id', - 'type' => 'string', - 'example' => '1D73E648-0978-18A5-B089-3BB2', - ], - 'Message' => [ - 'title' => '失败错误提示', - 'description' => '失败错误提示', - 'type' => 'string', - 'example' => '号码组不存在', - ], - 'Data' => [ - 'title' => '删除是否成功', - 'description' => '删除是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'title' => '请求状态码', - 'description' => '请求状态码', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'title' => '请求是否成功', - 'description' => '请求是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1A4CADEF-8516-5890-9177-A1A4D97F****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"1A4CADEF-8516-5890-9177-A1A4D97F****\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'AddAxnTrackNo', + 'summary' => 'Adds a tracking number for a private number in the AXN binding.', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:AddAxnTrackNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"号码组不存在\\",\\n \\"Data\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'QuerySecretAPhoneNoToCust' => [ - 'summary' => 'A号码报备状态查询', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'AddSecretBlacklist' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -253,31 +138,60 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'riskType' => 'none', - 'chargeType' => 'free', + 'operationType' => 'create', + 'abilityTreeCode' => '72607', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], ], 'parameters' => [ [ - 'name' => 'PhoneNoA', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'required' => true, - 'example' => '130*****8888', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the Number Pool Management page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC2235****', 'title' => ''], ], [ - 'name' => 'ANoWhiteGroupId', + 'name' => 'BlackNo', + 'in' => 'query', + 'schema' => ['description' => 'The numbers in the blacklist. A point-to-point blacklist has a pair of numbers separated by a colon (:). A number pool blacklist has only one single number.'."\n" + ."\n" + .'> The asterisks (\\*) in the sample value are not wildcards.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1825638****:1825248****', 'title' => ''], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['description' => 'The blacklist remarks.'."\n", 'type' => 'string', 'required' => false, 'example' => '黑名单备注', 'title' => ''], + ], + [ + 'name' => 'BlackType', + 'in' => 'query', + 'schema' => ['description' => 'The blacklist type. Valid values:'."\n" + ."\n" + .'* **POINT_TO_POINT_BLACK**: point-to-point blacklist.'."\n" + .'* **PARTNER_GLOBAL_NUMBER_BLACK**: number pool blacklist.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'POINT_TO_POINT_BLACK', 'title' => ''], + ], + [ + 'name' => 'WayControl', 'in' => 'query', 'schema' => [ - 'title' => '号码组ID', - 'description' => '号码组ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '58', + 'description' => 'The control on the call direction.'."\n" + ."\n" + .'* **PHONEA_REJECT**: The first number in the blacklist can be used to call the second number, but the second number cannot be used to call the first number.'."\n" + .'* **PHONEB_REJECT**: The first number in the blacklist cannot be used to call the second number, but the second number can be used to call the first number.'."\n" + .'* If this parameter is left empty, the two numbers in the blacklist cannot be used to call each other.'."\n" + ."\n" + .'> This parameter is available only for a point-to-point blacklist.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* DUPLEX_REJECT'."\n" + .'* PHONEA_REJECT'."\n" + .'* PHONEB_REJECT'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PHONEA_REJECT', + 'enum' => ['DUPLEX_REJECT', 'PHONEA_REJECT', 'PHONEB_REJECT'], + 'title' => '', ], ], ], @@ -286,1222 +200,800 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'RequestId' => [ - 'title' => '返回id', - 'description' => '返回id', - 'type' => 'string', - 'example' => '1D73E648-0978-18A5-B089-3BB2', - ], - 'Message' => [ - 'title' => '失败错误提示', - 'description' => '失败错误提示', - 'type' => 'string', - 'example' => '号码组不存在', - ], - 'Data' => [ - 'title' => 'A号码报备状态查询结构体', - 'description' => 'A号码报备状态查询结构体', - 'type' => 'object', - 'properties' => [ - 'NoType' => [ - 'title' => '号码类型', - 'description' => '号码类型', - 'type' => 'string', - 'example' => 'Mobile', - ], - 'CustPhoneNo' => [ - 'title' => '固话报备的经办人/法人电话', - 'description' => '固话报备的经办人/法人电话', - 'type' => 'string', - 'example' => '130*****8888', - ], - 'ReportResult' => [ - 'title' => '报备失败原因', - 'description' => '报备失败原因', - 'type' => 'string', - 'example' => '["系统判断为不同人"]', - ], - 'ReportStatus' => [ - 'title' => '报备结果', - 'description' => '报备结果', - 'type' => 'string', - 'example' => 'REVIEWING', - ], - 'ANoWhiteGroupId' => [ - 'title' => '所属a号码组id', - 'description' => '所属a号码组id', - 'type' => 'string', - 'example' => '19', - ], - 'PhoneNoA' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'example' => '130*****1234', - ], - 'Remark' => [ - 'title' => '备注(客户自己的业务备注,可编辑)', - 'description' => '备注(客户自己的业务备注,可编辑)', - 'type' => 'string', - 'example' => '***报备', - ], - ], - ], - 'Code' => [ - 'title' => '请求状态码', - 'description' => '请求状态码', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'title' => '请求是否成功', - 'description' => '请求是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"号码组不存在\\",\\n \\"Data\\": {\\n \\"NoType\\": \\"Mobile\\",\\n \\"CustPhoneNo\\": \\"130*****8888\\",\\n \\"ReportResult\\": \\"[\\\\\\"系统判断为不同人\\\\\\"]\\",\\n \\"ReportStatus\\": \\"REVIEWING\\",\\n \\"ANoWhiteGroupId\\": \\"19\\",\\n \\"PhoneNoA\\": \\"130*****1234\\",\\n \\"Remark\\": \\"***报备\\"\\n },\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'CreateFixedNoAReport' => [ - 'summary' => '通过API收集小号a号码固话', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'RamPermissionDenied', 'errorMessage' => 'RAM permission is denied.', 'description' => ''], + ], ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n F655A8D5-B967-440B-8683-DAD6FF8DE990\\n","errorExample":""}]', + 'title' => 'AddSecretBlacklist', + 'summary' => 'Adds a blacklist.', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:AddSecretBlacklist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'BindAXBCall' => [ + 'summary' => 'Requests the work number platform to create a call binding relationship (B, X, A) for employee B\'s work number X, allowing employee B to call customer A through work number X.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '244980', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], 'parameters' => [ [ - 'name' => 'FixedNoA', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'title' => 'a号码(固话)', - 'description' => 'a号码(固话)', - 'type' => 'string', - 'required' => true, - 'example' => '89*****1234', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Ensure the atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'ANoWhiteGroupId', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'title' => '所属a号码组id', - 'description' => '所属a号码组id', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '12', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. The system automatically obtains this value. You do not need to specify it.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ - 'name' => 'DocumentType', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '证件类型 填写1表示身份证', - 'description' => '证件类型 填写1表示身份证', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['title' => '', 'description' => 'The number pool key.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'CustName', + 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'title' => '姓名', - 'description' => '姓名', - 'type' => 'string', - 'required' => true, - 'example' => '赵**', - ], + 'schema' => ['title' => '', 'description' => 'The phone number of customer A.', 'type' => 'string', 'required' => true, 'example' => '13*******43'], ], [ - 'name' => 'DocumentNumber', + 'name' => 'AuthId', 'in' => 'query', - 'schema' => [ - 'title' => '证件号码', - 'description' => '证件号码', - 'type' => 'string', - 'required' => true, - 'example' => '370*********', - ], + 'schema' => ['title' => '', 'description' => 'The unique ID of the BX binding relationship.', 'type' => 'string', 'required' => true, 'example' => '12353'], ], [ - 'name' => 'CustType', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'title' => '固话客户类型 1:法人,2:经办人', - 'description' => '固话客户类型 1:法人,2:经办人', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['title' => '', 'description' => 'The expiration time of the binding relationship. The value must be greater than 0. Unit: seconds. Binding time + expiration time = automatic unbinding time.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '7200'], ], [ - 'name' => 'FixedLineWorkId', + 'name' => 'UserData', 'in' => 'query', - 'schema' => [ - 'title' => '固话申请时服务大厅工单号', - 'description' => '固话申请时服务大厅工单号', - 'type' => 'string', - 'required' => false, - 'example' => '45***12', - ], + 'schema' => ['title' => '', 'description' => 'The pass-through parameter that you can customize.', 'type' => 'string', 'required' => false, 'example' => '000'], ], - [ - 'name' => 'IdCardFrontPhoto', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '身份证正面照片oss路径地址', - 'description' => '身份证正面照片oss路径地址', - 'type' => 'string', - 'required' => false, - 'example' => '123456/test1719383196031.jpg', + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The returned message.', 'type' => 'string', 'example' => '成功'], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'BindId' => ['title' => '', 'description' => 'The binding relationship ID.', 'type' => 'string', 'example' => '476567566'], + ], + 'example' => '', + 'description' => '', + 'title' => '', + ], + 'Code' => ['title' => '', 'description' => 'The returned status code. Valid values:'."\n" + ."\n" + .'- 0000: Success.'."\n" + ."\n" + .' Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: Success.'."\n" + ."\n" + .'- false: Failure.', 'type' => 'boolean', 'example' => 'true'], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'IdCardBackPhoto', - 'in' => 'query', - 'schema' => [ - 'title' => '身份证反面照片oss路径地址', - 'description' => '身份证反面照片oss路径地址', - 'type' => 'string', - 'required' => false, - 'example' => '123456/test1719383196032.jpg', - ], - ], - [ - 'name' => 'IdCardAlivePhoto', - 'in' => 'query', - 'schema' => [ - 'title' => '正面人像照片 OSS 路径地址', - 'description' => '正面人像照片 OSS 路径地址', - 'type' => 'string', - 'required' => true, - 'example' => '123456/test1719383196033.jpg', - ], - ], - [ - 'name' => 'Remark', - 'in' => 'query', - 'schema' => [ - 'title' => '备注(客户自己的业务备注,可编辑)', - 'description' => '备注(客户自己的业务备注,可编辑)', - 'type' => 'string', - 'required' => false, - 'example' => '***报备', - ], - ], - [ - 'name' => 'CustPhoneNo', - 'in' => 'query', - 'schema' => [ - 'title' => '经办人/法人电话', - 'description' => '经办人/法人电话', - 'type' => 'string', - 'required' => false, - 'example' => '130*****8888', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'RequestId' => [ - 'title' => '返回id', - 'description' => '返回id', - 'type' => 'string', - 'example' => '1D73E648-0978-18A5-B089-3BB2', - ], - 'Message' => [ - 'title' => '失败错误提示', - 'description' => '失败错误提示', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Data' => [ - 'title' => 'A号码报备结果结构体', - 'description' => 'A号码报备结果结构体', - 'type' => 'object', - 'properties' => [ - 'CreateResult' => [ - 'title' => '创建结果', - 'description' => '创建结果', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FailType' => [ - 'title' => '创建类型枚举,1为成功,负数为创建失败', - 'description' => '创建类型枚举,1为成功,负数为创建失败', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '请求状态码', - 'description' => '请求状态码', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'title' => '请求是否成功', - 'description' => '请求是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"BindId\\": \\"476567566\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'AXB call binding', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAXBCall', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"固话号码***已存在\\",\\n \\"Data\\": {\\n \\"CreateResult\\": true,\\n \\"FailType\\": 1\\n },\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'GetDyplsOSSInfoForUploadFile' => [ - 'summary' => '隐私号上传文件,获取 OSS 信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'BindAxb' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '72608', + 'abilityTreeNodes' => ['FEATUREdyplsU6B07Q'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'BizType', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'phone_card', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FC10000016848****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E2FD3B2F-5028-16E3-9F83-2F76F99B3873', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Policy' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'IjoiMjAyN*****9udGV', - ], - 'StartPath' => [ - 'description' => '', - 'type' => 'string', - 'example' => '123456', - ], - 'AccessKeyId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'LTAI***pSvPz', - ], - 'Signature' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'BXwW**********aoZH', - ], - 'Host' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'https://alicom-**********-cn-zhangjiakou.aliyuncs.com', - ], - 'ExpireTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1744613007', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + [ + 'name' => 'PhoneNoA', + 'in' => 'query', + 'schema' => ['description' => 'Phone number A in the AXB binding.'."\n" + ."\n" + .'Phone number A can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****0000', 'title' => ''], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"E2FD3B2F-5028-16E3-9F83-2F76F99B3873\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Policy\\": \\"IjoiMjAyN*****9udGV\\",\\n \\"StartPath\\": \\"123456\\",\\n \\"AccessKeyId\\": \\"YOUR_ACCESS_KEY_ID\\",\\n \\"Signature\\": \\"BXwW**********aoZH\\",\\n \\"Host\\": \\"https://alicom-**********-cn-zhangjiakou.aliyuncs.com\\",\\n \\"ExpireTime\\": \\"1744613007\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'CreatePhoneNoAReport' => [ - 'summary' => '通过API收集小号a号码手机号', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PhoneNoB', + 'in' => 'query', + 'schema' => ['description' => 'Phone number B in the AXB binding. If phone number A is used to call phone number X, the call is forwarded to phone number B. Phone number B can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n" + ."\n" + .'> If you need to update phone number B, call the [UpdateSubscription](~~110253~~) operation.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '136****0000', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'parameters' => [ [ - 'name' => 'PhoneNoA', + 'name' => 'PhoneNoX', 'in' => 'query', - 'schema' => [ - 'title' => '手机号', - 'description' => '手机号', - 'type' => 'string', - 'required' => true, - 'example' => '130*****1234', - ], + 'schema' => ['description' => 'Phone number X in the AXB binding.'."\n" + ."\n" + .'Phone number X is the phone number that you purchased in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) or by using the [BuySecretNo](~~110266~~) operation before you bind a phone number. Phone number X is used to forward calls.'."\n" + ."\n" + .'If you do not specify this parameter, a random phone number is selected from the phone number pool based on the value of the ExpectCity parameter and is used as phone number X.'."\n", 'type' => 'string', 'required' => false, 'example' => '171****1893', 'title' => ''], ], [ - 'name' => 'ANoWhiteGroupId', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'title' => '所属a号码组id', - 'description' => '所属a号码组id', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '19', - ], + 'schema' => ['description' => 'The expiration time of the AXB binding.'."\n" + ."\n" + .'> The expiration time must be more than 1 minute later than the time when you call this API operation.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2021-09-05 12:00:00', 'title' => ''], ], [ - 'name' => 'DocumentType', + 'name' => 'ExpectCity', 'in' => 'query', - 'schema' => [ - 'title' => '证件类型 填写1表示身份证', - 'description' => '证件类型 填写1表示身份证', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies the city to which phone number X to be selected belongs.'."\n" + ."\n" + .'* If no phone number for the specified city is available in the current phone number pool or this parameter is not specified, a phone number that belongs to another city is randomly selected from the current phone number pool and assigned as phone number X.'."\n" + .'* If**Number X Assignment Mode** is set to **Strict Matching Mode** and no phone number meets the requirement, the system displays an allocation error.'."\n", 'type' => 'string', 'required' => false, 'example' => '北京', 'title' => ''], ], [ - 'name' => 'CustName', + 'name' => 'IsRecordingEnabled', 'in' => 'query', - 'schema' => [ - 'title' => '姓名', - 'description' => '姓名', - 'type' => 'string', - 'required' => true, - 'example' => '赵**', - ], + 'schema' => ['description' => 'Specifies whether to record all calls made by the bound phone numbers. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'DocumentNumber', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'title' => '证件号码', - 'description' => '证件号码', - 'type' => 'string', - 'required' => true, - 'example' => '370*********', - ], + 'schema' => ['description' => 'The extension field for the external business. This parameter is returned in a call record receipt.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], ], [ - 'name' => 'IdCardFrontPhoto', + 'name' => 'OutOrderId', 'in' => 'query', - 'schema' => [ - 'title' => '身份证正面照片oss路径地址', - 'description' => '身份证正面照片oss路径地址', - 'type' => 'string', - 'required' => false, - 'example' => '123456/test1719383196031.jpg', - ], + 'schema' => ['description' => 'The ID of the external business.'."\n", 'type' => 'string', 'required' => false, 'example' => '34553330****', 'title' => ''], ], [ - 'name' => 'IdCardBackPhoto', + 'name' => 'CallRestrict', 'in' => 'query', 'schema' => [ - 'title' => '身份证反面照片oss路径地址', - 'description' => '身份证反面照片oss路径地址', + 'description' => 'The status of the one-way call restriction. Valid values:'."\n" + ."\n" + .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" + .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", 'type' => 'string', 'required' => false, - 'example' => '123456/test1719383196032.jpg', + 'example' => 'CONTROL_AX_DISABLE', + 'enum' => ['CONTROL_AX_DISABLE', 'CONTROL_BX_DISABLE', 'CONTROL_CLEAR_DISABLE'], + 'title' => '', ], ], [ - 'name' => 'IdCardAlivePhoto', + 'name' => 'CallDisplayType', 'in' => 'query', - 'schema' => [ - 'title' => '半身照oss路径地址', - 'description' => '半身照oss路径地址', - 'type' => 'string', - 'required' => true, - 'example' => '123456/test1719383196033.jpg示例值', - ], + 'schema' => ['description' => 'Re-sets the phone number display logic in the AXB binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" + ."\n" + .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Remark', + 'name' => 'RingConfig', 'in' => 'query', - 'schema' => [ - 'title' => '备注(客户自己的业务备注,可编辑)', - 'description' => '备注(客户自己的业务备注,可编辑)', - 'type' => 'string', - 'required' => false, - 'example' => '***报备', - ], + 'schema' => ['description' => 'Sets the ringtone code for enterprise Color Ring Back Tone (CRBT) in the AXB binding.'."\n" + ."\n" + .'* Ringtone setting when phone number A is used to call phone number X in the AXB binding: AXBRing_A'."\n" + .'* Ringtone setting when phone number B is used to call phone number X in the AXB binding: AXBRing_B'."\n" + ."\n" + .'Enterprise CRBT codes: Enterprise CRBT codes can be queried in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). You can choose **Number Pool Management** > **Enterprise CRBT Management** to view enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" + ."\n" + .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "AXBRing_B": "1000****1",'."\n" + .' "AXBRing_A": "1000****1"'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'ASRStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" + ."\n" + .'* **false** (default): disables ASR.'."\n" + .'* **true**: enables ASR.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ASRModelId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ASR model. On the [Automatic Speech Recognition (ASR) Model Management](https://dyplsnext.console.aliyun.com/?spm=5176.12818093.categories-n-products.ddypls.22e616d0a0tEFC#/asr) page, you can view the ID of the ASR model.'."\n", 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], + ], + [ + 'name' => 'CallTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The maximum ringing duration for each number in sequential ringing. Unit: seconds. The value ranges from 5 to 20.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '180', 'minimum' => '0', 'example' => '10秒', 'default' => '15', 'title' => ''], + ], + [ + 'name' => 'DtmfConfig', + 'in' => 'query', + 'schema' => ['description' => 'Specifies the dual tone multiple frequency (DTMF) key configuration in the AXB binding. The following content can be configured:'."\n" + ."\n" + .'* endCallIvrPhoneNo: for whom the audio is played, user A or user B.'."\n" + .'* waitingDtmfTime: the maximum waiting time after the first audio is played. The maximum waiting time is 30 seconds.'."\n" + .'* maxLoop: the maximum number of loop playback times of the first audio if the DTMF key is not matched. The maximum number of loop playback times is 5.'."\n" + .'* step1File: the name of the first audio.'."\n" + .'* step2File: the name of the second audio.'."\n" + .'* validKey: the valid key values, such as 1,2. Only two valid key values can be set, and the key values are separated by a comma (,).'."\n" + .'* waitingEndCall: The waiting duration to hang up a call. The waiting duration is allowed by a carrier. The maximum waiting duration is 10 seconds.'."\n", 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "endCallIvrPhoneNo":"A",'."\n" + .' "waitingDtmfTime":10,'."\n" + .' "maxLoop":3,'."\n" + .' "step1File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_1.wav",'."\n" + .' "step2File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_2.wav",'."\n" + .' "validKey":"1,2",'."\n" + .' "waitingEndCall":2'."\n" + .'}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'RequestId' => [ - 'title' => '返回id', - 'description' => '返回id', - 'type' => 'string', - 'example' => '1D73E648-0978-18A5-B089-3BB2', - ], - 'Message' => [ - 'title' => '失败错误提示', - 'description' => '失败错误提示', - 'type' => 'string', - 'example' => '手机号码***已存在', - ], - 'Data' => [ - 'title' => 'A号码报备结果结构体', - 'description' => 'A号码报备结果结构体', + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9297B722-A016-43FB-B51A-E54050******', 'title' => ''], + 'SecretBindDTO' => [ + 'description' => 'The information returned after the phone numbers were bound.'."\n", 'type' => 'object', 'properties' => [ - 'CreateResult' => [ - 'title' => '创建结果', - 'description' => '创建结果', - 'type' => 'boolean', - 'example' => 'true', - ], - 'FailType' => [ - 'title' => '创建类型枚举,1为成功,负数为创建失败', - 'description' => '创建类型枚举,1为成功,负数为创建失败', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'Extension' => ['description' => 'The extension of the phone number.'."\n" + ."\n" + .'> The BindAxb operation does not involve an extension. Ignore this parameter.'."\n", 'type' => 'string', 'example' => '130', 'title' => ''], + 'SubsId' => ['description' => 'The binding ID.'."\n", 'type' => 'string', 'example' => '100017838816****', 'title' => ''], + 'SecretNo' => ['description' => 'The private number, that is, phone number X.'."\n", 'type' => 'string', 'example' => '171****1893', 'title' => ''], ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'title' => '请求状态码', - 'description' => '请求状态码', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'title' => '请求是否成功', - 'description' => '请求是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"100017838816****\\",\\n \\"SecretNo\\": \\"171****1893\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n\\n 130\\n 170****0000\\n 10000007683*****\\n\\nOK\\n9297B722-A016-43FB-B51A-E54050D9369D\\nOK\\n","errorExample":""}]', + 'title' => 'BindAxb', + 'summary' => 'Adds an AXB binding.', + 'description' => 'Before you add an AXB binding, we recommend that you specify role A and role B in the AXB device certificate (ProductKey, DeviceName, and DeviceSecret) in your business scenario. For example, in a taxi-hailing scenario, role A is the passenger and role B is the driver.'."\n" + ."\n" + .'### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"手机号码***已存在\\",\\n \\"Data\\": {\\n \\"CreateResult\\": true,\\n \\"FailType\\": 1\\n },\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'BindAxb' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BindAxb700' => [ + 'summary' => 'Binds phone numbers for a 700AXB private number. A 700AXB private number restricts the calling relationship to a one-to-one relationship. User A can contact User B through the intermediate number X that starts with 700, and User B can also contact User A through the same intermediate number X.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72608', - 'abilityTreeNodes' => [ - 'FEATUREdyplsU6B07Q', - ], + 'abilityTreeCode' => '283900', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'FC5526*****', - ], + 'schema' => ['description' => 'The key of the China 700 number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC2258****', 'title' => ''], ], [ - 'name' => 'PhoneNoA', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number A in the AXB binding.'."\n" - ."\n" - .'Phone number A can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'The expiration time of the number binding.'."\n" + ."\n" + .'> - The expiration time must be at least 1 minute later than the current binding time, accurate to the second.'."\n" + .'>- You can manually unbind the number at any time before the binding expires.'."\n" + .'>- If you unbind a number that is in an active call, the current call is not affected.', 'type' => 'string', 'required' => true, 'example' => '2021-09-05 12:00:00', 'title' => ''], ], [ - 'name' => 'PhoneNoB', + 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number B in the AXB binding. If phone number A is used to call phone number X, the call is forwarded to phone number B. Phone number B can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n" - ."\n" - .'> If you need to update phone number B, call the [UpdateSubscription](~~110253~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'The phone number of user A.', 'type' => 'string', 'required' => true, 'example' => '139****0000', 'title' => ''], ], [ - 'name' => 'PhoneNoX', + 'name' => 'TelB', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number X in the AXB binding.'."\n" - ."\n" - .'Phone number X is the phone number that you purchased in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) or by using the [BuySecretNo](~~110266~~) operation before you bind a phone number. Phone number X is used to forward calls.'."\n" - ."\n" - .'If you do not specify this parameter, a random phone number is selected from the phone number pool based on the value of the ExpectCity parameter and is used as phone number X.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'The phone number of user B.', 'type' => 'string', 'required' => true, 'example' => '136****0000', 'title' => ''], ], [ - 'name' => 'Expiration', + 'name' => 'TelX', 'in' => 'query', - 'schema' => [ - 'description' => 'The expiration time of the AXB binding.'."\n" - ."\n" - .'> The expiration time must be more than 1 minute later than the time when you call this API operation.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2021-09-05 12:00:00', - ], + 'schema' => ['description' => 'Optional. The intermediate number X.'."\n" + .'> - If the caller does not specify an X number,'."\n" + .'> - the platform assigns a number from the number pool as the X number.', 'type' => 'string', 'required' => false, 'example' => '700********0000', 'title' => ''], ], [ - 'name' => 'ExpectCity', + 'name' => 'NeedRecord', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the city to which phone number X to be selected belongs.'."\n" - ."\n" - .'* If no phone number for the specified city is available in the current phone number pool or this parameter is not specified, a phone number that belongs to another city is randomly selected from the current phone number pool and assigned as phone number X.'."\n" - .'* If**Number X Assignment Mode** is set to **Strict Matching Mode** and no phone number meets the requirement, the system displays an allocation error.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou', - ], + 'schema' => ['description' => 'Specifies whether call recording files are required for all calls made through this number binding. Valid values:'."\n" + ."\n" + .'- true: Enable recording.'."\n" + ."\n" + .'- false: Disable recording (default).', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'IsRecordingEnabled', + 'name' => 'RecType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to record all calls made by the bound phone numbers. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The recording file format. Valid values: mp3 and wav.', 'type' => 'string', 'required' => false, 'example' => 'mp3', 'title' => ''], ], [ - 'name' => 'OutId', + 'name' => 'CallRestrict', 'in' => 'query', - 'schema' => [ - 'description' => 'The extension field for the external business. This parameter is returned in a call record receipt.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['description' => 'The one-way call restriction logic. Valid values:'."\n" + ."\n" + .'- CONTROL_AX_DISABLE: Number A cannot call number X.'."\n" + ."\n" + .'- CONTROL_BX_DISABLE: Number B cannot call number X.', 'type' => 'string', 'required' => false, 'example' => 'CONTROL_AX_DISABLE', 'title' => ''], ], [ - 'name' => 'OutOrderId', + 'name' => 'Audio', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the external business.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '34553330****', - ], + 'schema' => ['description' => 'The audio prompt encoding.'."\n" + ."\n" + .'- ACallX_Apre: The audio prompt encoding played to A before the call is connected when A calls X.'."\n" + .'- ACallX_Ain: The audio prompt encoding played to A after the call is connected when A calls X.'."\n" + .'- ACallX_Bin: The audio prompt encoding played to B after the call is connected when A calls X.'."\n" + .'- BCallX_Bpre: The audio prompt encoding played to B before the call is connected when B calls X.'."\n" + .'- BCallX_Ain: The audio prompt encoding played to A after the call is connected when B calls X.'."\n" + .'- BCallX_Bin: The audio prompt encoding played to B after the call is connected when B calls X.', 'type' => 'string', 'required' => false, 'example' => ' {'."\n" + .'"ACallX_Apre":"185"'."\n" + .'}', 'title' => ''], ], [ - 'name' => 'CallRestrict', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the one-way call restriction. Valid values:'."\n" - ."\n" - .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" - .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', - 'enum' => [ - 'CONTROL_AX_DISABLE', - 'CONTROL_BX_DISABLE', - 'CONTROL_CLEAR_DISABLE', - ], - ], + 'schema' => ['description' => 'The business order code.'."\n" + ."\n" + .'- This code has a one-to-one mapping with the actual business order and must be unique.'."\n" + ."\n" + .'- The code supports characters such as "." and "/" as domain separators. The code must not contain non-printable characters such as spaces or line breaks.'."\n" + ."\n" + .'- This field is required when the caller submits a business order code and the platform generates an industrial Internet identifier code.'."\n" + .'> '."\n" + .'> - Either OrderId or IndustrialId is required depending on the business scenario.', 'type' => 'string', 'required' => false, 'example' => '12345678', 'title' => ''], ], [ - 'name' => 'CallDisplayType', + 'name' => 'IndustrialId', 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the phone number display logic in the AXB binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" - ."\n" - .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The industrial Internet identifier code, which has a one-to-one mapping with OrderId.'."\n" + ."\n" + .'The code supports characters such as "." and "/" as domain separators. The code must not contain non-printable characters such as spaces or line breaks.'."\n" + ."\n" + .'This field is required when the caller generates the industrial Internet identifier code independently.'."\n" + ."\n" + .'> '."\n" + .'> - Either OrderId or IndustrialId is required depending on the business scenario.', 'type' => 'string', 'required' => false, 'example' => '700.100.1/12345678', 'title' => ''], ], [ - 'name' => 'RingConfig', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => 'Sets the ringtone code for enterprise Color Ring Back Tone (CRBT) in the AXB binding.'."\n" - ."\n" - .'* Ringtone setting when phone number A is used to call phone number X in the AXB binding: AXBRing_A'."\n" - .'* Ringtone setting when phone number B is used to call phone number X in the AXB binding: AXBRing_B'."\n" - ."\n" - .'Enterprise CRBT codes: Enterprise CRBT codes can be queried in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). You can choose **Number Pool Management** > **Enterprise CRBT Management** to view enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" - ."\n" - .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"AXBRing_B":"1000****1","AXBRing_A":"1000****1"}', - ], + 'schema' => ['description' => 'The external business extension field. This parameter is returned in the call record receipt message.', 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], ], [ - 'name' => 'ASRStatus', + 'name' => 'OutOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" - ."\n" - .'* **false** (default): disables ASR.'."\n" - .'* **true**: enables ASR.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The external business ID.', 'type' => 'string', 'required' => false, 'example' => 'abcdefgh', 'title' => ''], ], [ - 'name' => 'ASRModelId', + 'name' => 'NeedAsr', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ASR model. On the [Automatic Speech Recognition (ASR) Model Management](https://dyplsnext.console.aliyun.com/?spm=5176.12818093.categories-n-products.ddypls.22e616d0a0tEFC#/asr) page, you can view the ID of the ASR model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', - ], + 'schema' => ['description' => 'Specifies whether to enable the ASR service. Valid values:'."\n" + ."\n" + .'- false: Disable (default).'."\n" + ."\n" + .'- true: Enable.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'AsrModelId', + 'in' => 'query', + 'schema' => ['description' => 'Optional. The ASR model ID. Valid values:'."\n" + ."\n" + .'- General-Phone-Mandarin model ID: 7ee372834d2f4cc7ac0d0ab2d0ae1aac'."\n" + .'- General-Phone-Cantonese model ID: 9b4afe3d224e4fa3bf963697113e2f77'."\n" + .'- General-Phone-Regional Accent model ID: 3655a6cb94764145a1f9a38a3c3b3b4b.', 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], ], [ 'name' => 'CallTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum ringing duration for each number in sequential ringing. Unit: seconds. The value ranges from 5 to 20.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '180', - 'minimum' => '0', - 'example' => '10', - 'default' => '15', - ], + 'schema' => ['description' => 'The sequential ringing duration. Unit: seconds. Valid values: 5 to 20.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'DtmfConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the dual tone multiple frequency (DTMF) key configuration in the AXB binding. The following content can be configured:'."\n" - ."\n" - .'* endCallIvrPhoneNo: for whom the audio is played, user A or user B.'."\n" - .'* waitingDtmfTime: the maximum waiting time after the first audio is played. The maximum waiting time is 30 seconds.'."\n" - .'* maxLoop: the maximum number of loop playback times of the first audio if the DTMF key is not matched. The maximum number of loop playback times is 5.'."\n" - .'* step1File: the name of the first audio.'."\n" - .'* step2File: the name of the second audio.'."\n" - .'* validKey: the valid key values, such as 1,2. Only two valid key values can be set, and the key values are separated by a comma (,).'."\n" - .'* waitingEndCall: The waiting duration to hang up a call. The waiting duration is allowed by a carrier. The maximum waiting duration is 10 seconds.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "endCallIvrPhoneNo":"A",'."\n" - .' "waitingDtmfTime":10,'."\n" - .' "maxLoop":3,'."\n" - .' "step1File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_1.wav",'."\n" - .' "step2File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_2.wav",'."\n" - .' "validKey":"1,2",'."\n" - .' "waitingEndCall":2'."\n" - .'}', - ], + 'schema' => ['description' => 'Optional. The DTMF key configuration for 700AXB number binding. The following items can be configured:'."\n" + ."\n" + .'- endCallIvrPhoneNo: The audio playback target, A or B.'."\n" + .'- waitingDtmfTime: The maximum wait time after the first audio file is played. Maximum value: 30 seconds.'."\n" + .'- maxLoop dtmf: The maximum number of times the first audio file is replayed when a key press does not match. Maximum value: 5.'."\n" + .'- step1File: The name of the first audio file.'."\n" + .'- step2File: The name of the second audio file.'."\n" + .'- validKey: The valid key values, such as 1,2. Only two valid key values can be configured, separated by commas (,).'."\n" + .'- waitingEndCall: The carrier hang-up wait time. Maximum value: 10 seconds.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "endCallIvrPhoneNo":"A",'."\n" + .' "waitingDtmfTime":10,'."\n" + .' "maxLoop":3,'."\n" + .' "step1File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_1.wav",'."\n" + .' "step2File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_2.wav",'."\n" + .' "validKey":"1,2",'."\n" + .' "waitingEndCall":2'."\n" + .'}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050D9369D', - ], - 'SecretBindDTO' => [ - 'description' => 'The information returned after the phone numbers were bound.'."\n", + 'AccessDeniedDetail' => ['description' => 'The access denied details.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9297B722-A016-43FB-B51A-E54050******', 'title' => ''], + 'Message' => ['description' => 'The description.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Extension' => [ - 'description' => 'The extension of the phone number.'."\n" - ."\n" - .'> The BindAxb operation does not involve an extension. Ignore this parameter.'."\n", - 'type' => 'string', - 'example' => '130', - ], - 'SubsId' => [ - 'description' => 'The binding ID.'."\n", - 'type' => 'string', - 'example' => '1**************3', - ], - 'SecretNo' => [ - 'description' => 'The private number, that is, phone number X.'."\n", - 'type' => 'string', - 'example' => '139****0000', - ], + 'SecretNo' => ['description' => 'The purchased 700 private number, which is the X number.', 'type' => 'string', 'example' => '700********0001', 'title' => ''], + 'SubsId' => ['description' => 'The number binding ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '123*******', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The response code. Valid values:'."\n" + .'- OK: The request was successful.'."\n" + .' Other values indicate failure.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" + .'- true: Successful.'."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"100017838816****\\",\\n \\"SecretNo\\": \\"171****1893\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n\\n 130\\n 170****0000\\n 10000007683*****\\n\\nOK\\n9297B722-A016-43FB-B51A-E54050D9369D\\nOK\\n","errorExample":""}]', - 'title' => 'BindAxb', - 'summary' => 'Adds an AXB binding.', - 'description' => 'Before you add an AXB binding, we recommend that you specify role A and role B in the AXB device certificate (ProductKey, DeviceName, and DeviceSecret) in your business scenario. For example, in a taxi-hailing scenario, role A is the passenger and role B is the driver.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"SecretNo\\": \\"700********0001\\",\\n \\"SubsId\\": 0\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Bind numbers for 700AXB private number', + 'description' => 'Before invoking this operation, make sure that you have purchased a private number in the console.'."\n" + .'You can use this operation to attach numbers for a 700AXB private number, or attach A and B numbers for a 700AXB private number on the Number Management page in the console.'."\n" + .'Before attaching numbers for a 700AXB private number, determine the A role and B role in your business scenario. For example, in a ride-hailing scenario, A is the passenger and B is the driver.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'The 700AXB private number is mainly used for privacy protection in one-to-one scenarios. You attach number A and number B through the Phone Number Protection service. When A calls X, the call is forwarded to B. When B calls X, the call is forwarded to A. A single X number can be reused by up to 200 binding pairs, such as A1XB1, A2XB2, A3XB3, and so on. As long as the phone numbers of A and B users are unique, a single X number can be bound to 200 groups of phone numbers simultaneously, and calls can also be made simultaneously.'."\n" ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'BindAxn' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'QPS limit'."\n" + ."\n" + .'The single-user QPS limit for this operation is 5,000 calls per second. Exceeding this limit will cause throttling, which may affect your business. Invoke this operation appropriately.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + 'ramActions' => [], + ], + 'BindAxbFixedLine' => [ + 'summary' => 'The fixed-line AXB privacy number binding restricts the calling relationship to a one-to-one relationship. User A can contact User B through the fixed-line intermediate number X, and User B can also contact User A through the intermediate number X. The fixed-line privacy number service is currently available by invitation only. Please contact your technical support to activate the service and obtain integration support.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72610', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '271000', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', - 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console ](https://dypls.console.aliyun.com/dypls.htm#/account)and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'FC2256****', - ], - ], - [ - 'name' => 'PhoneNoA', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number A in the AXN binding. Phone number A can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '139****0000', - ], + 'schema' => ['title' => '', 'description' => 'Number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****', 'default' => ''], ], [ - 'name' => 'PhoneNoB', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number B in the AXN binding. If phone number A is used to call phone number X, the call is forwarded to phone number B. Phone number B can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n" - ."\n" - .'> If phone number B is not specified in the AXN binding, the system automatically generates a nonexistent number. If phone number A is used to call phone number X, the nonexistent number is returned. If you need to update phone number B, call the [UpdateSubscription](~~110253~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '138****0000', - ], + 'schema' => ['title' => '', 'description' => 'Business timestamp, in the format yyyyMMddHHmmssSSS. The time uses Beijing time, 24-hour clock, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'PhoneNoX', + 'name' => 'BindType', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number X in the AXN binding. Phone number X is the phone number that you purchased in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) or by using the [BuySecretNo](~~110266~~) operation before you bind a phone number. Phone number X is used to forward calls.'."\n" - ."\n" - .'> If you do not specify this parameter, a random phone number is selected from the phone number pool based on the value of the ExpectCity parameter and is used as phone number X.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139****0000', - ], + 'schema' => ['title' => '', 'description' => 'Binding type. Valid values:'."\n" + ."\n" + .'- mode101: Customer specifies the X number.'."\n" + ."\n" + .'- mode102: Platform allocates the X number.', 'type' => 'string', 'required' => true, 'example' => 'mode101'], ], [ - 'name' => 'Expiration', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The expiration time of the AXN binding. Unit: seconds.'."\n" - ."\n" - .'> The expiration time must be more than 60 seconds later than the time when you call this API operation.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2021-09-05 12:00:00', - ], + 'schema' => ['title' => '', 'description' => 'Unique identifier for the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], [ - 'name' => 'ExpectCity', + 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the city to which phone number X to be selected belongs.'."\n" - ."\n" - .'* If no phone number for the specified city is available in the current phone number pool or this parameter is not specified, a phone number that belongs to another city is randomly selected from the current phone number pool and assigned as phone number X.'."\n" - .'* If **Number X Assignment Mode** is set to **Strict Matching Mode** and no phone number meets the requirement, the system displays an allocation error.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou', - ], + 'schema' => ['title' => '', 'description' => 'The A number in the fixed-line AXB privacy number.'."\n" + ."\n" + .'> - The A number can be set to a mobile phone number or a landline number. For landline numbers, include the area code. No hyphen is needed between the area code and the landline number.'."\n" + .'>- If your business needs to modify a bound number, you can call the [UpdateAxbBindFixedLine](~~2883050~~) API to make changes.', 'type' => 'string', 'required' => true, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], ], [ - 'name' => 'IsRecordingEnabled', + 'name' => 'TelX', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to record all calls made by the bound phone numbers. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '', 'description' => 'The X number in the fixed-line AXB privacy number. The X number is a privacy number you have [purchased in the console](https://dyplsnext.console.aliyun.com/numberbuy).'."\n" + ."\n" + .'> In the customer-specified X number mode (i.e., the BindType parameter is mode101), this parameter is required.', 'type' => 'string', 'required' => false, 'example' => '0571******23'], ], [ - 'name' => 'NoType', + 'name' => 'TelB', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the phone number.'."\n" - ."\n" - .'> This parameter is applicable to the key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AXB_170', - ], + 'schema' => ['title' => '', 'description' => 'The B number in the fixed-line AXB privacy number.'."\n" + ."\n" + .'> - The B number can be set to a mobile phone number or a landline number. For landline numbers, include the area code. No hyphen is needed between the area code and the landline number.'."\n" + .'> - If your business needs to modify a bound number, you can call the [UpdateAxbBindFixedLine](~~2883050~~) API to make changes.', 'type' => 'string', 'required' => true, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], ], [ - 'name' => 'OutId', + 'name' => 'Subts', 'in' => 'query', - 'schema' => [ - 'description' => 'The extension field for the external business. This parameter is returned in a call record receipt.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['title' => '', 'description' => 'Binding time, in the format yyyyMMddHHmmss. The time uses Beijing time, 24-hour clock.', 'type' => 'string', 'required' => true, 'example' => '20161114143116'], ], [ - 'name' => 'OutOrderId', + 'name' => 'Anucode', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the external business.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '34553330****', - ], + 'schema' => ['title' => '', 'description' => 'Caller-side ringback tone code. Must be set for fixed-line AXB privacy number business. Must contain codes for 3 scenarios. Fill in the codes in the order of "B->X, A->X, Other numbers->X", separated by commas.'."\n" + ."\n" + .'> "1,2,3" means the ringback tone code for B->X is 1, for A->X is 2, and for other numbers->X is 3.', 'type' => 'string', 'required' => true, 'example' => '1,2,3'], ], [ - 'name' => 'CallDisplayType', + 'name' => 'Anucodecalled', 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the phone number display logic in the AXN binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" - ."\n" - .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '', 'description' => 'Post-connection callee-side ringback tone code. Must contain codes for 2 scenarios. Fill in the codes in the order of "A as callee, B as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" means the ringback tone code when A answers as the callee is 1, and when B answers as the callee is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ - 'name' => 'RingConfig', + 'name' => 'TAnucodeConnect', 'in' => 'query', - 'schema' => [ - 'description' => 'Sets the ringtone code for enterprise Color Ring Back Tone (CRBT) in the AXN extension binding.'."\n" - ."\n" - .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_AB'."\n" - .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_A'."\n" - .'* Ringtone setting when an N-side number is used to call phone number X in the AXN extension binding: AXNRing_N'."\n" - ."\n" - .'Enterprise CRBT codes: Enterprise CRBT codes can be queried in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). You can choose **Number Pool Management > Enterprise CRBT Management** to view enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" - ."\n" - .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"AXNRing_N":"100000001","AXNRing_A":"100000001"}', - ], + 'schema' => ['title' => '', 'description' => 'Post-connection caller-side ringback tone code. Must contain codes for 2 scenarios. Fill in the codes in the order of "A as callee, B as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" means the caller-side ringback tone code when A is the callee is 1, and when B is the callee is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ - 'name' => 'ASRStatus', + 'name' => 'Areacode', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" - ."\n" - .'* **false** (default): disables ASR.'."\n" - .'* **true**: enables ASR.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '', 'description' => 'Area code. Supports specifying the X number\'s region (specified city -> provincial capital -> nationwide routing). If no region is specified, a nationwide random number is assigned.', 'type' => 'string', 'required' => false, 'example' => '0571'], ], [ - 'name' => 'ASRModelId', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ASR model. On the [Automatic Speech Recognition (ASR) Model Management](https://dyplsnext.console.aliyun.com/?spm=5176.12818093.categories-n-products.ddypls.22e616d0a0tEFC#/asr) page, you can view the ID of the ASR model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', - ], + 'schema' => ['title' => '', 'description' => 'Expiration time, unit: seconds. Valid values:'."\n" + ."\n" + .'- 0: Never expires.'."\n" + ."\n" + .'- Other values: When other values are specified, for example 60s, the binding is valid for 60 seconds after the X number is successfully assigned. After 60 seconds, it is automatically unbound.', 'type' => 'string', 'required' => true, 'example' => '60'], ], [ - 'name' => 'CallTimeout', + 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum ringing duration for each number in sequential ringing. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '20', - 'minimum' => '5', - 'example' => '10', - ], + 'schema' => ['title' => '', 'description' => 'External business extension field. This parameter will be returned in the call record receipt message. Must not exceed 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => '19394'], ], [ - 'name' => 'CallRestrict', + 'name' => 'Extra', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The status of one-way call restrictions. Valid values:'."\n" - ."\n" - .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" - .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", - 'type' => 'string', + 'title' => '', + 'description' => 'Extension parameters.', + 'type' => 'object', + 'properties' => [ + 'Callrecording' => ['title' => '', 'description' => 'Call recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): No recording.'."\n" + ."\n" + .'- 1: Recording.'."\n" + .'> After enabling the call recording feature, you can play and download voice files in the call records. Recording files are billed at 0.010 CNY/minute per call minute.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', - ], - ], - [ - 'name' => 'Extend', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', - ], - 'SecretBindDTO' => [ - 'description' => 'The information returned after the phone numbers were bound.'."\n", + 'AccessDeniedDetail' => ['description' => 'Details of the permission verification failure.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'Response message.', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => 'Request ID. The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '649E9EB5-9436-53CF-B41A-C4F0433212E7', 'title' => ''], + 'Data' => [ + 'title' => '', + 'description' => 'Response content.', 'type' => 'object', 'properties' => [ - 'Extension' => [ - 'description' => 'The extension of the phone number.'."\n" - ."\n" - .'> The BindAxn operation does not involve an extension. Ignore this parameter.'."\n", - 'type' => 'string', - 'example' => '130', - ], - 'SubsId' => [ - 'description' => 'The binding ID.'."\n", - 'type' => 'string', - 'example' => '1***************3', - ], - 'SecretNo' => [ - 'description' => 'The private number, that is, phone number X.'."\n", - 'type' => 'string', - 'example' => '139****0000', - ], + 'Subid' => ['title' => '', 'description' => 'Binding ID.', 'type' => 'string', 'example' => 'GHX0*************************'], + 'TelX' => ['title' => '', 'description' => 'X number.', 'type' => 'string', 'example' => '0571******23'], ], + 'example' => '', ], + 'Code' => ['title' => '', 'description' => 'API request status code. Valid values:'."\n" + ."\n" + .'- 0: Success.'."\n" + ."\n" + .'- For other error codes, see [API Error Codes](~~59892~~).', 'type' => 'string', 'example' => '0'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the API call was successful. Valid values:'."\n" + ."\n" + .'- true: Success.'."\n" + ."\n" + .'- false: Failure.', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"1***************3\\",\\n \\"SecretNo\\": \\"139****1111\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n 130\\n 170****0000\\n 100000076879****\\n\\nOK\\nF655A8D5-B967-440B-8683-DAD6FF8DE990\\nOK\\n","errorExample":""}]', - 'title' => 'BindAxn', - 'summary' => 'Adds an AXN binding.', - 'description' => '> An AXN private number is a dedicated private number assigned to phone number A. When an N-side number is used to call phone number X, the call is forwarded to phone number A.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'BindAxnExtension' => [ - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"649E9EB5-9436-53CF-B41A-C4F0433212E7\\",\\n \\"Data\\": {\\n \\"Subid\\": \\"GHX0*************************\\",\\n \\"TelX\\": \\"0571******23\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'BindAxbFixedLine - Bind Numbers for Fixed-Line AXB Privacy Number', + 'description' => '- Before calling this API, make sure you have purchased privacy numbers in the console. You can use this API to bind numbers to a fixed-line AXB intermediate number. Binding A and B numbers to a fixed-line AXB intermediate number through the console number management page is currently not supported.'."\n" + ."\n" + .'- Before binding numbers, we recommend that you first clarify the A role and B role in your business scenario. For example, in a ride-hailing application scenario, A is the passenger role and B is the driver role.'."\n" + ."\n" + .'- The fixed-line AXB intermediate number is mainly used for privacy protection in one-to-one scenarios. It binds the A number and B number through the Phone Number Protection service, so that when A calls X, the call is forwarded to B, and when B calls X, the call is forwarded to A. A single fixed-line X number can be reused for N binding relationships, such as A1XB1, A2XB2, A3XB3, and so on. As long as the A and B mobile phone numbers are not duplicated, a single fixed-line X number can simultaneously bind N groups of phone numbers, and calls can also proceed simultaneously.'."\n" + ."\n" + .'- The number of reuse times varies depending on the number you purchased. The specific number of reuse times can be confirmed with your technical support when purchasing the number.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxbFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'BindAxg' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1512,10 +1004,8 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72611', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '72609', + 'abilityTreeNodes' => ['FEATUREdyplsNPUT41'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -1523,251 +1013,144 @@ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'FC123456', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FC10000012345****', 'title' => ''], ], [ 'name' => 'PhoneNoA', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number A in the AXN extension binding. Phone number A can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'Phone number A in the AXG binding. Phone number A can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****0000', 'title' => ''], ], [ - 'name' => 'Extension', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The extension of phone number X. The extension is 1 to 3 digits in length.'."\n" - ."\n" - .'> If you specify Extension, you must also specify PhoneNoX.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '130', - ], + 'schema' => ['description' => 'The group ID in the AXG binding. You can view the group ID by using either of the following methods:'."\n" + ."\n" + .'* On the **Number Pool Management** page in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account), filter AXG privacy numbers and click **Number Group G Management** to view the group IDs of number groups G.****'."\n" + .'* If the [CreateAxgGroup](~~110250~~) operation is called to create number group G, the value of **GroupId** in the response of the CreateAxgGroup operation is specified as the value of the request parameter **GroupId** of the BindAxg operation.'."\n" + ."\n" + .'> Number group G must have one or more phone numbers.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '200001234****', 'title' => ''], ], [ 'name' => 'PhoneNoB', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number B in the AXN extension binding. When phone number A is used to call phone number X, the call is forwarded to phone number B. If you need to update phone number B, call the [UpdateSubscription](~~110253~~) operation.'."\n" - ."\n" - .'Phone number B can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'Phone number B in the AXG binding. If phone number A is used to call phone number X, the call is forwarded to phone number B. If you need to update phone number B, call the [UpdateSubscription](~~110253~~) operation.'."\n" + ."\n" + .'Phone number B can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], ], [ 'name' => 'PhoneNoX', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number X in the AXN extension binding. If you do not specify this parameter, a random phone number is selected from the phone number pool based on the value of the **ExpectCity** parameter and is used as phone number X.'."\n" - ."\n" - .'> Phone number X is the phone number that you purchased in the Phone Number Protection console or by using the [BuySecretNo](~~110266~~) operation before you bind a phone number. Phone number X is used to forward calls.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'Phone number X in the AXG binding. If you do not specify this parameter, a random phone number is selected from the phone number pool based on the value of the **ExpectCity** parameter and is used as phone number X.'."\n" + ."\n" + .'> Phone number X is the phone number that you purchased in the Phone Number Protection console or by using the [BuySecretNo](~~110266~~) operation before you bind a phone number. Phone number X is used to forward calls.'."\n", 'type' => 'string', 'required' => false, 'example' => '139****1111', 'title' => ''], ], [ 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'description' => 'The expiration time of the AXN extension binding. The value is accurate to seconds.'."\n" - ."\n" - .'> The expiration time must be more than 1 minute later than the time when you call this API operation.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2019-09-05 12:00:00', - ], + 'schema' => ['description' => 'The expiration time of the AXG binding. The value is accurate to seconds.'."\n" + ."\n" + .'> The expiration time must be more than 1 minute later than the time when you call this API operation.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2019-09-05 12:00:00', 'title' => ''], ], [ 'name' => 'ExpectCity', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the city to which phone number X to be selected belongs.'."\n" - ."\n" - .'* If no phone number for the specified city is available in the current phone number pool or this parameter is not specified, a phone number that belongs to another city is randomly selected from the current phone number pool and assigned as phone number X.'."\n" - .'* If Number X Assignment Mode is set to Strict Matching Mode and no phone number meets the requirement, the system displays an allocation error.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou', - ], + 'schema' => ['description' => 'Specifies the city to which phone number X to be selected belongs.'."\n" + ."\n" + .'* If no phone number for the specified city is available in the current phone number pool or this parameter is not specified, a phone number that belongs to another city is randomly selected from the current phone number pool and assigned as phone number X.'."\n" + .'* If Number X Assignment Mode is set to Strict Matching Mode and no phone number meets the requirement, the system displays an allocation error.'."\n", 'type' => 'string', 'required' => false, 'example' => '北京', 'title' => ''], ], [ 'name' => 'IsRecordingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to record all calls made by the bound phone numbers. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false** (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to record all calls made by the bound phone numbers.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => 'The extension field for the external business. This parameter is returned in a call record receipt.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['description' => 'The extension field for the external business. This parameter is returned in a call record receipt.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], ], [ 'name' => 'OutOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the external business.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['description' => 'The ID of the external business.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], ], [ 'name' => 'CallDisplayType', 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the phone number display logic in the AXN extension binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" - ."\n" - .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Re-sets the phone number display logic in the AXG binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" + ."\n" + .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'RingConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'Sets the ringtone for enterprise Color Ring Back Tone (CRBT) in the AXN extension binding.'."\n" - ."\n" - .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_AB'."\n" - .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_A'."\n" - .'* Ringtone setting when an N-side number is used to call phone number X in the AXN extension binding: AXNRing_N'."\n" - ."\n" - .'Enterprise CRBT codes: Enterprise CRBT codes can be queried in the Phone Number Protection console. You can choose **Number Pool Management > Enterprise CRBT Management** to view and manage enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" - ."\n" - .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"AXNRing_N":"100000001","AXNRing_A":"100000001"}', - ], + 'schema' => ['description' => 'Sets the ringtone for enterprise Color Ring Back Tone (CRBT) in the AXG binding.'."\n" + ."\n" + .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_AB'."\n" + .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_A'."\n" + .'* Ringtone setting when a phone number in number group G is used to call phone number X in the AXG binding: AXGRing_G'."\n" + .'* Enterprise CRBT codes: Enterprise CRBT codes can be queried in the Phone Number Protection console. You can choose **Number Pool Management > Enterprise CRBT Management** to view and manage enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" + ."\n" + .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"AXGRing_AB":"1000****1","AXGRing_A":"1000****2","AXGRing_G":"1000****3"}', 'title' => ''], ], [ 'name' => 'ASRStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" - ."\n" - .'* **false** (default): disables ASR.'."\n" - .'* **true**: enables ASR.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'True', - ], + 'schema' => ['description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" + ."\n" + .'* **False** (default): disables ASR.'."\n" + .'* **True**: enables ASR.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ASRModelId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ASR model. On the [Automatic Speech Recognition (ASR) Model Management](https://dyplsnext.console.aliyun.com/?spm=5176.12818093.categories-n-products.ddypls.22e616d0a0tEFC#/asr) page, you can view the ID of the ASR model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '980abddb908f48e8b987cb2cd303****', - ], + 'schema' => ['description' => 'The ID of the ASR model.'."\n", 'type' => 'string', 'required' => false, 'example' => '9b4afe3d224e4fa3bf963697113e2f77', 'title' => ''], ], [ 'name' => 'CallRestrict', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of call restrictions. Valid values:'."\n" - ."\n" - .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" - .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', - ], - ], - [ - 'name' => 'Extend', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The status of call restrictions. Valid values:'."\n" + ."\n" + .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" + .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTROL_AX_DISABLE', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050D9369D', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'SecretBindDTO' => [ 'description' => 'The information returned after the phone numbers were bound.'."\n", 'type' => 'object', 'properties' => [ - 'Extension' => [ - 'description' => 'The extension of the phone number.'."\n", - 'type' => 'string', - 'example' => '130', - ], - 'SubsId' => [ - 'description' => 'The binding ID.'."\n", - 'type' => 'string', - 'example' => '1***************3', - ], - 'SecretNo' => [ - 'description' => 'The private number, that is, phone number X.'."\n", - 'type' => 'string', - 'example' => '139*****0000', - ], + 'Extension' => ['description' => 'The extension of the phone number.'."\n" + ."\n" + .'> The BindAxg operation does not involve an extension. Ignore this parameter.'."\n", 'type' => 'string', 'example' => '130', 'title' => ''], + 'SubsId' => ['description' => 'The binding ID.'."\n", 'type' => 'string', 'example' => '1************3', 'title' => ''], + 'SecretNo' => ['description' => 'The private number, that is, phone number X.'."\n", 'type' => 'string', 'example' => '139****1111', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050D9369D\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"1***************3\\",\\n \\"SecretNo\\": \\"139*****1111\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n\\n\\n 130\\n 150*****0000\\n 100000082000****\\n\\nOK\\n9297B722-A016-43FB-B51A-E54050D9369D\\nOK\\n","errorExample":""}]', - 'title' => 'BindAxnExtension', - 'summary' => 'Adds an AXN extension binding.', - 'description' => 'Before you add an AXN extension binding, confirm phone number A and phone number N in the business scenario. Phone number A belongs to a customer, and phone number X is the private number assigned to the customer. When any other phone number is used to call phone number X and the extension, the call is transferred to phone number A. When phone number A is used to call phone number X, the call is transferred to the default phone number B that is specified during the phone number binding.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"1************3\\",\\n \\"SecretNo\\": \\"139****1111\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n F655A8D5-B967-440B-8683-DAD6FF8DE990\\n \\n 150****0000\\n 100000076389****\\n 171****0000\\n \\n","errorExample":""}]', + 'title' => 'BindAxg', + 'summary' => 'Adds an AXG binding.', + 'description' => 'An AXG protection solution can be configured to meet the requirements for grading users, limiting the scope of calls, and restricting order snatching. The letter G represents a phone number group to which you can add phone numbers as needed.'."\n" ."\n" .'### [](#qps)QPS limits'."\n" ."\n" @@ -1775,16 +1158,24 @@ 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'BindAxg' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxg', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'BindAxn' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1795,10 +1186,8 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72609', - 'abilityTreeNodes' => [ - 'FEATUREdyplsNPUT41', - ], + 'abilityTreeCode' => '72610', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -1806,263 +1195,231 @@ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'FC123456', - ], + 'schema' => ['description' => 'The key of the Number Pool.'."\n" + ."\n" + .'You can get the **Pool Key** from the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool?spm=a2c4g.11186623.0.0.7e6449bbtiHP8m) page.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FC2256****', 'title' => ''], ], [ 'name' => 'PhoneNoA', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number A in the AXG binding. Phone number A can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '139****0000', - ], - ], - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The group ID in the AXG binding. You can view the group ID by using either of the following methods:'."\n" - ."\n" - .'* On the **Number Pool Management** page in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account), filter AXG privacy numbers and click **Number Group G Management** to view the group IDs of number groups G.****'."\n" - .'* If the [CreateAxgGroup](~~110250~~) operation is called to create number group G, the value of **GroupId** in the response of the CreateAxgGroup operation is specified as the value of the request parameter **GroupId** of the BindAxg operation.'."\n" - ."\n" - .'> Number group G must have one or more phone numbers.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1234', - ], + 'schema' => ['description' => 'Phone number A for the AXN binding. This can be a mobile phone number or a fixed-line phone. For a fixed-line phone, you must include the area code. Do not add a hyphen between the area code and the phone number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****0000', 'title' => ''], ], [ 'name' => 'PhoneNoB', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number B in the AXG binding. If phone number A is used to call phone number X, the call is forwarded to phone number B. If you need to update phone number B, call the [UpdateSubscription](~~110253~~) operation.'."\n" - ."\n" - .'Phone number B can be set to a mobile phone number or a landline phone number. The landline phone number must be added with an area code, and no hyphen is required between the area code and the landline phone number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'Phone number B for the AXN binding.'."\n" + ."\n" + .'This can be a mobile phone number or a fixed-line phone. For a fixed-line phone, you must include the area code. Do not add a hyphen between the area code and the phone number.'."\n" + ."\n" + .'> - By default, calls from Phone number A to Phone number X are routed to Phone number B. If you do not specify Phone number B, the call fails to connect.'."\n" + .'>'."\n" + .'> - A call from Phone number A to Phone number X is routed to Phone number B only if **Callback Mode for Number A** is set to **Default mode**. Otherwise, the call fails to connect.'."\n" + .'>'."\n" + .'> - To change the **Callback Mode for Number A**, go to the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool?resType=1) page, filter for **AXN Privacy Number**, and then choose **Pool Management** > **Callback Mode for Number A** > **Adjust Configuration**.'."\n" + .'>'."\n" + .'> - To update Phone number B, call the [UpdateSubscription](https://help.aliyun.com/zh/pnp/developer-reference/api-dyplsapi-2017-05-25-updatesubscription?spm=a2c4g.11186623.0.i11) API.', 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], ], [ 'name' => 'PhoneNoX', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number X in the AXG binding. If you do not specify this parameter, a random phone number is selected from the phone number pool based on the value of the **ExpectCity** parameter and is used as phone number X.'."\n" - ."\n" - .'> Phone number X is the phone number that you purchased in the Phone Number Protection console or by using the [BuySecretNo](~~110266~~) operation before you bind a phone number. Phone number X is used to forward calls.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139****0000', - ], + 'schema' => ['description' => 'Phone number X, the privacy number for the AXN binding.'."\n" + ."\n" + .'Phone number X must be one of your [Purchased Privacy Numbers](https://dyplsnext.console.aliyun.com/numberbuy?spm=a2c4g.11186623.0.0.7e6449bbtiHP8m) in the console.'."\n" + ."\n" + .'> If you do not specify this parameter, the system randomly assigns a number from the number pool as Phone number X. The selection is based on the ExpectCity parameter.', 'type' => 'string', 'required' => false, 'example' => '139****1111', 'title' => ''], ], [ 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'description' => 'The expiration time of the AXG binding. The value is accurate to seconds.'."\n" - ."\n" - .'> The expiration time must be more than 1 minute later than the time when you call this API operation.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2019-09-05 12:00:00', - ], + 'schema' => ['description' => 'The expiration time of the binding. The time must be in the `YYYY-MM-DD HH:mm:ss` format.'."\n" + ."\n" + .'> The expiration time must be at least 60 seconds in the future.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2021-09-05 12:00:00', 'title' => ''], ], [ 'name' => 'ExpectCity', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the city to which phone number X to be selected belongs.'."\n" - ."\n" - .'* If no phone number for the specified city is available in the current phone number pool or this parameter is not specified, a phone number that belongs to another city is randomly selected from the current phone number pool and assigned as phone number X.'."\n" - .'* If Number X Assignment Mode is set to Strict Matching Mode and no phone number meets the requirement, the system displays an allocation error.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou', - ], + 'schema' => ['description' => 'The city from which to select Phone number X.'."\n" + ."\n" + .'> - If no numbers are available in the specified city or if you do not specify this parameter, the system randomly assigns a number from another city in the current number pool.'."\n" + .'>'."\n" + .'> - If **Number X Allocation Mode** is set to **Strict Match Mode**, the system returns an allocation error if it cannot find an eligible number.', 'type' => 'string', 'required' => false, 'example' => '上海', 'title' => ''], ], [ 'name' => 'IsRecordingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to record all calls made by the bound phone numbers.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable call recording for this binding. Valid values:'."\n" + ."\n" + .'- **true**: Enables call recording.'."\n" + ."\n" + .'- **false** (default): Disables call recording.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'NoType', + 'in' => 'query', + 'schema' => ['description' => 'The number type.'."\n" + ."\n" + .'> This parameter applies to legacy Alibaba Dayu customers. Current Alibaba Cloud users can ignore this parameter.', 'type' => 'string', 'required' => false, 'example' => 'AXB_170', 'title' => ''], ], [ 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'description' => 'The extension field for the external business. This parameter is returned in a call record receipt.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['description' => 'An external extension field that is included in the call detail record (CDR) callback.', 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], ], [ 'name' => 'OutOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the external business.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['description' => 'The external business ID.', 'type' => 'string', 'required' => false, 'example' => '34553330****', 'title' => ''], ], [ 'name' => 'CallDisplayType', 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the phone number display logic in the AXG binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" - ."\n" - .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Sets the caller ID display logic for the binding. The value must be **1**, which indicates that the privacy number (Phone number X) is displayed to both the caller and the callee.'."\n" + ."\n" + .'> Due to carrier-side regulatory restrictions, settings that display real numbers are not supported.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'RingConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'Sets the ringtone for enterprise Color Ring Back Tone (CRBT) in the AXG binding.'."\n" - ."\n" - .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_AB'."\n" - .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_A'."\n" - .'* Ringtone setting when a phone number in number group G is used to call phone number X in the AXG binding: AXGRing_G'."\n" - .'* Enterprise CRBT codes: Enterprise CRBT codes can be queried in the Phone Number Protection console. You can choose **Number Pool Management > Enterprise CRBT Management** to view and manage enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" - ."\n" - .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"AXGRing_AB":"100000001","AXGRing_A":"100000002","AXGRing_G":"100000003"}', - ], + 'schema' => ['description' => 'Configures the enterprise ring-back tone for calls to Phone number X.'."\n" + ."\n" + .'This parameter requires a **ringtone field** and a **ring-back tone code**.'."\n" + ."\n" + .'Valid values for the **ringtone field**:'."\n" + ."\n" + .'- The ring-back tone that plays before a call from Phone number A to Phone number X connects (with callback number): AXNRing\\_AB'."\n" + ."\n" + .'- The ring-back tone that plays before a call from Phone number A to Phone number X connects (without callback number): AXNRing\\_A'."\n" + ."\n" + .'- The ring-back tone that plays before a call from Phone number N to Phone number X connects: AXNRing\\_N'."\n" + ."\n" + .'- The in-call tone that plays after a call from Phone number A to Phone number X connects: AXNRing\\_A\\_PICKUP'."\n" + ."\n" + .'- The in-call tone that plays after a call from Phone number N to Phone number X connects: AXNRing\\_N\\_PICKUP'."\n" + ."\n" + .'**Ring-back tone code**:'."\n" + ."\n" + .'You can get the enterprise ring-back tone code from the [Enterprise CRBT Management](https://dyplsnext.console.aliyun.com/number-pool/ringtone?resType=1) page.'."\n" + ."\n" + .'**Example format**:'."\n" + ."\n" + .'To set the ring-back tone for calls from Phone number A to Phone number X (without a callback number), use the following format: "AXNRing\\_A":"1000\\*\\*\\*\\*1".'."\n" + ."\n" + .'> The enterprise ring-back tone set at the binding level takes precedence. If a tone is not set at the binding level or the setting is invalid, the system uses the tone set at the number pool level.', 'type' => 'string', 'required' => false, 'example' => '{"AXNRing_N":"1000****1","AXNRing_A":"1000****1"}', 'title' => ''], ], [ 'name' => 'ASRStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" - ."\n" - .'* **False** (default): disables ASR.'."\n" - .'* **True**: enables ASR.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'False', - ], + 'schema' => ['description' => 'Specifies whether to enable or disable Automatic Speech Recognition (ASR). Valid values:'."\n" + ."\n" + .'- **false** (default): Disables ASR.'."\n" + ."\n" + .'- **true**: Enables ASR.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ASRModelId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ASR model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '980abddb908f48e8b987cb2cd303****', - ], + 'schema' => ['description' => 'The ID of the ASR model. Valid values:'."\n" + ."\n" + .'- Generic - Telephony - Mandarin Chinese model ID: 7ee372834d2f4cc7ac0d0ab2d0ae1aac'."\n" + ."\n" + .'- Generic - Telephony - Cantonese model ID: 9b4afe3d224e4fa3bf963697113e2f77'."\n" + ."\n" + .'- Generic - Telephony - Chinese Dialects model ID: 3655a6cb94764145a1f9a38a3c3b3b4b', 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], + ], + [ + 'name' => 'CallTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The call timeout in seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '20', 'minimum' => '5', 'example' => '10', 'title' => ''], ], [ 'name' => 'CallRestrict', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of call restrictions. Valid values:'."\n" - ."\n" - .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" - .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', - ], + 'schema' => ['description' => 'The call restriction policy. Valid values:'."\n" + ."\n" + .'- **CONTROL\\_AX\\_DISABLE**: Disables calls from Phone number A to Phone number X.'."\n" + ."\n" + .'- **CONTROL\\_BX\\_DISABLE**: Disables calls from Phone number B to Phone number X.', 'type' => 'string', 'required' => false, 'example' => 'CONTROL_AX_DISABLE', 'title' => ''], + ], + [ + 'name' => 'Extend', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', - ], + 'Code' => ['description' => 'The status code of the request.'."\n" + ."\n" + .'- A value of `OK` indicates that the request succeeded.'."\n" + ."\n" + .'- For other values, see the [Error Code List](~~109196~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'A description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'SecretBindDTO' => [ - 'description' => 'The information returned after the phone numbers were bound.'."\n", + 'description' => 'The structure returned upon a successful binding.', 'type' => 'object', 'properties' => [ - 'Extension' => [ - 'description' => 'The extension of the phone number.'."\n" - ."\n" - .'> The BindAxg operation does not involve an extension. Ignore this parameter.'."\n", - 'type' => 'string', - 'example' => '139****0000', - ], - 'SubsId' => [ - 'description' => 'The binding ID.'."\n", - 'type' => 'string', - 'example' => '1************3', - ], - 'SecretNo' => [ - 'description' => 'The private number, that is, phone number X.'."\n", - 'type' => 'string', - 'example' => '139****0000', - ], + 'Extension' => ['description' => 'The extension number.'."\n" + ."\n" + .'> The `BindAxn` operation does not use extensions. This parameter can be ignored.', 'type' => 'string', 'example' => '130', 'title' => ''], + 'SubsId' => ['description' => 'The binding ID.', 'type' => 'string', 'example' => '1***************3', 'title' => ''], + 'SecretNo' => ['description' => 'The private number, which is the X number.', 'type' => 'string', 'example' => '139****1111', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"1************3\\",\\n \\"SecretNo\\": \\"139****1111\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n F655A8D5-B967-440B-8683-DAD6FF8DE990\\n \\n 150****0000\\n 100000076389****\\n 171****0000\\n \\n","errorExample":""}]', - 'title' => 'BindAxg', - 'summary' => 'Adds an AXG binding.', - 'description' => 'An AXG protection solution can be configured to meet the requirements for grading users, limiting the scope of calls, and restricting order snatching. The letter G represents a phone number group to which you can add phone numbers as needed.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"1***************3\\",\\n \\"SecretNo\\": \\"139****1111\\"\\n }\\n}","type":"json"}]', + 'title' => 'BindAxn', + 'summary' => 'Creates a binding for an AXN Privacy Number. This process assigns a dedicated Privacy Number (the X Number) to User A, allowing any caller to connect to User A by dialing the X Number.', + 'description' => '- Before calling this API, ensure you have [purchased privacy numbers](https://dyplsnext.console.aliyun.com/numberbuy) in the Console.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- Use this API to bind a number to an AXN privacy number. Alternatively, you can manage number bindings on the [Number Management](https://dyplsnext.console.aliyun.com/number/list?spm=a2c4g.11186623.0.0.64e649bbTzmb6j\\&resType=1\\&billId=FC100000165392498) page in the Console.'."\n" ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'- Before you create an AXN binding, clearly define the role of A in your use case. For example, in a used car classifieds scenario, A is the seller\'s or agent\'s contact number.'."\n" + ."\n" + .'### Rate limit'."\n" + ."\n" + .'This API has a rate limit of 5,000 requests per second (RPS) per user. The system throttles API calls that exceed this limit, which can impact your application\'s performance. To avoid throttling, manage your call frequency.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'BindBatchAxg' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2024-07-24T08:45:20.000Z', 'description' => 'Request parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxn', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindAxn'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'BindAxnExtension' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2070,13 +1427,11 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '175378', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '72611', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -2084,117 +1439,148 @@ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'FC2235****', - ], + 'schema' => ['description' => 'The number pool key.'."\n" + ."\n" + .'You can find the **Pool Key** on the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool?spm=a2c4g.11186623.0.0.7e6449bbtiHP8m) page in the Phone Number Protection console.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FC10000011111****', 'title' => ''], ], [ - 'name' => 'AxgBindList', + 'name' => 'PhoneNoA', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PhoneNoA' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '13333333333', - ], - 'GroupId' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1234', - ], - 'PhoneNoB' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '13333333333', - ], - 'PhoneNoX' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '13333333333', - ], - 'ExpectCity' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '', - ], - 'IsRecordingEnabled' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'False', - ], - 'OutId' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '18223ad447910fd', - ], - 'Expiration' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '2022-07-11 01:05:15', - ], - 'OutOrderId' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '20220824021816883677', - ], - 'CallDisplayType' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'RingConfig' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"AXBRing_B\\":\\"100000002\\",\\"AXBRing_A\\":\\"100000001\\"}', - ], - 'ASRStatus' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'ASRModelId' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', - ], - 'CallRestrict' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', - ], - ], - 'required' => false, - ], - 'required' => true, - 'docRequired' => true, - ], + 'schema' => ['description' => 'Specifies Number A for the AXN extension binding. Number A can be a mobile number or a landline. For a landline, include the area code but do not add a hyphen between the area code and the number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****0000', 'title' => ''], + ], + [ + 'name' => 'Extension', + 'in' => 'query', + 'schema' => ['description' => 'The extension for Number X. The extension must be 1 to 3 digits long.'."\n" + ."\n" + .'> If you specify the `Extension` parameter, you must also specify the `PhoneNoX` parameter.', 'type' => 'string', 'required' => false, 'example' => '130', 'title' => ''], + ], + [ + 'name' => 'PhoneNoB', + 'in' => 'query', + 'schema' => ['description' => 'Specifies Number B for the AXN extension binding.'."\n" + ."\n" + .'Number B can be a mobile number or a landline. For a landline, include the area code but do not add a hyphen between the area code and the number.'."\n" + ."\n" + .'> - When Number A calls Number X, the system routes the call to Number B by default. If Number B is not specified, the call fails.'."\n" + .'>'."\n" + .'> - When Number A calls Number X, the system routes the call to Number B only if **Call-back Mode for A** is set to **Default**. Otherwise, the call fails.'."\n" + .'>'."\n" + .'> - To modify the **Call-back Mode for A**, go to the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool?resType=1) page, filter by **AXN Extension**, and then choose **Number Pool Management** > **Call-back Mode for A** > **Adjust Configuration**.'."\n" + .'>'."\n" + .'> - To update Number B, call the [UpdateSubscription](https://help.aliyun.com/zh/pnp/developer-reference/api-dyplsapi-2017-05-25-updatesubscription?spm=a2c4g.11186623.0.i16) operation.', 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], + ], + [ + 'name' => 'PhoneNoX', + 'in' => 'query', + 'schema' => ['description' => 'Specifies Number X for the AXN extension binding.'."\n" + ."\n" + .'Number X must be one of your [purchased privacy numbers](https://dyplsnext.console.aliyun.com/numberbuy?spm=a2c4g.11186623.0.0.7e6449bbtiHP8m) in the console.'."\n" + ."\n" + .'> If this parameter is not specified, the system randomly selects a number from the number pool based on the `ExpectCity` parameter to serve as Number X.', 'type' => 'string', 'required' => false, 'example' => '139****1111', 'title' => ''], + ], + [ + 'name' => 'Expiration', + 'in' => 'query', + 'schema' => ['description' => 'The expiration time of the binding, accurate to the second.'."\n" + ."\n" + .'> The expiration time must be at least one minute later than the current time.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2019-09-05 12:00:00', 'title' => ''], + ], + [ + 'name' => 'ExpectCity', + 'in' => 'query', + 'schema' => ['description' => 'The desired city for Number X.'."\n" + ."\n" + .'> - If no numbers are available in the specified city or if this parameter is not specified, the system randomly selects a number from another city in the number pool to serve as Number X.'."\n" + .'>'."\n" + .'> - If the **Number X Assignment Mode** is set to **Strict Matching Mode** and no eligible number is found, the system returns an assignment error.', 'type' => 'string', 'required' => false, 'example' => '北京', 'title' => ''], + ], + [ + 'name' => 'IsRecordingEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable Call Recording for all calls associated with this binding. Valid values:'."\n" + ."\n" + .'- **true**: Enables call recording.'."\n" + ."\n" + .'- **false** (default): Disables call recording.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'OutId', + 'in' => 'query', + 'schema' => ['description' => 'The External Business Extension Field. This field is included in call record receipt messages.', 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], + ], + [ + 'name' => 'OutOrderId', + 'in' => 'query', + 'schema' => ['description' => 'The external business ID.', 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], + ], + [ + 'name' => 'CallDisplayType', + 'in' => 'query', + 'schema' => ['description' => 'Sets the caller ID display logic for the binding. The value must be **1**, which specifies that Number X is displayed to both the caller and the callee.'."\n" + ."\n" + .'> Due to carrier regulations, settings for displaying real numbers are not supported and will not take effect.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'RingConfig', + 'in' => 'query', + 'schema' => ['description' => 'Sets the Enterprise Ringback Tone for an AXN extension binding when Number X is called.'."\n" + ."\n" + .'This parameter requires a **ringtone field** and a **ringtone code**.'."\n" + ."\n" + .'Valid values for the **ringtone field**:'."\n" + ."\n" + .'- `AXNRing_AB`: The ringtone for Number A calling Number X before the call is connected (with a callback number).'."\n" + ."\n" + .'- `AXNRing_A`: The ringtone for Number A calling Number X before the call is connected (without a callback number).'."\n" + ."\n" + .'- `AXNRing_N`: The ringtone for Number N calling Number X before the call is connected.'."\n" + ."\n" + .'- `AXNRing_A_PICKUP`: The ringtone for Number A calling Number X after the call is connected.'."\n" + ."\n" + .'- `AXNRing_N_PICKUP`: The ringtone for Number N calling Number X after the call is connected.'."\n" + ."\n" + .'**Ringtone code**:'."\n" + ."\n" + .'Get the ringtone code from the [Enterprise CRBT Management](https://dyplsnext.console.aliyun.com/number-pool/ringtone?resType=1) page in the Phone Number Protection console.'."\n" + ."\n" + .'**Example**:'."\n" + ."\n" + .'To set the ringtone for Number A calling Number X before the call connects (without a callback number), use the following format: `{"AXNRing_A": "1000****1"}`.', 'type' => 'string', 'required' => false, 'example' => '{"AXNRing_N":"1000****1","AXNRing_A":"1000****1"}', 'title' => ''], + ], + [ + 'name' => 'ASRStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable ASR (Automatic Speech Recognition). Valid values:'."\n" + ."\n" + .'- **true**: Enables ASR.'."\n" + ."\n" + .'- **false** (default): Disables ASR.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ASRModelId', + 'in' => 'query', + 'schema' => ['description' => 'The ASR model ID. Valid values:'."\n" + ."\n" + .'- General - Telephony - Mandarin Model ID: `7ee372834d2f4cc7ac0d0ab2d0ae1aac`'."\n" + ."\n" + .'- General - Telephony - Cantonese Model ID: `9b4afe3d224e4fa3bf963697113e2f77`'."\n" + ."\n" + .'- General - Telephony - Regional Accents Model ID: `3655a6cb94764145a1f9a38a3c3b3b4b`', 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], + ], + [ + 'name' => 'CallRestrict', + 'in' => 'query', + 'schema' => ['description' => 'Specifies the Call Restriction policy. Valid values:'."\n" + ."\n" + .'- **CONTROL\\_AX\\_DISABLE**: Number A cannot call Number X.'."\n" + ."\n" + .'- **CONTROL\\_BX\\_DISABLE**: Number B cannot call Number X.', 'type' => 'string', 'required' => false, 'example' => 'CONTROL_AX_DISABLE', 'title' => ''], + ], + [ + 'name' => 'Extend', + 'in' => 'query', + 'schema' => ['description' => 'Reserved for future use.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -2202,464 +1588,399 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '5DCCA8CD-6C0A-50B4-A496-B1D2AB48A1C3', - ], - 'SecretBindList' => [ + 'Code' => ['description' => 'The request status code.'."\n" + ."\n" + .'- A value of `OK` indicates that the request was successful.'."\n" + ."\n" + .'- For other error codes, see the [Error code list](~~109196~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The message that describes the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9297B722-A016-43FB-B51A-E54050D9369D', 'title' => ''], + 'SecretBindDTO' => [ + 'description' => 'The object that contains the details of the successful binding.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'SecretBind' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SecretNo' => [ - 'description' => '', - 'type' => 'string', - 'example' => '13333333333', - ], - 'SubsId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1000085060515673', - ], - 'Extension' => [ - 'description' => '', - 'type' => 'string', - 'example' => '257', - ], - 'GroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1234', - ], - 'PhoneNoA' => [ - 'description' => '', - 'type' => 'string', - 'example' => '13333333333', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'isv.INVALID_PARAMETERS', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ringConfig invalid', - ], - ], - ], - ], + 'Extension' => ['description' => 'The extension number.', 'type' => 'string', 'example' => '130', 'title' => ''], + 'SubsId' => ['description' => 'The subscription ID.', 'type' => 'string', 'example' => '1***************3', 'title' => ''], + 'SecretNo' => ['description' => 'The Secret Number (Number X).', 'type' => 'string', 'example' => '139*****1111', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => 'The data returned in the response.', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"5DCCA8CD-6C0A-50B4-A496-B1D2AB48A1C3\\",\\n \\"SecretBindList\\": {\\n \\"SecretBind\\": [\\n {\\n \\"SecretNo\\": \\"139****1111\\",\\n \\"SubsId\\": \\"1000012345******\\",\\n \\"Extension\\": \\"257\\",\\n \\"GroupId\\": \\"200001234****\\",\\n \\"PhoneNoA\\": \\"139****0000\\",\\n \\"Code\\": \\"isv.INVALID_PARAMETERS\\",\\n \\"Message\\": \\"ringConfig invalid\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - ], - 'UpdateSubscription' => [ - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050D9369D\\",\\n \\"SecretBindDTO\\": {\\n \\"Extension\\": \\"130\\",\\n \\"SubsId\\": \\"1***************3\\",\\n \\"SecretNo\\": \\"139*****1111\\"\\n }\\n}","type":"json"}]', + 'title' => 'BindAxnExtension', + 'summary' => 'AXN with extension creates a binding. This feature is similar to AXN for privacy protection but introduces an extension to reduce the usage of X numbers. To place a call, a caller dials the X number, hears a prompt, and then enters the corresponding extension to transfer the call to Party A.', + 'description' => '- Before you call this API, ensure you have purchased a `privacy number` on the [Purchase Privacy Number](https://dyplsnext.console.aliyun.com/numberbuy) page in the `Console`.'."\n" + ."\n" + .'- Use this API to bind numbers to an `AXN extension number`. Alternatively, you can bind numbers for Role A and Role B on the [Number Management](https://dyplsnext.console.aliyun.com/number/list?spm=a2c4g.11186623.0.0.64e649bbTzmb6j\\&resType=1\\&billId=FC100000165392498) page in the `Console`.'."\n" + ."\n" + .'- For an `AXN extension number`, define `Role A` and `Role N` for your use case before you bind numbers. For example, if `Role A` is a customer, Number X is the `privacy number` assigned to the customer. The system routes any call to Number X followed by the extension number to the number of `Role A`. When `Role A` calls Number X, the system routes the call to the default `Role B` number specified during binding.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The `per user` `QPS limit` for this API is 5,000 requests per second. The system throttles `API call`s that exceed this limit. This can impact your business operations, so please call the API responsibly.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-06-07T02:40:35.000Z', 'description' => 'Request parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxnExtension', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindAxnExtension'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'BindAxnExtensionFixedLine' => [ + 'summary' => 'The fixed-line AXN extension number introduces extension numbers on top of the fixed-line AXN privacy number, thereby reducing the usage of X numbers. When making a call, first dial the X number, and then enter the corresponding extension number after hearing the prompt tone to be connected to A. The fixed-line AXN extension number service is currently invitation-only. Contact your technical support to activate the service and obtain integration support.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72641', - 'abilityTreeNodes' => [ - 'FEATUREdypls13M9H9', - ], + 'abilityTreeCode' => '271367', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" - ."\n" - .'> This parameter is required when **ProductType** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'FC122356****', - ], + 'schema' => ['title' => '', 'description' => 'Number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'ProductType', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'description' => 'The product type. Valid values:'."\n" - ."\n" - .'* **AXB\\_170**'."\n" - .'* **AXN\\_170**'."\n" - .'* **AXN\\_95**'."\n" - .'* **AXN_EXTENSION_REUSE**'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" - ."\n" - .'* This parameter is required when **PoolKey** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AXB_170', - ], + 'schema' => ['title' => '', 'description' => 'Business timestamp. Format: yyyyMMddHHmmssSSS. Uses Beijing time, 24-hour clock, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'SubsId', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The binding ID.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account), choose **Number and Number Pool** > **Number Management**. On the Number Management page, select the desired record and click Details to view the binding ID. Alternatively, you can view the value of the **SubsId** parameter returned by an API operation for a phone number binding such as BindAxb. The value of this parameter indicates a binding ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '100000076879****', - ], + 'schema' => ['title' => '', 'description' => 'Unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], [ - 'name' => 'PhoneNoX', + 'name' => 'BindType', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number X in the phone number binding.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1390000****', - ], + 'schema' => ['title' => '', 'description' => 'Binding type. Valid values:'."\n" + ."\n" + .'- mode101: Customer specifies the X number.'."\n" + ."\n" + .'- mode102: Platform assigns the X number.', 'type' => 'string', 'required' => true, 'example' => 'mode101'], ], [ - 'name' => 'PhoneNoA', + 'name' => 'Subts', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number A in the phone number binding.'."\n" - ."\n" - .'> This parameter is required when **OperateType** is set to **updateNoA**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1390000****', - ], + 'schema' => ['title' => '', 'description' => 'Binding time. Format: yyyyMMddHHmmss. Uses Beijing time, 24-hour clock.', 'type' => 'string', 'required' => true, 'example' => '20161114143116'], ], [ - 'name' => 'PhoneNoB', + 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number B in the phone number binding.'."\n" - ."\n" - .'> This parameter is required when **OperateType** is set to **updateNoB**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1390000****', - ], + 'schema' => ['title' => '', 'description' => 'The A number for the fixed-line AXN extension number.'."\n" + ."\n" + .'> The A number can be set to a mobile number or a fixed-line number. Fixed-line numbers must include the area code, and no hyphen is needed between the area code and the number.', 'type' => 'string', 'required' => true, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], ], [ - 'name' => 'GroupId', + 'name' => 'TelX', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of number group G in the phone number binding.'."\n" - ."\n" - .'> This parameter is required when **OperateType** is set to **updateAxgGroup**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1234', - ], + 'schema' => ['title' => '', 'description' => 'The X number for the fixed-line AXN extension number. The X number is a privacy number that you have [purchased](https://dyplsnext.console.aliyun.com/numberbuy) in the console.', 'type' => 'string', 'required' => false, 'example' => '0571******23'], ], [ - 'name' => 'CallRestrict', + 'name' => 'TelXext', 'in' => 'query', - 'schema' => [ - 'description' => 'One-way call restrictions. Valid values:'."\n" - ."\n" - .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" - .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n" - .'* **CONTROL_CLEAR_DISABLE**: The call restrictions are cleared.'."\n" - ."\n" - .'> This parameter is required when **OperateType** is set to **updateCallRestrict**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_BX_DISABLE ', - ], + 'schema' => ['title' => '', 'description' => 'Extension number. This parameter is required when the BindType parameter is set to mode101.', 'type' => 'string', 'required' => false, 'example' => '1009'], ], [ - 'name' => 'Expiration', + 'name' => 'Anucode', 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the expiration time of the phone number binding.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter is required when **OperateType** is set to **updateExpire**.'."\n" - ."\n" - .'* The expiration time must be more than 1 minute later than the time when you call this API operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-09-05 12:00:00', - ], + 'schema' => ['description' => 'Caller-side ringtone code. This parameter is required for AXB scenarios. Must contain codes for 3 scenarios. Enter the codes in the order of "B->X, A->X, other numbers->X", separated by commas.'."\n" + ."\n" + .'> "1,2,3" indicates that the ringtone code for B->X is 1, for A->X is 2, and for other numbers->X is 3.', 'type' => 'string', 'title' => '', 'required' => true, 'example' => '1,2,3'], ], [ - 'name' => 'CallDisplayType', + 'name' => 'Anucodecalled', 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the phone number display logic in the phone number binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" - ."\n" - .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'OutId', - 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the value of the OutId parameter in the phone number binding.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['title' => '', 'description' => 'Called-side ringtone code after connection. Must contain codes for 2 scenarios. Enter the codes in the order of "A as called party, B as called party", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the ringtone code when A is the called party is 1, and the ringtone code when B is the called party is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ - 'name' => 'IsRecordingEnabled', + 'name' => 'TAnucodeConnect', 'in' => 'query', - 'schema' => [ - 'description' => 'Re-sets the recording status in the phone number binding.'."\n" - ."\n" - .'> This parameter does not have a default value. If you do not specify this parameter, the value of the corresponding field is not updated.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '', 'description' => 'Caller-side ringtone code after connection. Must contain codes for 2 scenarios. Enter the codes in the order of "A as called party, B as called party", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the caller-side ringtone code when A is the called party is 1, and the caller-side ringtone code when B is the called party is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ - 'name' => 'OperateType', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'description' => 'The operation to modify the phone number binding. Valid values:'."\n" - ."\n" - .'* **updateNoA**: modifies phone number A.'."\n" - .'* **updateNoB**: modifies phone number B.'."\n" - .'* **updateExpire**: modifies the validity period of the binding.'."\n" - .'* **updateAxgGroup**: modifies number group G.'."\n" - .'* **updateCallRestrict**: modifies one-way call restrictions.'."\n" - .'* **updateCallDisplayType**: updates the number display logic for calls.'."\n" - .'* **updateOutId**: updates the value of the OutId parameter.'."\n" - .'* **updateIsRecordingEnabled**: updates the status of the recording feature in the binding.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'updateNoA', - ], + 'schema' => ['title' => '', 'description' => 'Expiration time. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 0: Never expires.'."\n" + ."\n" + .'- Other values: When other values are specified, such as 60, the binding is valid for 60 seconds after the X number is successfully assigned. After 60 seconds, the binding is automatically released.', 'type' => 'string', 'required' => true, 'example' => '60'], ], [ - 'name' => 'RingConfig', + 'name' => 'Areacode', 'in' => 'query', - 'schema' => [ - 'description' => 'Updates the ringtone code for enterprise Color Ring Back Tone (CRBT) in the phone number binding.'."\n" - ."\n" - .'AXB product:'."\n" - ."\n" - .'* Ringtone setting when phone number A is used to call phone number X in the AXB binding: AXBRing_A'."\n" - .'* Ringtone setting when phone number B is used to call phone number X in the AXB binding: AXBRing_B'."\n" - ."\n" - .'AXN product:'."\n" - ."\n" - .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_AB'."\n" - .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_A'."\n" - .'* Ringtone setting when phone number N is used to call phone number X in the AXN extension binding: AXNRing_N'."\n" - ."\n" - .'AXG product:'."\n" - ."\n" - .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_AB'."\n" - .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_A'."\n" - .'* Ringtone setting when a phone number in number group G is used to call phone number X in the AXG binding: AXGRing_G'."\n" - ."\n" - .'Enterprise CRBT codes: Enterprise CRBT codes can be queried in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). You can choose **Number Pool Management** > **Enterprise CRBT Management** to view and manage enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" - ."\n" - .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"AXBRing_B":"100000001","AXBRing_A":"100000001"}', - ], + 'schema' => ['title' => '', 'description' => 'Area code. Supports specifying the home location of the X number (specified city -> provincial capital -> nationwide routing). If no home location is specified, a number is randomly assigned nationwide.', 'type' => 'string', 'required' => false, 'example' => '0571'], ], [ - 'name' => 'ASRStatus', + 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" - ."\n" - .'* **false** (default): disables ASR.'."\n" - .'* **true**: enables ASR.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['title' => '', 'description' => 'External business extension field. This parameter is returned in call record receipt messages. Must not exceed 100 characters.', 'type' => 'string', 'required' => false, 'example' => '19394'], ], [ - 'name' => 'ASRModelId', + 'name' => 'Extraaxx', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the ASR model.'."\n", - 'type' => 'string', + 'title' => '', + 'description' => 'Extension parameters.', + 'type' => 'object', + 'properties' => [ + 'Callback' => ['title' => '', 'description' => 'Callback control. When A calls through X, that is, A dials X as the caller. Valid values:'."\n" + ."\n" + .'- 0 (default): Cannot make outbound calls.'."\n" + ."\n" + .'- 1: Connect to the most recent N number.'."\n" + ."\n" + .'- 2: Call back the fixed number TelB.', 'type' => 'string', 'required' => false, 'example' => '0'], + 'Callrecording' => ['title' => '', 'description' => 'Recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): No recording.'."\n" + ."\n" + .'- 1: Recording.'."\n" + ."\n" + .'> After you enable the call recording feature, you can play and download audio files in the call records. Recording files are billed at CNY 0.010/minute.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], 'required' => false, - 'example' => '980abddb908f48e8b987cb2cd303****', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '986BCB6D-C9BF-42F9-91CE-3A9901233D36', + 'AccessDeniedDetail' => ['description' => 'Access denied detail.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'Description.', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => 'The unique request ID generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'AE2D6997-643A-59CB-9B3C-918572E5CEAA', 'title' => ''], + 'Data' => [ + 'title' => '', + 'description' => 'Response data.', + 'type' => 'object', + 'properties' => [ + 'Subid' => ['title' => '', 'description' => 'Binding ID.', 'type' => 'string', 'example' => 'GHX0**********************'], + 'TelXext' => ['title' => '', 'description' => 'Extension number, 4 digits only.', 'type' => 'string', 'example' => '1001'], + 'TelX' => ['title' => '', 'description' => 'Privacy number.', 'type' => 'string', 'example' => '0571******23'], + ], + 'example' => '', ], + 'Code' => ['title' => '', 'description' => 'API request status code. Valid values:'."\n" + ."\n" + .'- 0: Success.'."\n" + ."\n" + .'- For other error codes, see [API Error Codes](~~59892~~).', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" + ."\n" + .'- true: Successful.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A9901233D36\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t986BCB6D-C9BF-42F9-91CE-3A9901233D36\\r\\n\\tOK\\r\\n","errorExample":""}]', - 'title' => 'UpdateSubscription', - 'summary' => 'Modifies a phone number binding.', - 'description' => '### [](#qps)QPS limits'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"AE2D6997-643A-59CB-9B3C-918572E5CEAA\\",\\n \\"Data\\": {\\n \\"Subid\\": \\"GHX0**********************\\",\\n \\"TelXext\\": \\"1001\\",\\n \\"TelX\\": \\"0571******23\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'title' => 'Bind AXN Extension Number for Fixed Line', + 'description' => '- Before calling this API, make sure that you have [purchased privacy numbers](https://dyplsnext.console.aliyun.com/numberbuy) in the console.'."\n" ."\n" - .'You can call this operation up to 10,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UnbindSubscription' => [ - 'methods' => [ - 'post', - 'get', + .'- You can use this API to bind numbers for the fixed-line AXN extension number. Binding numbers for the fixed-line AXN extension number through the console is not supported.'."\n" + ."\n" + .'- Before binding numbers, we recommend that you first clarify the A role and N role in your business scenario. For example, if the A number represents the customer, the X number is the privacy number assigned to the customer. Any other number calling the X number plus the extension number will be forwarded to the A number. When A calls X, the call will be forwarded to the default B number specified during binding.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxnExtensionFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'BindAxnFixedLine' => [ + 'summary' => 'Binds a number to a fixed-line AXN private number. User A is assigned a dedicated private number X, and any number N can be forwarded to A by calling X. The fixed-line private number feature is currently available by invitation only. Contact your technical support to activate the service and obtain integration support.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '72636', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" - ."\n" - .'> This parameter is required when **ProductType** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'FC123456', - ], + 'schema' => ['title' => '', 'description' => 'The ID of the number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'ProductType', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'description' => 'The product type. Fixed value: **AXB\\_170**.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" - ."\n" - .'* This parameter is required when **PoolKey** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AXB_170', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp. Format: yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'SubsId', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The binding ID.'."\n" - ."\n" - .'Log on to the Phone Number Protection console, choose **Number and Number Pool** > **Number Management**. On the Number Management page, select the desired record and click Details to view the binding ID. Alternatively, you can view the value of the **SubsId** parameter returned by an API operation for a phone number binding such as BindAxb. The value of this parameter indicates a binding ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1************2', - ], + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], [ - 'name' => 'SecretNo', + 'name' => 'BindType', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The binding type. Valid values:'."\n" + ."\n" + .'- mode101: The customer specifies the X number.'."\n" + ."\n" + .'- mode102: The platform assigns the X number.', 'type' => 'string', 'required' => true, 'example' => 'mode101'], + ], + [ + 'name' => 'Subts', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The binding time. Format: yyyyMMddHHmmss. The time is in UTC+8, in 24-hour format.', 'type' => 'string', 'required' => true, 'example' => '20161114143116'], + ], + [ + 'name' => 'TelA', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The A number of the fixed-line AXN private number.'."\n" + ."\n\n" + .'> - The A number can be a mobile phone number or a landline number. For landline numbers, include the area code without a hyphen between the area code and the number.'."\n" + .'> - To modify a bound number, call the [UpdateAxnBindFixedLine](~~2883049~~) operation.', 'type' => 'string', 'required' => true, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], + ], + [ + 'name' => 'TelX', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The X number of the fixed-line AXN private number. The X number is a private number that you purchased in the console.'."\n" + ."\n" + .'> This parameter is required when the customer specifies the X number (BindType is set to mode101).', 'type' => 'string', 'required' => false, 'example' => '0571******23'], + ], + [ + 'name' => 'TelB', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The N number of the fixed-line AXN private number.', 'type' => 'string', 'required' => false, 'example' => '155****2222'], + ], + [ + 'name' => 'Anucode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The caller-side voice prompt codes. Must include codes for 3 scenarios, in the order of "B->X, A->X, other numbers->X", separated by commas.'."\n" + ."\n" + .'> "1,2,3" means the B->X prompt code is 1, the A->X prompt code is 2, and the other numbers->X prompt code is 3.', 'type' => 'string', 'required' => true, 'example' => '1,2,3'], + ], + [ + 'name' => 'Anucodecalled', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The callee-side voice prompt codes. Must include codes for 2 scenarios, in the order of "A as callee, other numbers as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" means the prompt code when A answers is 1, and the prompt code when other numbers answer is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], + ], + [ + 'name' => 'TAnucodeConnect', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The post-connection caller-side voice prompt codes. Must include codes for 2 scenarios, in the order of "A as callee, other numbers as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" means the caller-side prompt code when A is the callee is 1, and the caller-side prompt code when other numbers are the callee is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], + ], + [ + 'name' => 'Areacode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The area code. Specifies the location of the X number (specified city -> provincial capital -> nationwide routing). If no location is specified, a number is randomly assigned nationwide.', 'type' => 'string', 'required' => false, 'example' => '0571'], + ], + [ + 'name' => 'Expiration', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The expiration time, in seconds. Valid values:'."\n" + ."\n" + .'- 0: Never expires.'."\n" + ."\n" + .'- Other values: The binding remains valid for the specified duration after the X number is successfully assigned. For example, if set to 60, the binding is valid for 60 seconds and automatically unbound after that.', 'type' => 'string', 'required' => true, 'example' => '60'], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The external business extension field. This parameter is returned in call record receipt messages. The value cannot exceed 100 characters.', 'type' => 'string', 'required' => false, 'example' => '19394'], + ], + [ + 'name' => 'Extra', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The private number, that is, phone number X specified in an API operation for a phone number binding such as [BindAXG](~~110249~~) or automatically assigned after such an operation is called.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1390000****', + 'title' => '', + 'description' => 'The extension parameters.', + 'type' => 'object', + 'properties' => [ + 'Callback' => ['title' => '', 'description' => 'The callback control. A calls through X, meaning A is the caller and X is the called number. Valid values:'."\n" + ."\n" + .'- 0 (default): Outbound calls are not allowed.'."\n" + ."\n" + .'- 1: Connects to the most recent N number.'."\n" + ."\n" + .'- 2: Calls back the fixed number TelB.', 'type' => 'string', 'required' => false, 'example' => '0'], + 'Callrecording' => ['title' => '', 'description' => 'The recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): Recording is disabled.'."\n" + ."\n" + .'- 1: Recording is enabled.'."\n" + ."\n" + .'> After call recording is enabled, you can play and download voice files in call records. Recording files are billed at CNY 0.010 per minute.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], + 'required' => false, + 'example' => '', ], ], ], @@ -2668,68 +1989,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '986BCB6D-C9BF-42F9-91CE-3A9901233D36', - ], - 'ChargeId' => [ - 'description' => 'A deprecated parameter.'."\n", - 'type' => 'string', - 'example' => 'true', + 'AccessDeniedDetail' => ['description' => 'The details of the permission verification failure.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID. It is a unique identifier generated by Alibaba Cloud for the request and can be used for troubleshooting.', 'type' => 'string', 'example' => '4D690962-08CE-5D38-A65A-AB247D7DF7A2', 'title' => ''], + 'Data' => [ + 'description' => 'The response information.', + 'type' => 'object', + 'properties' => [ + 'Subid' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'example' => 'GHX0*************************'], + 'TelX' => ['title' => '', 'description' => 'The private number.', 'type' => 'string', 'example' => '0571******23'], + ], + 'example' => '', + 'title' => '', ], + 'Code' => ['title' => '', 'description' => 'The status code of the request. Valid values:'."\n" + ."\n" + .'- 0: Successful.'."\n" + ."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'- true: Successful.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4D690962-08CE-5D38-A65A-AB247D7DF7A2\\",\\n \\"Data\\": {\\n \\"Subid\\": \\"GHX0*************************\\",\\n \\"TelX\\": \\"0571******23\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Bind a fixed-line AXN private number', + 'description' => '- Before calling this operation, make sure that you have purchased private numbers in the console. Use this operation to bind numbers for fixed-line AXN private numbers. The console does not support binding fixed-line AXN private numbers.'."\n" + ."\n" + .'- Before binding a number, determine the role of A in your business scenario. For example, in a used car listing scenario, A is the contact number of the landlord or agent.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A9901233D36\\",\\n \\"ChargeId\\": \\"true\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t9B2757F9-8FD0-48B9-9640-EF54783A06C4\\r\\n\\ttrue\\r\\n\\tOK\\r\\n","errorExample":""}]', - 'title' => 'UnbindSubscription', - 'summary' => 'Unbinds a phone number.', - 'description' => 'Before releasing a phone number, you must call the UnbindSubscription operation to unbind the phone number.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'ramActions' => [], ], - 'QuerySubscriptionDetail' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BindBatchAxg' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72633', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '175378', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -2737,509 +2054,472 @@ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" - ."\n" - .'> This parameter is required when **ProductType** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'FC123456', - ], - ], - [ - 'name' => 'ProductType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The product type. Valid values:'."\n" - ."\n" - .'* **AXB\\_170**'."\n" - .'* **AXN\\_170**'."\n" - .'* **AXN\\_95**'."\n" - .'* **AXN_EXTENSION_REUSE**'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" - ."\n" - .'* This parameter is required when **PoolKey** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AXB_170', - ], - ], - [ - 'name' => 'SubsId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The binding ID.'."\n" - ."\n" - .'Log on to the Phone Number Protection console, choose **Number and Number Pool** > **Number Management**. On the Number Management page, select the desired record and click Details to view the binding ID. Alternatively, you can view the value of the **SubsId** parameter returned by an API operation for a phone number binding such as [BindAxb](~~110248~~). The value of this parameter indicates a binding ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '100000076879****', - ], + 'schema' => ['description' => 'The key of the number pool.'."\n" + ."\n" + .'You can log on to the Phone Number Protection console and obtain the key on the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool) page.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FC2235****', 'title' => ''], ], [ - 'name' => 'PhoneNoX', + 'name' => 'AxgBindList', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The private number in the binding, that is, phone number X.'."\n", - 'type' => 'string', - 'required' => true, 'docRequired' => true, - 'example' => '13900001234', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" + 'description' => 'The list of AXG bindings.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'PhoneNoA' => ['description' => 'Number A in the AXG binding. Number A can be a mobile phone number or a landline number. If you use a landline number, add the area code, and do not add a hyphen between the area code and the landline number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****0000', 'title' => ''], + 'GroupId' => ['description' => 'The group ID (GID) in the AXG binding.'."\n" ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '066E6E47-04CB-4774-A976-4F73CB76D4A3', - ], - 'SecretBindDetailDTO' => [ - 'description' => 'The information returned after the QuerySubscriptionDetail operation was called.'."\n", - 'type' => 'object', + .'You can view the GID in the following ways:'."\n" + ."\n" + .'- Log on to the Phone Number Protection console. On the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool) page, select **AXG Privacy Number** and click **G Number Group Management** to view the GIDs of all G number groups.'."\n" + ."\n" + .'- If you use the [CreateAxgGroup](~~110250~~) operation to create a G number group, the value of the **GroupId** parameter in the response is the GID.'."\n" + ."\n" + .'> The G number group must contain at least one phone number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '200001234****', 'title' => ''], + 'PhoneNoB' => ['description' => 'Number B in the AXG binding.'."\n" + ."\n" + .'Number B can be a mobile phone number or a landline number. If you use a landline number, add the area code, and do not add a hyphen between the area code and the landline number.'."\n" + ."\n" + .'> - When Number A calls Number X, the call is transferred to Number B by default. If Number B is not specified, the call fails.'."\n" + .'>'."\n" + .'> - When Number A calls Number X, if **A Callback Mode** is set to **Default Mode**, the call is transferred to Number B. Otherwise, the call fails.'."\n" + .'>'."\n" + .'> - To modify **A Callback Mode**, on the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool?resType=1) page, select **AXG Privacy Number** and choose **Pool Management** > **A Callback Mode** > **Adjust Configuration**.'."\n" + .'>'."\n" + .'> - To update Number B, call the [UpdateSubscription](https://help.aliyun.com/zh/pnp/developer-reference/api-dyplsapi-2017-05-25-updatesubscription?spm=a2c4g.11186623.0.i16) operation.', 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], + 'PhoneNoX' => ['description' => 'Number X in the AXG binding.'."\n" + ."\n" + .'Number X must be a [purchased privacy number](https://dyplsnext.console.aliyun.com/numberbuy?spm=a2c4g.11186623.0.0.7e6449bbtiHP8m). You can log on to the Phone Number Protection console, go to the [Number Management](https://dyplsnext.console.aliyun.com/number/list) page, and then select **AXG Privacy Number** to obtain Number X.'."\n" + ."\n" + .'> If you do not specify Number X, a random number is selected from the number pool based on the **ExpectCity** parameter and used as Number X.', 'type' => 'string', 'required' => false, 'example' => '139****1111', 'title' => ''], + 'ExpectCity' => ['description' => 'The city to which Number X belongs.'."\n" + ."\n" + .'> - If no numbers are available in the specified city, or if this parameter is not specified, a number from another city in the current number pool is randomly selected and used as Number X.'."\n" + .'>'."\n" + .'> - If **Number X Assignment Mode** is set to **Strict Match Mode** and no eligible number is found, an allocation error is reported.', 'type' => 'string', 'required' => false, 'example' => '北京', 'title' => ''], + 'IsRecordingEnabled' => ['description' => 'Specifies whether to record all calls made in the binding. Valid values:'."\n" + ."\n" + .'- **true**: Call recording is enabled.'."\n" + ."\n" + .'- **false** (default): Call recording is disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'OutId' => ['description' => 'The extension field. This parameter is carried in call record messages.', 'type' => 'string', 'required' => false, 'example' => '1***********0fd', 'title' => ''], + 'Expiration' => ['description' => 'The expiration time of the binding. The value is accurate to seconds.'."\n" + ."\n" + .'> - The expiration time must be more than 1 minute later than the current time.'."\n" + .'>'."\n" + .'> - This parameter is required.', 'type' => 'string', 'required' => false, 'example' => '2022-07-11 01:05:15', 'title' => ''], + 'OutOrderId' => ['description' => 'The external business ID.', 'type' => 'string', 'required' => false, 'example' => '20***************677', 'title' => ''], + 'CallDisplayType' => ['description' => 'Resets the number display logic for the binding. Set the value to **1**. This indicates that the intermediate number (Number X) is displayed to both the calling and called parties.'."\n" + ."\n" + .'> Due to carrier regulations, the feature of displaying real numbers is not supported.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'RingConfig' => ['description' => 'The corporate ringback tone (CRBT) that is played when Number X in an AXG binding is called.'."\n" + ."\n" + .'You must specify the **ringtone field** and the **CRBT code**.'."\n" + ."\n" + .'Valid values for the **ringtone field**:'."\n" + ."\n" + .'- `AXGRing_AB`: the ringtone for calls from Number A to Number X (with a callback number).'."\n" + ."\n" + .'- `AXGRing_A`: the ringtone for calls from Number A to Number X (without a callback number).'."\n" + ."\n" + .'- `AXGRing_G`: the ringtone for calls from a number in Group G to Number X.'."\n" + ."\n" + .'**CRBT code**:'."\n" + ."\n" + .'You can log on to the Phone Number Protection console and obtain the CRBT code on the [Corporate CRBT Management](https://dyplsnext.console.aliyun.com/number-pool/ringtone?resType=1) page.'."\n" + ."\n" + .'**Example**:'."\n" + ."\n" + .'To set the ringtone for calls from Number A to Number X (without a callback number), specify `"AXGRing_A": "1000****1"`.'."\n" + ."\n" + .'> The CRBT that is set at the binding level takes precedence over the CRBT that is set at the number pool level.', 'type' => 'string', 'required' => false, 'example' => '{"AXGRing_AB":"1000****2","AXGRing_A":"1000****1"}', 'title' => ''], + 'ASRStatus' => ['description' => 'The automatic speech recognition (ASR) status. Valid values:'."\n" + ."\n" + .'- **false** (default): The ASR feature is disabled.'."\n" + ."\n" + .'- **true**: The ASR feature is enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'ASRModelId' => ['description' => 'The ASR model ID. Valid values:'."\n" + ."\n" + .'- The ID of the telephony model for Mandarin: 7ee372834d2f4cc7ac0d0ab2d0ae1aac'."\n" + ."\n" + .'- The ID of the telephony model for Cantonese: 9b4afe3d224e4fa3bf963697113e2f77'."\n" + ."\n" + .'- The ID of the telephony model for local accents: 3655a6cb94764145a1f9a38a3c3b3b4b', 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], + 'CallRestrict' => ['description' => 'The one-way call restriction. Valid values:'."\n" + ."\n" + .'- **CONTROL\\_AX\\_DISABLE**: Number A cannot call Number X.'."\n" + ."\n" + .'- **CONTROL\\_BX\\_DISABLE**: Number B cannot call Number X.', 'type' => 'string', 'required' => false, 'example' => 'CONTROL_AX_DISABLE', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The data returned by the request.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The request status code.'."\n" + ."\n" + .'- A value of `OK` indicates that the request succeeded.'."\n" + ."\n" + .'- For a list of other error codes, see [Error codes](~~109196~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The status code description.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'A unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => '5DCCA8CD-6C0A-50B4-A496-B1D2AB48A1C3', 'title' => ''], + 'SecretBindList' => [ + 'itemNode' => true, + 'description' => 'The returned data.', + 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The binding status. Valid values:'."\n" - ."\n" - .'* **0**: The binding expired.'."\n" - .'* **1**: The binding is in effect.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Extension' => [ - 'description' => 'The extension in the AXG extension binding.'."\n", - 'type' => 'string', - 'example' => '130', - ], - 'PhoneNoB' => [ - 'description' => 'Phone number B in the binding.'."\n", - 'type' => 'string', - 'example' => '13900002222', - ], - 'GroupId' => [ - 'description' => 'The ID of number group G in the binding.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2000000130001', - ], - 'NeedRecord' => [ - 'description' => 'Indicates whether all calls made by the bound phone numbers are recorded. Valid values:'."\n" - ."\n" - .'* **false**'."\n" - .'* **true**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ASRStatus' => [ - 'description' => 'Indicates whether automatic speech recognition (ASR) is enabled. Valid values:'."\n" - ."\n" - .'* **false**: ASR is disabled.'."\n" - .'* **true**: ASR is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'GmtCreate' => [ - 'description' => 'The creation time of the binding.'."\n", - 'type' => 'string', - 'example' => '2019-03-05 12:00:00', - ], - 'ExpireDate' => [ - 'description' => 'The expiration time of the binding.'."\n", - 'type' => 'string', - 'example' => '2019-09-05 12:00:00', - ], - 'SubsId' => [ - 'description' => 'The binding ID.'."\n", - 'type' => 'string', - 'example' => '100000076879****', - ], - 'PhoneNoX' => [ - 'description' => 'The private number in the binding, that is, phone number X.'."\n", - 'type' => 'string', - 'example' => '13900001234', - ], - 'CallRestrict' => [ - 'description' => 'The status of one-way call restrictions. No value is returned for this parameter if one-way call restrictions are not set. Valid values:'."\n" - ."\n" - .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" - .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", - 'type' => 'string', - 'example' => 'CONTROL_BX_DISABLE ', - ], - 'ASRModelId' => [ - 'description' => 'The ID of the ASR model.'."\n", - 'type' => 'string', - 'example' => '123456', - ], - 'PhoneNoA' => [ - 'description' => 'Phone number A in the binding.'."\n", - 'type' => 'string', - 'example' => '13900001111', + 'SecretBind' => [ + 'description' => 'A list of AXG binding results.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SecretNo' => ['description' => 'The private number (Number X).', 'type' => 'string', 'example' => '139****1111', 'title' => ''], + 'SubsId' => ['description' => 'The binding ID.', 'type' => 'string', 'example' => '1000012345******', 'title' => ''], + 'Extension' => ['description' => 'The extension.'."\n" + ."\n" + .'> The BindBatchAxg operation does not use extensions. You can ignore this parameter.', 'type' => 'string', 'example' => '257', 'title' => ''], + 'GroupId' => ['description' => 'The ID of group G (GID) in the AXG model.', 'type' => 'string', 'example' => '200001234****', 'title' => ''], + 'PhoneNoA' => ['description' => 'Number A in the AXG model.', 'type' => 'string', 'example' => '139****0000', 'title' => ''], + 'Code' => ['description' => 'The status code of the individual binding.'."\n" + ."\n" + .'- A value of `OK` indicates that the binding succeeded.'."\n" + ."\n" + .'- For a list of other error codes, see [Error codes](https://help.aliyun.com/document_detail/109196.html).', 'type' => 'string', 'example' => 'isv.INVALID_PARAMETERS', 'title' => ''], + 'Message' => ['description' => 'A description of the status code for the individual binding.', 'type' => 'string', 'example' => 'ringConfig invalid', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"066E6E47-04CB-4774-A976-4F73CB76D4A3\\",\\n \\"SecretBindDetailDTO\\": {\\n \\"Status\\": 1,\\n \\"Extension\\": \\"130\\",\\n \\"PhoneNoB\\": \\"138****0000\\",\\n \\"GroupId\\": 0,\\n \\"NeedRecord\\": true,\\n \\"ASRStatus\\": true,\\n \\"GmtCreate\\": \\"2019-03-05 12:00:00\\",\\n \\"ExpireDate\\": \\"2019-09-05 12:00:00\\",\\n \\"SubsId\\": \\"100000076879****\\",\\n \\"PhoneNoX\\": \\"139****1111\\",\\n \\"CallRestrict\\": \\"CONTROL_BX_DISABLE \\",\\n \\"ASRModelId\\": \\"7ee372834d2f4cc7ac0d0ab2d0ae1aac\\",\\n \\"PhoneNoA\\": \\"139****0000\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 066E6E47-04CB-4774-A976-4F73CB76D4A3\\n \\n 1\\n 130\\n 13900002222\\n 2000000130001\\n true\\n true\\n 2019-03-05 12:00:00\\n 2019-09-05 12:00:00\\n 100000076879****\\n 13900001234\\n CONTROL_BX_DISABLE \\n 123456\\n 13900001111\\n \\n","errorExample":""}]', - 'title' => 'QuerySubscriptionDetail', - 'summary' => 'Queries the details about a phone number binding.', - 'description' => '### [](#qps)QPS limits'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"5DCCA8CD-6C0A-50B4-A496-B1D2AB48A1C3\\",\\n \\"SecretBindList\\": {\\n \\"SecretBind\\": [\\n {\\n \\"SecretNo\\": \\"139****1111\\",\\n \\"SubsId\\": \\"1000012345******\\",\\n \\"Extension\\": \\"257\\",\\n \\"GroupId\\": \\"200001234****\\",\\n \\"PhoneNoA\\": \\"139****0000\\",\\n \\"Code\\": \\"isv.INVALID_PARAMETERS\\",\\n \\"Message\\": \\"ringConfig invalid\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Batch Add AXG Number Binding Relationships ', + 'summary' => 'Adds AXG bindings in batches. The AXG model is a Phone Number Protection Solution for scenarios requiring User Tiering, Call Scope Restriction, or Order Grabbing Restriction. In this model, G represents a Number Group, to which you can add phone numbers.', + 'description' => '- Before you bind AXG Numbers, you must purchase X Numbers, create a G Number Group, and add Numbers to the group. To create a G Number Group, see [Set up G Number Group](https://help.aliyun.com/zh/pnp/user-guide/manage-phone-number-pools#section-9bb-xrg-c78) or call the [CreateAxgGroup](https://help.aliyun.com/zh/pnp/developer-reference/api-dyplsapi-2017-05-25-createaxggroup) API.'."\n" ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n" + .'- Before binding AXG Numbers, define Role A and Role G for your business scenario. For example, on a recruitment platform, Role A can represent job applicants and Role G can represent the hiring team.'."\n" ."\n" - .'### [](#poolkeyproducttype)Limits on PoolKey and ProductType'."\n" + .'- When you call this API for Batch Binding of AXG Numbers, a single failed request does not affect others in the batch. The API returns a status code for each binding request.'."\n" ."\n" - .'You must specify either PoolKey or ProductType. If both parameters are not specified, an error is reported when you call the QuerySubscriptionDetail operation. We recommend that you specify the ProductType parameter for the original key accounts of Alibaba Cloud and the PoolKey parameter for Alibaba Cloud users.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'QuerySubsId' => [ - 'methods' => [ - 'post', - 'get', + .'### QPS limit'."\n" + ."\n" + .'The QPS limit for this API is 5,000 per user. Exceeding this limit results in throttling. Plan your API calls accordingly to avoid impacting your business.', + 'changeSet' => [ + ['createdAt' => '2023-04-27T09:07:17.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindBatchAxg'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:BindBatchAxg', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'BindGxb700' => [ + 'summary' => 'Adds a binding relationship for a 700GXB private number. The 700GXB product is a privacy protection solutions designed for scenarios that require user-level classification, call scope restrictions, and order-grabbing restrictions. In this product, G represents a number group, and you can add numbers to the group as needed.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72634', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '285985', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dyplsnext.console.aliyun.com/overview) and view the key of the phone number pool on the Number Pool Management page.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'FC123456', - ], + 'schema' => ['description' => 'The key of the China 700 number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****', 'title' => ''], ], [ - 'name' => 'PhoneNoX', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'description' => 'The private number in the binding, that is, phone number X.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1390000****', - ], + 'schema' => ['description' => 'The expiration time of the number binding.'."\n" + ."\n" + .'> Note'."\n" + .'The expiration time must be at least 1 minute later than the current binding time, accurate to the second.'."\n" + .'You can manually unbind the number at any time before the binding expires.'."\n" + .'If you unbind a number that is in an active call, the current call is not affected.', 'type' => 'string', 'required' => true, 'example' => '2021-09-05 12:00:00', 'title' => ''], + ], + [ + 'name' => 'TelB', + 'in' => 'query', + 'schema' => ['description' => 'Phone number of user B.', 'type' => 'string', 'required' => true, 'example' => '136****0000', 'title' => ''], + ], + [ + 'name' => 'DefaultA', + 'in' => 'query', + 'schema' => ['description' => 'Phone number A.'."\n" + .'The DefaultA number for the GXB private number.'."\n" + ."\n" + .'> Note'."\n" + .'The callback mode can be configured at the number pool level. When the callback mode is set to default, this field takes effect. When user B calls number X, the call is forwarded to this A number by default. If number A is not configured, the call cannot be connected.'."\n" + .'To update number A, call the number binding modification operation.', 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of number group G.'."\n" + ."\n" + .'Number group G is created by using the "Create G Number Group" message.', 'type' => 'string', 'required' => false, 'example' => '10000*****', 'title' => ''], + ], + [ + 'name' => 'TelX', + 'in' => 'query', + 'schema' => ['description' => 'The intermediate number X. If the business user does not specify an X number, the platform assigns a number from the number pool as the X number.', 'type' => 'string', 'required' => false, 'example' => '700********0000', 'title' => ''], + ], + [ + 'name' => 'NeedRecord', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the business user requires all call media files generated by this number binding relationship. Valid values:'."\n" + ."\n" + .'- true: Enable recording.'."\n" + .'- false: Disable recording (default value).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'RecType', + 'in' => 'query', + 'schema' => ['description' => 'The recording type. Valid values: mp3 and wav.', 'type' => 'string', 'required' => false, 'example' => 'mp3', 'title' => ''], + ], + [ + 'name' => 'CallRestrict', + 'in' => 'query', + 'schema' => ['description' => 'The one-way call restriction logic. Valid values:'."\n" + ."\n" + .'- CONTROL_BX_DISABLE: number B cannot call number X.'."\n" + .'- CONTROL_GX_DISABLE: numbers in number group G cannot call number X.', 'type' => 'string', 'required' => false, 'example' => 'CONTROL_AX_DISABLE', 'title' => ''], + ], + [ + 'name' => 'Audio', + 'in' => 'query', + 'schema' => ['description' => 'The audio prompt code.'."\n" + ."\n\n" + .'- GCallX_Gpre: the audio prompt code played to the caller before the call is connected when a number in group G calls number X.'."\n" + .'- GCallX_Gin: the audio prompt code played to the caller after the call is connected when a number in group G calls number X.'."\n" + .'- GCallX_Bin: the audio prompt code played to user B after the call is connected when a number in group G calls number X.'."\n" + .'- BCallX_Bpre: the audio prompt code played to user B before the call is connected when user B calls number X.'."\n" + .'- BCallX_Gin: the audio prompt code played to the callee after the call is connected when number X is called.'."\n" + .'- BCallX_Bin: the audio prompt code played to user B after the call is connected when user B calls number X.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .'"GCallX_Gpre":"185"'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'OrderId', + 'in' => 'query', + 'schema' => ['description' => 'The business order code.'."\n" + ."\n" + .'- This code has a one-to-one mapping with the actual business order and must be unique.'."\n" + ."\n" + .'- The code supports characters such as "." and "/" as domain separators. The code must not contain non-printable characters such as spaces or line breaks.'."\n" + ."\n" + .'- This field is required when the business user submits a business order code and the platform generates an Industrial Internet identifier code.', 'type' => 'string', 'required' => false, 'example' => '12345678', 'title' => ''], + ], + [ + 'name' => 'IndustrialId', + 'in' => 'query', + 'schema' => ['description' => '- The Industrial Internet identifier code, which has a one-to-one mapping with OrderID.'."\n" + ."\n" + .'- The code supports characters such as "." and "/" as domain separators. The code must not contain non-printable characters such as spaces or line breaks.'."\n" + ."\n" + .'- This field is required when the business user generates the Industrial Internet identifier code independently.', 'type' => 'string', 'required' => false, 'example' => '700.100.1/12345678', 'title' => ''], + ], + [ + 'name' => 'OutId', + 'in' => 'query', + 'schema' => ['description' => 'An external business extension field. This parameter is returned in the call record receipt message.', 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], + ], + [ + 'name' => 'OutOrderId', + 'in' => 'query', + 'schema' => ['description' => 'The external business ID.', 'type' => 'string', 'required' => false, 'example' => 'abcdefgh', 'title' => ''], + ], + [ + 'name' => 'NeedAsr', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the ASR service. Valid values: '."\n" + ."\n" + .'- false: Disabled (default value).'."\n" + ."\n" + .'- true: Enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'AsrModelId', + 'in' => 'query', + 'schema' => ['description' => 'The ASR model ID. Valid values: '."\n" + ."\n" + .'- General-Phone-Chinese Mandarin model ID: 7ee372834d2f4cc7ac0d0ab2d0ae1aac '."\n" + .'- General-Phone-Chinese Cantonese model ID: 9b4afe3d224e4fa3bf963697113e2f77 '."\n" + .'- General-Phone-Regional Accent model ID: 3655a6cb94764145a1f9a38a3c3b3b4b.', 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], + ], + [ + 'name' => 'CallTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The sequential ringing duration. Unit: seconds. Valid values: 5 to 20.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'DtmfConfig', + 'in' => 'query', + 'schema' => ['description' => 'The DTMF key configuration, used when setting up AXB intermediate number binding. The following items can be configured:'."\n" + ."\n" + .'- endCallIvrPhoneNo: the party to play the audio prompt to, A or B. '."\n" + .'- waitingDtmfTime: the maximum wait time after the first audio prompt is played. Maximum value: 30 seconds. '."\n" + .'- maxLoop dtmf: the maximum number of times the first audio file is played in a loop when the key input does not match. Maximum value: 5. '."\n" + .'- step1File: the name of the first audio file. '."\n" + .'- step2File: the name of the second audio file.'."\n" + .'- validKey: the valid key values, such as 1,2. Only two valid key values can be configured, separated by ",". '."\n" + .'- waitingEndCall: the carrier hang-up wait time. Maximum value: 10 seconds.', 'type' => 'string', 'required' => false, 'example' => '{ "endCallIvrPhoneNo":"A", "waitingDtmfTime":10, "maxLoop":3, "step1File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_1.wav", "step2File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_2.wav", "validKey":"1,2", "waitingEndCall":2 }', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code. The value OK indicates that the request was successful.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'E7F99446-8191-43C0-99B5-F58A6AEAD779', - ], - 'SubsId' => [ - 'description' => 'The binding ID.'."\n", - 'type' => 'string', - 'example' => '11111111****', + 'AccessDeniedDetail' => ['description' => 'The access denied details.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9297B722-A016-43FB-B51A-E54050******'."\n", 'title' => ''], + 'Message' => ['description' => 'The description.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'SecretNo' => ['description' => 'The purchased 700 private number, which is the X number.', 'type' => 'string', 'example' => '700********0001', 'title' => ''], + 'SubsId' => ['description' => 'The number binding ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '123*******', 'title' => ''], + ], + 'example' => '', + 'title' => '', ], + 'Code' => ['description' => 'The response code. Valid values:'."\n" + .'OK: The request was successful.'."\n" + .'Other values indicate failure.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation was successful. Valid values:'."\n" + .'true: Successful.'."\n" + .'false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'POOLKEY_NOT_EXIST', - 'errorMessage' => 'poolKey not exsit.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"{}\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"SecretNo\\": \\"700********0001\\",\\n \\"SubsId\\": 0\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Bindnumber for 700GXB', + 'description' => 'Before calling this operation, make sure that you have purchased a private number in the console.'."\n" + ."\n" + .'You can use this operation to bind numbers to a 700GXB private number, or bind numbers on the Number Management page in the console.'."\n" + ."\n" + .'Before binding numbers for a 700GXB private number, clarify the G role and B role in your business scenario. For example, on a recruitment platform, B is the job applicant and G is the recruitment team.'."\n" + ."\n" + .'QPS limit'."\n" + .'The single-user QPS limit for this operation is 5,000 calls per second. If this limit is exceeded, API calls are throttled, which may affect your business. Call this operation appropriately.', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"E7F99446-8191-43C0-99B5-F58A6AEAD779\\",\\n \\"SubsId\\": \\"1000******,1000******,1000******\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\tOK\\n\\t117809\\n\\tF3BC6628-7976-41BA-87D0-D152BAB2A9C8\\n\\tOK\\n","errorExample":""}]', - 'title' => 'QuerySubsId', - 'summary' => 'Queries binding IDs.', - 'description' => 'You can query binding IDs by phone number X. In the AXB product, multiple bindings may exist for the same phone number X. In this case, multiple binding IDs may be obtained for the same phone number X.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'QuerySecretNoDetail' => [ - 'summary' => 'Queries the attributes of a private number.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BindXB' => [ + 'summary' => 'Requests the work number platform to create an association (B, X) between a specified work number X and an employee number B. The binding takes effect only after the employee (number B) completes real-name verification for work number X. After the binding succeeds, all calls to work number X are forwarded to employee number B. The work number platform pushes the binding result to the caller through the asynchronous notification API.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '107292', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '244978', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SecretNo', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => 'The private number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Ensure atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'PoolKey', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FC2258****', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. The system automatically obtains this value. You do not need to specify it.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '066E6E47-04CB-4774-A976-4F73CB76D4A3', - ], - 'SecretNoInfoDTO' => [ - 'description' => 'The attributes of the phone number.'."\n", - 'type' => 'object', - 'properties' => [ - 'PurchaseTime' => [ - 'description' => 'The time when the phone number was purchased.'."\n", - 'type' => 'string', - 'example' => '2021-12-03 15:19:27', - ], - 'Vendor' => [ - 'description' => 'The carrier to which the phone number belongs. Valid values:'."\n" - ."\n" - .'* **1**: China Mobile'."\n" - .'* **2**: China Unicom'."\n" - .'* **3**: China Telecom'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Province' => [ - 'description' => 'The province.'."\n", - 'type' => 'string', - 'example' => 'sichuan', - ], - 'City' => [ - 'description' => 'The city.'."\n", - 'type' => 'string', - 'example' => 'chengdu', - ], - 'SecretStatus' => [ - 'description' => 'The status of the phone number. Valid values:'."\n" - ."\n" - .'* **0**: The phone number is not bound to other phone numbers.'."\n" - .'* **1**: The phone number is bound to other phone numbers.'."\n" - .'* **2**: The phone number is locked.'."\n" - .'* **3**: The phone number is frozen.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'CertifyStatus' => [ - 'description' => 'The verification status of the phone number. Valid values:'."\n" - ."\n" - .'* **0**: The phone number is not verified.'."\n" - .'* **1**: The phone number is verified.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'FlowLimited', - 'errorMessage' => 'The operation is denied due to flow control.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"066E6E47-04CB-4774-A976-4F73CB76D4A3\\",\\n \\"SecretNoInfoDTO\\": {\\n \\"PurchaseTime\\": \\"2021-12-03 15:19:27\\",\\n \\"Vendor\\": 1,\\n \\"Province\\": \\"陕西\\",\\n \\"City\\": \\"西安\\",\\n \\"SecretStatus\\": 0,\\n \\"CertifyStatus\\": 0\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 066E6E47-04CB-4774-A976-4F73CB76D4A3\\n \\n 2021-12-03 15:19:27\\n 1\\n 陕西省\\n 西安\\n 0\\n 0\\n \\n","errorExample":""}]', - 'title' => 'QuerySecretNoDetail', - 'description' => '### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'CreateAxgGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '72614', - 'abilityTreeNodes' => [ - 'FEATUREdyplsNPUT41', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FC123456', - ], + 'schema' => ['title' => '', 'description' => 'The number pool key.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'Name', + 'name' => 'TelB', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of number group G. If the name of number group G is not specified, the ID of number group G is used as the name of number group G.'."\n" - ."\n" - .'> The value must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Aliyun', - ], + 'schema' => ['title' => '', 'description' => 'The real phone number of the employee.', 'type' => 'string', 'required' => true, 'example' => '18*******22'], ], [ - 'name' => 'Remark', + 'name' => 'TelX', 'in' => 'query', - 'schema' => [ - 'description' => 'The remarks of number group G. The value must be 0 to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['title' => '', 'description' => 'The X number.', 'type' => 'string', 'required' => true, 'example' => '17*******22'], ], [ - 'name' => 'Numbers', + 'name' => 'UserData', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone numbers that you add to number group G. Separate multiple phone numbers with commas (,). A maximum of 200 phone numbers can be added to number group G.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1390000****,1380000**** ', - ], + 'schema' => ['title' => '', 'description' => 'The pass-through parameter that you can customize.', 'type' => 'string', 'required' => false, 'example' => '000'], ], ], 'responses' => [ @@ -3247,57 +2527,48 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '635C0FDA-9EBC-43D7-B368-9F583C08A126', - ], - 'GroupId' => [ - 'description' => 'The ID of number group G. The value of this parameter is required when the [BindAxg](~~110249~~) operation is called to add an AXG binding.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2000000000001', + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The returned message.', 'type' => 'string', 'example' => '成功'], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'AuthId' => ['title' => '', 'description' => 'The unique identifier of the work number relationship binding.', 'type' => 'string', 'example' => '4353453456'], + 'TelX' => ['title' => '', 'description' => 'The X number.', 'type' => 'string', 'example' => '18640577897'], + ], + 'example' => '', + 'description' => '', + 'title' => '', ], + 'Code' => ['title' => '', 'description' => 'The returned status code. Valid values:'."\n" + ."\n" + .'- 0000: Succeeded.'."\n" + ."\n" + .'Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: Succeeded.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'false'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"AuthId\\": \\"4353453456\\",\\n \\"TelX\\": \\"18640577897\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'title' => 'Bind XB relationship', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"635C0FDA-9EBC-43D7-B368-9F583C08A126\\",\\n \\"GroupId\\": 0\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t635C0FDA-9EBC-43D7-B368-9F583C08A126\\r\\n\\tOK\\r\\n\\t2000000000001\\r\\n","errorExample":""}]', - 'title' => 'CreateAxgGroup', - 'summary' => 'Creates number group G.', - 'description' => 'Before you add an AXG binding, you must purchase phone number X, create number group G, and then add phone numbers to number group G. If you do not add phone numbers to number group G after you create number group G, you can call the [OperateAxgGroup](https://help.aliyun.com/document_detail/110252.htm) operation to add phone numbers to number group G.'."\n" - ."\n" - .'> Up to 2,000 number groups G can be added for a single phone number pool.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'OperateAxgGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BuySecretNo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3305,13 +2576,11 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72627', - 'abilityTreeNodes' => [ - 'FEATUREdyplsNPUT41', - ], + 'abilityTreeCode' => '72612', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -3319,64 +2588,41 @@ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC123456', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC123456', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'SpecId', 'in' => 'query', - 'schema' => [ - 'description' => 'The group ID in the AXG binding.'."\n" - ."\n" - .'You can view the group ID by using either of the following methods:'."\n" - ."\n" - .'* On the **Number Pool Management** page in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account), filter AXG private numbers and click **Number Group G Management** to view the group IDs of number groups G.****'."\n" - .'* If the [CreateAxgGroup](~~110250~~) operation is called to create number group G, the value of **GroupId** in the response of the CreateAxgGroup operation is specified as the value of the request parameter **GroupId** of the OperateAxgGroup operation.'."\n" - ."\n" - .'> Number group G must have one or more phone numbers.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '1234', - ], + 'schema' => ['description' => 'The type of the phone number. Valid values:'."\n" + ."\n" + .'* **1**: a phone number assigned by a virtual network operator, that is, a phone number that belongs to the 170 or 171 number segment.'."\n" + .'* **2**: a phone number provided by a carrier.'."\n" + .'* **3**: a phone number that starts with 95.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'OperateType', + 'name' => 'City', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the operation on number group G. Valid values:'."\n" - ."\n" - .'* **addNumbers**: adds phone numbers to number group G.'."\n" - .'* **deleteNumbers**: deletes phone numbers from number group G.'."\n" - .'* **overwriteNumbers**: replaces all phone numbers in number group G. All the original phone numbers are deleted from number group G, and new phone numbers are added to number group G.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* When you replace all phone numbers in number group G, the quantity of original phone numbers in number group G cannot exceed 200.'."\n" - ."\n" - .'* You can add up to 200 phone numbers to number group G at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'addNumbers', - ], + 'schema' => ['description' => 'Specifies the home location of the phone number.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* The home location can be set only to a location in the Chinese mainland.'."\n" + ."\n" + .'* A phone number that starts with 95 does not have a home location. If you purchase a phone number that starts with 95, set this parameter to **Nationwide**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '杭州', 'title' => ''], ], [ - 'name' => 'Numbers', + 'name' => 'SecretNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The phone numbers that you add to number group G. Separate the phone numbers with commas (,). You can add up to 200 phone numbers at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1390000****,1380000****', - ], + 'schema' => ['description' => 'The prefix of the phone number. If you specify the value of **SecretNo** when you purchase a phone number, a phone number starting with the specified prefix is selected.'."\n" + ."\n" + .'> You can specify up to 18 digits of the phone number prefix.'."\n", 'type' => 'string', 'required' => false, 'example' => '130', 'title' => ''], + ], + [ + 'name' => 'DisplayPool', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to add the phone number to the pool of numbers that will be displayed during calls.'."\n" + ."\n" + .'> This parameter takes effect only for customers who have enabled the number display feature.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -3384,205 +2630,268 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '986BCB6D-C9BF-42F9-91CE-3A9901233D36', + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', 'title' => ''], + 'SecretBuyInfoDTO' => [ + 'description' => 'The information returned after the operation was called.'."\n", + 'type' => 'object', + 'properties' => [ + 'SecretNo' => ['description' => 'The private number, that is, phone number X.'."\n", 'type' => 'string', 'example' => '1390000****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A9901233D36\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 986BCB6D-C9BF-42F9-91CE-3A9901233D36\\n","errorExample":""}]', - 'title' => 'OperateAxgGroup', - 'summary' => 'Modifies number group G.', - 'description' => 'After you create number group G, you can call the OperateAxgGroup operation to modify number group G. For example, you can add phone numbers to number group G, delete phone numbers from number group G, and replace all phone numbers in number group G.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\",\\n \\"SecretBuyInfoDTO\\": {\\n \\"SecretNo\\": \\"1390000****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\t\\r\\n\\t\\t17100000000\\r\\n\\t\\r\\n\\tOK\\r\\n\\t2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\r\\n\\tOK\\r\\n","errorExample":""}]', + 'title' => 'BuySecretNo', + 'summary' => 'Purchases a phone number.', + 'description' => '* After you create a phone number pool in the Phone Number Protection console, the phone number pool is empty by default. You must purchase phone numbers and add them to the phone number pool.'."\n" + .'* Before you call this operation, make sure that you are familiar with the [pricing](~~59825~~) of Phone Number Protection.'."\n" + .'* When purchasing a phone number, specify the home location. If no sufficient phone numbers are available for purchase in the home location, the purchase of the phone number fails. Before you call this operation to purchase a phone number, check the quantity of phone numbers available for purchase by using the [QuerySecretNoRemain](~~111699~~) operation.'."\n" + .'* The account used to purchase a phone number must be an enterprise account that has passed real-name verification. For more information about how to perform real-name verification, see [Enterprise verification FAQs](~~37172~~).'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteAxgGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'dypls:BuySecretNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CancelPickUpWaybill' => [ + 'summary' => 'Cancels a door-to-door delivery order.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '175380', - 'abilityTreeNodes' => [ - 'FEATUREdypls13M9H9', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'abilityTreeCode' => '100670', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'Content-Type', + 'in' => 'header', + 'schema' => ['description' => 'The content type of the HTTP request. This parameter is optional. If you specify this parameter, enter application/json;chatset=UTF-8.'."\n", 'type' => 'string', 'required' => false, 'example' => 'application/json;chatset=UTF-8', 'default' => 'application/json;charset=UTF-8', 'title' => ''], + ], + [ + 'name' => 'OuterOrderCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC2235****', - ], + 'schema' => ['description' => 'The ID of the external order.'."\n", 'type' => 'string', 'required' => true, 'example' => '1145678823****', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'CancelDesc', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '1234', - ], + 'schema' => ['description' => 'The cancellation reason.'."\n", 'type' => 'string', 'required' => true, 'example' => '不想退货了', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050D9369D', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2', 'title' => ''], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'Success' => ['description' => 'Indicates whether the cancellation was successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => '无', 'title' => ''], + 'Message' => ['description' => 'The cancellation result.'."\n", 'type' => 'string', 'example' => '取消成功', 'title' => ''], + 'ErrorMsg' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => '无', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050D9369D\\"\\n}","type":"json"}]', - ], - 'QueryRecordFileDownloadUrl' => [ - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['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' => ''], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"Data\\": {\\n \\"Success\\": true,\\n \\"ErrorCode\\": \\"无\\",\\n \\"Message\\": \\"取消成功\\",\\n \\"ErrorMsg\\": \\"无\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'CancelPickUpWaybill', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'changeSet' => [ + ['createdAt' => '2021-11-25T07:45:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:CancelPickUpWaybill', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ConfigX' => [ + 'summary' => 'Configures an X number to individually set up communication features such as voice calls and enterprise name cards for the work number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72631', - 'abilityTreeNodes' => [ - 'FEATUREdyplsVL8MN2', - ], + 'abilityTreeCode' => '244982', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" - ."\n" - .'> This parameter is required when **ProductType** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'FC123456', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length of reqId is 20 characters. The caller must ensure atomicity.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'ProductType', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => 'The product type. Valid values:'."\n" - ."\n" - .'* **AXB\\_170**.'."\n" - .'* **AXN\\_170**.'."\n" - .'* **AXN\\_95**.'."\n" - .'* **AXN_EXTENSION_REUSE**'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" - ."\n" - .'* This parameter is required when **PoolKey** is left empty.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AXB_170', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '系统自动获取,无需输入。'], ], [ - 'name' => 'CallId', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the call record. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view **Call Record ID** on the **Call Record Query** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'abcedf1234', - ], + 'schema' => ['title' => '', 'description' => 'The number pool key.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'CallTime', + 'name' => 'TelX', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The X number.', 'type' => 'string', 'required' => true, 'example' => '17*******22'], + ], + [ + 'name' => 'GNFlag', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to pass through the caller ID as the real caller. Valid values:'."\n" + ."\n" + .'- 00: non-passthrough. The work number is displayed when both parties call each other.'."\n" + ."\n" + .'- 10: passthrough. When customer A is the caller, the caller ID displayed to employee B is customer A\'s number. When employee B is the caller, the caller ID displayed to customer A is the work number.'."\n" + ."\n" + .'Default value: 00.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'SmsSignMode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to pass through the caller ID as the real user. Valid values:'."\n" + ."\n" + .'- 0: non-passthrough.'."\n" + ."\n" + .' - 1: passthrough.'."\n" + ."\n" + .'Default value: 0 (non-passthrough).', 'type' => 'string', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'SmsAbility', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Enables or disables the SMS feature. Valid values:'."\n" + ."\n" + .'- 0: disabled.'."\n" + ."\n" + .'- 1: enabled.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'CallAbility', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Enables or disables the call capability. Valid values:'."\n" + ."\n" + .'- 0: disabled.'."\n" + ."\n" + .'- 1: enabled.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'SequenceMode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The sequential ringing mode. Valid values:'."\n" + ."\n" + .'- 0: no sequential ringing (default).'."\n" + ."\n" + .'- 1: conditional sequential ringing. The system first connects to the called party specified by calledNo. If the called party cannot be reached, the system sequentially rings the numbers in the sequenceCalls list.'."\n" + ."\n" + .'- 2: unconditional sequential ringing. The system does not connect to the called party specified by calledNo and directly rings the numbers in the sequenceCalls list.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], + [ + 'name' => 'SequenceCalls', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The call initiation time in the call record. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). View **Call Initiated At** on the **Call Record Query** page, or view the call_time field in the Call Detail Record (CDR) receipt.'."\n", - 'type' => 'string', + 'title' => '', + 'description' => 'The sequential ringing control parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SequenceCallNoPlayCode' => ['title' => '', 'description' => 'The prompt tone code for sequential ringing. The format is the same as callNoPlayCode.', 'type' => 'string', 'required' => false, 'example' => '01'], + 'SequenceCalledNo' => ['title' => '', 'description' => 'The called number for sequential ringing.', 'type' => 'string', 'required' => false, 'example' => '18*******33'], + 'SequenceCalledPlayCode' => ['title' => '', 'description' => 'The tone code played to the caller and called party after the call is connected. The format is the same as calledPlayCode.', 'type' => 'string', 'required' => false, 'example' => '02'], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'docRequired' => true, - 'example' => '2019-03-05 12:00:00 ', + 'example' => '', ], ], ], @@ -3591,266 +2900,227 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1AB3CEF7-DCBE-488C-9C33-D180982CE031', - ], - 'DownloadUrl' => [ - 'description' => 'The download URL of the recording file. The download URL is valid for 2 hours.'."\n", - 'type' => 'string', - 'example' => 'http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=155175****&OSSAccessKeyId=LTAIP00vvvv****v&Signature=tK6Yq9KusU4n%2BZ****7lg4/WmEA%3D', + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => '成功', 'title' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'Message' => ['title' => '', 'description' => 'The returned message.', 'type' => 'string', 'example' => '成功'], + 'Code' => ['title' => '', 'description' => 'The returned status code. 0000 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful. true indicates success. false indicates failure.', 'type' => 'boolean', 'example' => 'true'], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The returned status code. Valid values:'."\n" + ."\n" + .'- 0000: success.'."\n" + ."\n" + .' Other values indicate failure.', 'type' => 'string', 'example' => '0000', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: success.'."\n" + .' '."\n" + .'- false: failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"1AB3CEF7-DCBE-488C-9C33-D180982CE031\\",\\n \\"DownloadUrl\\": \\"http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820******_66647243838006067251************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n********7lg4/WmEA%3D\\"\\n}","errorExample":""},{"type":"xml","example":"\\n1AB3CEF7-DCBE-488C-9C33-D180982CE031\\nOK\\nOK\\nhttp://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=1551759607&OSSAccessKeyId=LTAIP00vvvvvvvvv&Signature=tK6Yq9KusU4n%2BZQWXI7lg4/WmEA%3D\\n","errorExample":""}]', - 'title' => 'QueryRecordFileDownloadUrl', - 'summary' => 'Obtains the download URL of a recording file.', - 'description' => 'If the recording feature is enabled for a binding, all calls made by the bound phone numbers are recorded. You can obtain the download URL of a recording file by calling the QueryRecordFileDownloadUrl operation and download the recording file.'."\n" - ."\n" - .'> We recommend that you subscribe to [the recording status report SecretRecording](~~109198~~). The values of the response parameters in SecretRecording can be used as the values of the request parameters for downloading a recording file.'."\n" - ."\n" - .'### [](#)Procedure for obtaining a recording file'."\n" - ."\n" - .'1. Specify the request parameter in an update or binding operation to enable the recording feature.'."\n" - .'2. Subscribe to recording message receipts in the Phone Number Protection console.'."\n" - .'3. After a recording message receipt is returned, call the QueryRecordFileDownloadUrl operation to obtain the download URL of the recording file, and download the recording file.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* A download URL is valid for 2 hours. Download the recording file as soon as possible after obtaining a download URL.'."\n" - ."\n" - .'* The storage period of recording files is 30 days. You can download only the recording files of calls recorded in the last 30 days.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'GetTotalPublicUrl' => [ - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"\\",\\n \\"Data\\": {\\n \\"Message\\": \\"成功\\",\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Configure the communication properties of an X number', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:ConfigX', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'CreateAxgGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72621', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '72614', + 'abilityTreeNodes' => ['FEATUREdyplsNPUT41'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'CheckSubs', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the verification on the binding ID is required.'."\n", - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'false', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'example' => 'FC10000012345****', 'title' => ''], ], [ - 'name' => 'PartnerKey', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC12256****', - ], + 'schema' => ['description' => 'The name of number group G. If the name of number group G is not specified, the ID of number group G is used as the name of number group G.'."\n" + ."\n" + .'> The value must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '测试分组', 'title' => ''], ], [ - 'name' => 'CallId', + 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the call record.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view **Call Record ID** on the **Call Record Query** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2568900****', - ], + 'schema' => ['description' => 'The remarks of number group G. The value must be 0 to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '测试用分组', 'title' => ''], ], [ - 'name' => 'CallTime', + 'name' => 'Numbers', 'in' => 'query', - 'schema' => [ - 'description' => 'The call initiation time in the call record.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). View **Call Initiated At** on the **Call Record Query** page, or view the call_time field in the Call Detail Record (CDR) receipt.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2019-03-05 12:00:00 ', - ], + 'schema' => ['description' => 'The phone numbers that you add to number group G. Separate multiple phone numbers with commas (,). A maximum of 200 phone numbers can be added to number group G.'."\n", 'type' => 'string', 'required' => false, 'example' => '1390000****,1380000**** ', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1AB3CEF7-DCBE-488C-9C33-D180982CE031', - ], - 'Data' => [ - 'description' => 'The download URLs of the recording files.'."\n", - 'type' => 'object', - 'properties' => [ - 'RingPublicUrl' => [ - 'description' => 'The download URL of the recorded ringing tone.'."\n" - ."\n" - .'> The download URL of the recorded ringing tone is valid for 30 days.'."\n", - 'type' => 'string', - 'example' => 'http://secret-ab-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=155175****&OSSAccessKeyId=LTAIP00vvv****vv&Signature=tK6Yq9KusU4n%2BZQW****g4/WmEA%3D', - ], - 'PhonePublicUrl' => [ - 'description' => 'The download URL of the recorded call.'."\n" - ."\n" - .'> The download URL of the recorded call is valid for 30 days.'."\n", - 'type' => 'string', - 'example' => 'http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=1551****07&OSSAccessKeyId=LTAIP00vvvv****v&Signature=tK6Yq9KusU4n%2BZQWX****4/WmEA%3D', - ], - ], - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '635C0FDA-9EBC-43D7-B368-9F583C08A126', 'title' => ''], + 'GroupId' => ['description' => 'The ID of number group G. The value of this parameter is required when the [BindAxg](~~110249~~) operation is called to add an AXG binding.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '200001234****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'FlowLimited', - 'errorMessage' => 'The operation is denied due to flow control.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"1AB3CEF7-DCBE-488C-9C33-D180982CE031\\",\\n \\"Data\\": {\\n \\"RingPublicUrl\\": \\"http://secret-ab-reco****cn-shanghai.aliyuncs.com/10000008********_66647243838006067***************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n***************EA%3D\\",\\n \\"PhonePublicUrl\\": \\"http://secret-ab-reco****cn-shanghai.aliyuncs.com/10000008********_66647243838006067***************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n***************EA%3D\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nOK\\n1AB3CEF7-DCBE-488C-9C33-D180982CE031\\n\\n http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=1551759607&OSSAccessKeyId=LTAIP00vvvvvvvvv&Signature=tK6Yq9KusU4n%2BZQWXI7lg4/WmEA%3D\\n http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=1551759607&OSSAccessKeyId=LTAIP00vvvvvvvvv&Signature=tK6Yq9KusU4n%2BZQWXI7lg4/WmEA%3D\\n\\nOK\\n","errorExample":""}]', - 'title' => 'GetTotalPublicUrl', - 'summary' => 'Obtains the download URL of a recorded ringing tone.', - 'description' => '### [](#qps)QPS limits'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"635C0FDA-9EBC-43D7-B368-9F583C08A126\\",\\n \\"GroupId\\": 0\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t635C0FDA-9EBC-43D7-B368-9F583C08A126\\r\\n\\tOK\\r\\n\\t2000000000001\\r\\n","errorExample":""}]', + 'title' => 'CreateAxgGroup', + 'summary' => 'Creates number group G.', + 'description' => 'Before you add an AXG binding, you must purchase phone number X, create number group G, and then add phone numbers to number group G. If you do not add phone numbers to number group G after you create number group G, you can call the [OperateAxgGroup](https://help.aliyun.com/document_detail/110252.htm) operation to add phone numbers to number group G.'."\n" ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + .'> Up to 2,000 number groups G can be added for a single phone number pool.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'GetSecretAsrDetail' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAxgGroup'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:CreateAxgGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateFixedNoAReport' => [ + 'summary' => 'Submit Individual Information of a landline number A through an API.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '72619', - 'abilityTreeNodes' => [ - 'FEATUREdyplsVL8MN2', - ], - ], + 'deprecated' => false, 'parameters' => [ [ - 'name' => 'CallId', + 'name' => 'FixedNoA', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the call record.'."\n" - ."\n" - .'You can log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view **Call Record ID** on the **Call Record Query** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '225625****', - ], + 'schema' => ['title' => '', 'description' => 'Number A (fixed-line number).', 'type' => 'string', 'required' => true, 'example' => '89*****1234'], ], [ - 'name' => 'CallTime', + 'name' => 'ANoWhiteGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The call initiation time in the call record.'."\n" - ."\n" - .'You can log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). View **Call Initiated At** on the **Call Record Query** page, or view the call_time field in the Call Detail Record (CDR) receipt.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '2019-03-05 12:00:00', - ], + 'schema' => ['title' => '', 'description' => 'ID of the group to which Number A belongs. On the [Qualification Management](https://dyplsnext.console.aliyun.com/qualification) Page, go to the A-number whitelist section of the relevant qualification and click View Details.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '12'], ], [ - 'name' => 'PoolKey', + 'name' => 'DocumentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'You can log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC2267****', - ], + 'schema' => ['title' => '', 'description' => 'Certificate type. Enter 1 for ID card.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1'], + ], + [ + 'name' => 'CustName', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Name.', 'type' => 'string', 'required' => true, 'example' => '赵**'], + ], + [ + 'name' => 'DocumentNumber', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Certificate number.', 'type' => 'string', 'required' => true, 'example' => '370*********'], + ], + [ + 'name' => 'CustType', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Fixed-line customer type. Valid values:'."\n" + ."\n" + .'- 1: Legal representative.'."\n" + ."\n" + .'- 2: Agent.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1'], + ], + [ + 'name' => 'FixedLineWorkId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Ticket number from the offline service hall when applying for a fixed-line number.', 'type' => 'string', 'required' => false, 'example' => '45***12'], + ], + [ + 'name' => 'IdCardFrontPhoto', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'OSS path of the photo of the front (national emblem side) of the ID card.', 'type' => 'string', 'required' => false, 'example' => '123456/test1719383196031.jpg'], + ], + [ + 'name' => 'IdCardBackPhoto', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'OSS path of the photo of the back (portrait side) of the ID card.', 'type' => 'string', 'required' => false, 'example' => '123456/test1719383196032.jpg'], + ], + [ + 'name' => 'IdCardAlivePhoto', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'OSS path of the front-facing portrait photo.', 'type' => 'string', 'required' => true, 'example' => '123456/test1719383196033.jpg'], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Remarks (user-defined business notes).', 'type' => 'string', 'required' => false, 'example' => '***报备'], + ], + [ + 'name' => 'CustPhoneNo', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Phone number of the legal representative or agent. '."\n" + .'>If this qualification includes a Mobile X number, this field is Required; otherwise, the Review will Fail.', 'type' => 'string', 'required' => false, 'example' => '130*****8888'], ], ], 'responses' => [ @@ -3858,147 +3128,57 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'Details of denied access.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'RequestId' => ['title' => '', 'description' => 'The returned ID.', 'type' => 'string', 'example' => '1D73E648-0978-18A5-B089-3BB2'], + 'Message' => ['title' => '', 'description' => 'Error message for failure.', 'type' => 'string', 'example' => '固话号码***已存在'], 'Data' => [ - 'description' => 'The ASR details.'."\n", + 'title' => '', + 'description' => 'The struct of the reporting result for number A.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8d2329d407a83447a83be441681f4872ac74nE', - ], - 'BusinessId' => [ - 'description' => 'The ID of the business process.'."\n", - 'type' => 'string', - 'example' => '435ee78c7a019650@!FC100000074672458@!2020061522****', - ], - 'BusinessKey' => [ - 'description' => 'The business keyword.'."\n", - 'type' => 'string', - 'example' => 'JCGTncltuNao****', - ], - 'Code' => [ - 'description' => 'The status code. The status code 21050000 indicates that the request was successful.'."\n", - 'type' => 'string', - 'example' => '21050000', - ], - 'Msg' => [ - 'description' => 'The description.'."\n", - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'BizDuration' => [ - 'description' => 'The total duration of the audio file that was recognized. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10944', - ], - 'Type' => [ - 'description' => 'The type.'."\n", - 'type' => 'string', - 'example' => 'asrResult', - ], - 'Sentences' => [ - 'description' => 'The ASR result.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The end time offset of the sentence. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1770', - ], - 'SilenceDuration' => [ - 'description' => 'The silence duration between the current sentence and the previous sentence. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'BeginTime' => [ - 'description' => 'The start time offset of the sentence. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1020', - ], - 'Text' => [ - 'description' => 'The recognition result of the sentence.'."\n", - 'type' => 'string', - 'example' => 'Hello', - ], - 'ChannelId' => [ - 'description' => 'The ID of the audio track to which the sentence belongs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SpeechRate' => [ - 'description' => 'The average speech rate of the sentence. Unit: number of words per minute.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'EmotionValue' => [ - 'description' => 'The emotion value. Value range: 1 to 10. The higher the value, the stronger the emotion.'."\n", - 'type' => 'string', - 'example' => '5.7', - ], - ], - ], - ], + 'CreateResult' => ['title' => '', 'description' => 'Creation result.', 'type' => 'boolean', 'example' => 'true'], + 'FailType' => ['title' => '', 'description' => 'Enumeration of creation types. The value 1 indicates success, and negative numbers indicate creation failure. Valid values:'."\n" + ."\n" + .'- 1: Succeeded.'."\n" + ."\n" + .'- -1: The phone number has already been submitted for reporting; no need to submit again.'."\n" + ."\n" + .'- -2: The phone number has already been successfully reported; no need to report again.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], ], 'example' => '', ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', - ], + 'Code' => ['title' => '', 'description' => 'Request status code.', 'type' => 'string', 'example' => '200'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request succeeded. Valid values:'."\n" + ."\n" + .'- true: Succeeded.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'isp.RAM_PERMISSION_DENY', - 'errorMessage' => 'RAM permission is denied.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"RequestId\\": \\"8d2329d407a83447a83be441681f4872ac74nE\\",\\n \\"BusinessId\\": \\"435ee78c7a******@!FC100000074******@!2020061522****\\",\\n \\"BusinessKey\\": \\"JCGTncltuNao****\\",\\n \\"Code\\": \\"21050000\\",\\n \\"Msg\\": \\"SUCCESS\\",\\n \\"BizDuration\\": 10944,\\n \\"Type\\": \\"asrResult\\",\\n \\"Sentences\\": [\\n {\\n \\"EndTime\\": 1770,\\n \\"SilenceDuration\\": 0,\\n \\"BeginTime\\": 1020,\\n \\"Text\\": \\"您好\\",\\n \\"ChannelId\\": 0,\\n \\"SpeechRate\\": 80,\\n \\"EmotionValue\\": \\"5.7\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n \\n 8d2329d407a83447a83be441681f4872ac74nE\\n 435ee78c7a019650@!FC100000074672458@!2020061522****\\n JCGTncltuNao****\\n 21050000\\n SUCCESS\\n 10944\\n asrResult\\n \\n 1770\\n 0\\n 1020\\n 您好\\n 0\\n 80\\n 5.7\\n \\n \\n F655A8D5-B967-440B-8683-DAD6FF8DE990\\n","errorExample":""}]', - 'title' => 'GetSecretAsrDetail', - 'summary' => 'Obtains the details of the automatic speech recognition (ASR) result.', - 'description' => 'Before you call the GetSecretAsrDetail operation, set the ASRStatus parameter to true in the [BindAxn operation](~~400483~~). This ensures that you can obtain the ASR result properly.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'extraInfo' => ' ', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"固话号码***已存在\\",\\n \\"Data\\": {\\n \\"CreateResult\\": true,\\n \\"FailType\\": 1\\n },\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Submit Individual Real-name Information for Landline Number A', + 'description' => 'Before invoking this API, you need to first call [GetDyplsOSSInfoForUploadFile](~~2880885~~) to upload the individual\'s photo information to OSS. For the detailed operation flow, see [Submit Individual Real-name Information for Number A via API](~~2880077~~).'."\n" + .'### queries per second (QPS) limit'."\n" + .'The QPS limit for this API is 50 queries per second per user. If this limit is exceeded, Rate Limiting will be applied to your API Call, which may Impact your business. Please invoke the API appropriately.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateFixedNoAReport'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [], ], - 'AddSecretBlacklist' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreatePhoneNoAReport' => [ + 'summary' => 'Submit Individual Information of an A-number mobile phone number through an API.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4006,90 +3186,51 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '72607', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], - ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'PhoneNoA', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the Number Pool Management page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC2235****', - ], + 'schema' => ['title' => '', 'description' => 'Phone number. ', 'type' => 'string', 'required' => true, 'example' => '130*****1234'], ], [ - 'name' => 'BlackNo', + 'name' => 'ANoWhiteGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The numbers in the blacklist. A point-to-point blacklist has a pair of numbers separated by a colon (:). A number pool blacklist has only one single number.'."\n" - ."\n" - .'> The asterisks (\\*) in the sample value are not wildcards.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1825638****:1825248****', - ], + 'schema' => ['title' => '', 'description' => 'ID of the A-number group. On the [Qualification Management](https://dyplsnext.console.aliyun.com/qualification) page, click View Details in the A-number whitelist section of the relevant qualification. ', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '19'], ], [ - 'name' => 'Remark', + 'name' => 'DocumentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The blacklist remarks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Customer service feedback', - ], + 'schema' => ['title' => '', 'description' => 'Certificate type. Enter 1 for an ID card. ', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1'], ], [ - 'name' => 'BlackType', + 'name' => 'CustName', 'in' => 'query', - 'schema' => [ - 'description' => 'The blacklist type. Valid values:'."\n" - ."\n" - .'* **POINT_TO_POINT_BLACK**: point-to-point blacklist.'."\n" - .'* **PARTNER_GLOBAL_NUMBER_BLACK**: number pool blacklist.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'POINT_TO_POINT_BLACK', - ], + 'schema' => ['title' => '', 'description' => 'Name. ', 'type' => 'string', 'required' => true, 'example' => '赵**'], ], [ - 'name' => 'WayControl', + 'name' => 'DocumentNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The control on the call direction.'."\n" - ."\n" - .'* **PHONEA_REJECT**: The first number in the blacklist can be used to call the second number, but the second number cannot be used to call the first number.'."\n" - .'* **PHONEB_REJECT**: The first number in the blacklist cannot be used to call the second number, but the second number can be used to call the first number.'."\n" - .'* If this parameter is left empty, the two numbers in the blacklist cannot be used to call each other.'."\n" - ."\n" - .'> This parameter is available only for a point-to-point blacklist.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* DUPLEX_REJECT'."\n" - .'* PHONEA_REJECT'."\n" - .'* PHONEB_REJECT'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PHONEA_REJECT', - 'enum' => [ - 'DUPLEX_REJECT', - 'PHONEA_REJECT', - 'PHONEB_REJECT', - ], - ], + 'schema' => ['title' => '', 'description' => 'Certificate number. ', 'type' => 'string', 'required' => true, 'example' => '370*********'], + ], + [ + 'name' => 'IdCardFrontPhoto', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'OSS path of the photo of the front side (national emblem side) of the ID card. ', 'type' => 'string', 'required' => false, 'example' => '123456/test1719383196031.jpg'], + ], + [ + 'name' => 'IdCardBackPhoto', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'OSS path of the photo of the back side (portrait side) of the ID card. ', 'type' => 'string', 'required' => false, 'example' => '123456/test1719383196032.jpg'], + ], + [ + 'name' => 'IdCardAlivePhoto', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'OSS path of the front-facing portrait photo.', 'type' => 'string', 'required' => true, 'example' => '123456/test1719383196033.jpg'], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Remark (business remark added by the user). ', 'type' => 'string', 'required' => false, 'example' => '***报备'], ], ], 'responses' => [ @@ -4097,56 +3238,61 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', + 'AccessDeniedDetail' => ['description' => 'Details of denied access.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'RequestId' => ['title' => '', 'description' => 'The returned ID.', 'type' => 'string', 'example' => '1D73E648-0978-18A5-B089-3BB2'], + 'Message' => ['title' => '', 'description' => 'Error message for failure.', 'type' => 'string', 'example' => '手机号码***已存在'], + 'Data' => [ + 'title' => '', + 'description' => 'The struct of the A-number filing result.', + 'type' => 'object', + 'properties' => [ + 'CreateResult' => ['title' => '', 'description' => 'Creation result. Valid values:'."\n" + ."\n" + .'- true: Succeeded.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], + 'FailType' => ['title' => '', 'description' => 'Enumeration of creation types. A value of 1 indicates success, and negative values indicate creation failure. Valid values:'."\n" + ."\n" + .'- 1: Succeeded.'."\n" + ."\n" + .'- -1: The mobile phone number has already been submitted for filing; no need to submit again.'."\n" + ."\n" + .'- -2: The mobile phone number has already been successfully filed; no need to file again.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + ], + 'example' => '', ], + 'Code' => ['title' => '', 'description' => 'Request status code.', 'type' => 'string', 'example' => '200'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request succeeded. Valid values:'."\n" + ."\n" + .'- true: Succeeded.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'RamPermissionDenied', - 'errorMessage' => 'RAM permission is denied.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n F655A8D5-B967-440B-8683-DAD6FF8DE990\\n","errorExample":""}]', - 'title' => 'AddSecretBlacklist', - 'summary' => 'Adds a blacklist.', - 'description' => '### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"手机号码***已存在\\",\\n \\"Data\\": {\\n \\"CreateResult\\": true,\\n \\"FailType\\": 1\\n },\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Submit Individual Real-name Information of an A-number Mobile Phone Number', + 'description' => 'Before invoking this API, you must first call [GetDyplsOSSInfoForUploadFile](~~2880885~~) to upload the individual\'s photo information to OSS. For the detailed operation flow, see [Submit Individual Real-name Information of an A-number Mobile Phone Number via API](~~2880077~~).'."\n" + .'### QPS Limit'."\n" + .'The queries per second (QPS) limit for this API is 50 requests per second per user. If this limit is exceeded, API calls will be subject to Rate Limiting, which may Impact your business. Please invoke the API appropriately.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreatePhoneNoAReport'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [], ], - 'DeleteSecretBlacklist' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreatePickUpWaybill' => [ + 'summary' => 'Creates a door-to-door delivery order.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4155,504 +3301,517 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72616', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '100665', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'Content-Type', + 'in' => 'header', + 'schema' => ['description' => 'The content type of the HTTP request. This parameter is optional. If you specify this parameter, enter application/json;chatset=UTF-8.'."\n", 'type' => 'string', 'required' => false, 'example' => 'application/json;chatset=UTF-8', 'default' => 'application/json;charset=UTF-8', 'title' => ''], + ], + [ + 'name' => 'OuterOrderCode', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the external order.'."\n", 'type' => 'string', 'required' => true, 'example' => '143234234266****', 'title' => ''], + ], + [ + 'name' => 'OrderChannels', + 'in' => 'query', + 'schema' => ['description' => 'The external channel sources.'."\n", 'type' => 'string', 'required' => true, 'example' => 'YUN_DIAN_SHANG', 'title' => ''], + ], + [ + 'name' => 'CpCode', + 'in' => 'query', + 'schema' => ['description' => 'The code of the courier company.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YTO', 'title' => ''], + ], + [ + 'name' => 'SendName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the sender.'."\n", 'type' => 'string', 'required' => true, 'example' => '王XX', 'title' => ''], + ], + [ + 'name' => 'SendMobile', + 'in' => 'query', + 'schema' => ['description' => 'The mobile phone number of the sender.'."\n" + ."\n" + .'> Either SendMobile or SendPhone must be set.'."\n", 'type' => 'string', 'required' => false, 'example' => '1596714****', 'title' => ''], + ], + [ + 'name' => 'SendPhone', + 'in' => 'query', + 'schema' => ['description' => 'The landline phone number of the sender.'."\n" + ."\n" + .'> Either SendMobile or SendPhone must be set.'."\n", 'type' => 'string', 'required' => false, 'example' => '05718845****', 'title' => ''], + ], + [ + 'name' => 'SendAddress', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', + 'description' => 'The address of the sender.'."\n", + 'type' => 'object', + 'properties' => [ + 'ProvinceName' => ['description' => 'The province where the sender is located.'."\n", 'type' => 'string', 'required' => true, 'example' => '陕西省', 'title' => ''], + 'CityName' => ['description' => 'The city where the sender is located.'."\n", 'type' => 'string', 'required' => true, 'example' => '西安', 'title' => ''], + 'AreaName' => ['description' => 'The district where the sender is located.'."\n", 'type' => 'string', 'required' => true, 'example' => '未央区', 'title' => ''], + 'TownName' => ['description' => 'The street where the sender is located.'."\n", 'type' => 'string', 'required' => false, 'example' => 'XX街道', 'title' => ''], + 'AddressDetail' => ['description' => 'The detailed address of the sender.'."\n", 'type' => 'string', 'required' => true, 'example' => 'XX小区XX号', 'title' => ''], + ], 'required' => true, - 'docRequired' => true, - 'example' => 'FC1232****', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'BlackNo', + 'name' => 'ConsigneeName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the consignee.'."\n", 'type' => 'string', 'required' => true, 'example' => '张XX', 'title' => ''], + ], + [ + 'name' => 'ConsigneeMobile', + 'in' => 'query', + 'schema' => ['description' => 'The mobile phone number of the consignee.'."\n" + ."\n" + .'> Either ConsigneeMobile or ConsigneePhone must be set.'."\n", 'type' => 'string', 'required' => false, 'example' => '1580000****', 'title' => ''], + ], + [ + 'name' => 'ConsigneePhone', + 'in' => 'query', + 'schema' => ['description' => 'The landline phone number of the consignee.'."\n" + ."\n" + .'> Either ConsigneeMobile or ConsigneePhone must be set.'."\n", 'type' => 'string', 'required' => false, 'example' => '0570000****', 'title' => ''], + ], + [ + 'name' => 'ConsigneeAddress', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The phone numbers in the blacklist. A point-to-point blacklist has a pair of numbers separated by a colon (":"). A number pool blacklist or a platform blacklist has only one single number.'."\n", - 'type' => 'string', + 'description' => 'The address of the consignee.'."\n", + 'type' => 'object', + 'properties' => [ + 'ProvinceName' => ['description' => 'The province where the consignee is located.'."\n", 'type' => 'string', 'required' => true, 'example' => '浙江', 'title' => ''], + 'CityName' => ['description' => 'The city where the consignee is located.'."\n", 'type' => 'string', 'required' => true, 'example' => '杭州', 'title' => ''], + 'AreaName' => ['description' => 'The district where the consignee is located.'."\n", 'type' => 'string', 'required' => true, 'example' => '西湖区', 'title' => ''], + 'TownName' => ['description' => 'The street where the consignee is located.'."\n", 'type' => 'string', 'required' => false, 'example' => 'XX街道', 'title' => ''], + 'AddressDetail' => ['description' => 'The detailed address of the consignee.'."\n", 'type' => 'string', 'required' => true, 'example' => 'XX小区XX号', 'title' => ''], + ], 'required' => true, - 'docRequired' => true, - 'example' => '18252***383:18252***483', + 'title' => '', + 'example' => '', ], ], [ 'name' => 'Remark', 'in' => 'query', + 'schema' => ['description' => 'The additional information about the order. The additional information will be printed on the order.'."\n", 'type' => 'string', 'required' => false, 'example' => '易碎物品', 'title' => ''], + ], + [ + 'name' => 'GoodsInfos', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The remarks for the blacklist.'."\n", - 'type' => 'string', + 'description' => 'The items.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The item name.'."\n", 'type' => 'string', 'required' => false, 'example' => '鞋子', 'title' => ''], + 'Weight' => ['description' => 'The item weight. Unit: gram.'."\n", 'type' => 'string', 'required' => false, 'example' => '1000', 'title' => ''], + 'Quantity' => ['description' => 'The item quantity.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'fragile', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'BlackType', + 'name' => 'AppointGotStartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The blacklist type. Valid values:'."\n" - ."\n" - .'* **POINT_TO_POINT_BLACK**: point-to-point blacklist'."\n" - .'* **PARTNER_GLOBAL_NUMBER_BLACK**: number pool blacklist'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'POINT_TO_POINT_BLACK', - ], + 'schema' => ['description' => 'The start time of the door-to-door pickup in the appointment. The value of **AppointGotStartTime** is the value of **StartTime** of **AppointTimes** in **CpTimeSelectList** returned by the [CreatePickUpWaybillPreQuery](~~CreatePickUpWaybillPreQuery~~#resultMapping) operation.'."\n" + ."\n" + .'> This parameter is required when **BizType** is set to **1**.'."\n", 'type' => 'string', 'required' => false, 'example' => '2021-01-01 10:00:00', 'title' => ''], ], [ - 'name' => 'WayControl', + 'name' => 'AppointGotEndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The control on the call direction.'."\n" - ."\n" - .'* **PHONEA_REJECT**: The first phone number in the blacklist can be used to call the second phone number, but the second phone number in the blacklist cannot be used to call the first phone number.'."\n" - .'* **PHONEB_REJECT**: The first phone number in the blacklist cannot be used to call the second phone number, but the second phone number in the blacklist can be used to call the first phone number.'."\n" - .'* If this parameter is not specified, the two phone numbers in the blacklist cannot be used to call each other.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* DUPLEX_REJECT'."\n" - .'* PHONEA_REJECT'."\n" - .'* PHONEB_REJECT'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PHONEA_REJECT', - 'enum' => [ - 'DUPLEX_REJECT', - 'PHONEA_REJECT', - 'PHONEB_REJECT', - ], - ], + 'schema' => ['description' => 'The end time of the door-to-door pickup in the appointment. The value of **AppointGotEndTime** is the value of **EndTime** of **AppointTimes** in **CpTimeSelectList** returned by the [CreatePickUpWaybillPreQuery](~~CreatePickUpWaybillPreQuery~~#resultMapping) operation.'."\n" + ."\n" + .'> This parameter is required when **BizType** is set to **1**.'."\n", 'type' => 'string', 'required' => false, 'example' => '2021-01-01 12:00:00', 'title' => ''], + ], + [ + 'name' => 'BizType', + 'in' => 'query', + 'schema' => ['description' => 'The pickup mode. Valid values:'."\n" + ."\n" + .'* **0** (default): real-time order.'."\n" + .'* **1**: appointment order.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'type' => 'object', + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], + 'CpCode' => ['description' => 'The code of the courier company.'."\n", 'type' => 'string', 'example' => 'YTO', 'title' => ''], + 'MailNo' => ['description' => 'The order ID.'."\n", 'type' => 'string', 'example' => '77312345629****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => '无', 'title' => ''], + 'ErrorMsg' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => '无', 'title' => ''], + 'GotCode' => ['description' => 'The pickup code.'."\n", 'type' => 'string', 'example' => '3524', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'RamPermissionDenied', - 'errorMessage' => 'RAM permission is denied.', - ], + ['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' => ''], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n F655A8D5-B967-440B-8683-DAD6FF8DE990\\n","errorExample":""}]', - 'title' => 'DeleteSecretBlacklist', - 'summary' => 'Deletes a blacklist.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Success\\": \\"true\\",\\n \\"CpCode\\": \\"YTO\\",\\n \\"MailNo\\": \\"77312345629****\\",\\n \\"ErrorCode\\": \\"无\\",\\n \\"ErrorMsg\\": \\"无\\",\\n \\"GotCode\\": \\"3524\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'CreatePickUpWaybill', 'description' => '### [](#qps)QPS limits'."\n" ."\n" .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'OperateBlackNo' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2021-11-25T07:45:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-11-25T07:45:44.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreatePickUpWaybill'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:CreatePickUpWaybill', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreatePickUpWaybillPreQuery' => [ + 'summary' => 'Queries a pickup order.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72628', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '133436', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', - 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FC123456****', - ], - ], - [ - 'name' => 'BlackNo', - 'in' => 'query', - 'schema' => [ - 'description' => 'The phone number to be added to or deleted from the blacklist.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '150****0000', - ], + 'name' => 'Content-Type', + 'in' => 'header', + 'schema' => ['description' => 'The content type of the HTTP request. This parameter is optional. If you specify this parameter, enter application/json;chatset=UTF-8.'."\n", 'type' => 'string', 'required' => false, 'example' => 'application/json;chatset=UTF-8', 'default' => 'application/json;charset=UTF-8', 'title' => ''], ], [ - 'name' => 'OperateType', + 'name' => 'SenderInfo', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The type of the operation on the phone number. Valid values:'."\n" - ."\n" - .'* **AddBlack**: adds the phone number to the blacklist.'."\n" - .'* **DeleteBlack**: deletes the phone number from the blacklist.'."\n", - 'type' => 'string', + 'description' => 'The sender information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the sender.'."\n", 'type' => 'string', 'required' => true, 'example' => '王XX', 'title' => ''], + 'Mobile' => ['description' => 'The mobile phone number of the sender.'."\n", 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], + 'AddressInfo' => [ + 'description' => 'The address of the sender.'."\n", + 'type' => 'object', + 'properties' => [ + 'ProvinceName' => ['description' => 'The province where the sender is located.'."\n", 'type' => 'string', 'required' => false, 'example' => '浙江省', 'title' => ''], + 'CityName' => ['description' => 'The city where the sender is located.'."\n", 'type' => 'string', 'required' => false, 'example' => '杭州市', 'title' => ''], + 'AreaName' => ['description' => 'The district where the sender is located.'."\n", 'type' => 'string', 'required' => false, 'example' => '西湖区', 'title' => ''], + 'TownName' => ['description' => 'The street where the sender is located.'."\n", 'type' => 'string', 'required' => false, 'example' => 'XX街道', 'title' => ''], + 'AddressDetail' => ['description' => 'The detailed address of the sender.'."\n", 'type' => 'string', 'required' => false, 'example' => 'XX小区XX号', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => true, - 'example' => 'AddBlack', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Tips', + 'name' => 'ConsigneeInfo', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The description.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The consignee information.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', + 'Name' => ['description' => 'The name of the consignee.'."\n", 'type' => 'string', 'required' => true, 'example' => '李XX', 'title' => ''], + 'Mobile' => ['description' => 'The mobile phone number of the consignee.'."\n", 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], + 'AddressInfo' => [ + 'description' => 'The address of the consignee.'."\n", + 'type' => 'object', + 'properties' => [ + 'ProvinceName' => ['description' => 'The province where the consignee is located.'."\n", 'type' => 'string', 'required' => false, 'example' => '陕西省', 'title' => ''], + 'CityName' => ['description' => 'The city where the consignee is located.'."\n", 'type' => 'string', 'required' => false, 'example' => '西安市', 'title' => ''], + 'AreaName' => ['description' => 'The district where the consignee is located.'."\n", 'type' => 'string', 'required' => false, 'example' => '长安区', 'title' => ''], + 'TownName' => ['description' => 'The street where the consignee is located.'."\n", 'type' => 'string', 'required' => false, 'example' => 'XX街道', 'title' => ''], + 'AddressDetail' => ['description' => 'The detailed address of the consignee.'."\n", 'type' => 'string', 'required' => false, 'example' => 'XX小区XX号', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'required' => true, + 'title' => '', + 'example' => '', ], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\n","errorExample":""}]', - 'title' => 'OperateBlackNo', - 'summary' => 'Adds a phone number to a blacklist or deletes a phone number from a blacklist.', - 'description' => 'The OperateBlackNo operation supports the following number pool types: AXN, AXN extension, and 95AXN.'."\n" - ."\n" - .'### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'QuerySecretNoRemain' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '72632', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', + 'name' => 'CpCode', + 'in' => 'query', + 'schema' => ['description' => 'The code of the courier company. If no courier company is specified, the system allocates a courier company.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YTO', 'title' => ''], ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'SpecId', + 'name' => 'PreWeight', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the phone number. Valid values:'."\n" - ."\n" - .'* **1**: a phone number assigned by a virtual network operator, that is, a phone number that belongs to the 170 or 171 number segment.'."\n" - .'* **2**: a phone number provided by a carrier.'."\n" - .'* **3**: a phone number that starts with 95.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The estimated weight. Unit: gram.'."\n" + ."\n" + .'> If you need to query the estimated price, this parameter is required.'."\n", 'type' => 'string', 'required' => false, 'example' => '2000', 'title' => ''], ], [ - 'name' => 'City', + 'name' => 'OuterOrderCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The home location of the phone number.'."\n" - ."\n" - .'* If **SpecId** is set to 1 or 2, you can specify the **City** parameter to query the quantity of available phone numbers.'."\n" - ."\n" - .'1. You can enter a single city name to perform a query.'."\n" - .'2. You can enter National to query the quantity of remaining phone numbers available in the Chinese mainland for online purchase.'."\n" - .'3. You can enter National List to query the cities with available phone numbers and the quantities of remaining phone numbers in the Chinese mainland. Cities without available phone numbers will not be returned.'."\n" - ."\n" - .'* If **SpecId** is set to 3, home locations are not distinguished for phone numbers that start with 95 and only the quantity of all the remaining phone numbers that start with 95 and are available for online purchase can be queried. If SpecId is set to 3, **City** must be set to **Nationwide**.'."\n" - ."\n" - .'> Home locations can be set to only locations in the Chinese mainland.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hangzhou', - ], + 'schema' => ['description' => 'The order number of the access system.'."\n", 'type' => 'string', 'required' => false, 'example' => '787DFHHDS989****', 'title' => ''], ], [ - 'name' => 'SecretNo', + 'name' => 'OrderChannels', 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of the phone number. When you call the QuerySecretNoRemain operation with **SecretNo** specified, the quantity of remaining phone numbers with the specified prefix that are available for online purchase is queried.'."\n" - ."\n" - .'Up to 18 digits of a phone number prefix can be specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '130', - ], + 'schema' => ['description' => 'The identifier of the external channel source. It cannot contain underscores.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2', - ], - 'SecretRemainDTO' => [ - 'description' => 'The information returned after the operation was called.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => [ + 'description' => 'The result set.'."\n", 'type' => 'object', 'properties' => [ - 'Amount' => [ - 'description' => 'The quantity of remaining phone numbers available for online purchase.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'City' => [ - 'description' => 'The home location of the phone numbers.'."\n", - 'type' => 'string', - 'example' => 'hangzhou', - ], - 'RemainDTOList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'remainDTO' => [ - 'description' => 'The information about remaining phone numbers available for online purchase.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => '无', 'title' => ''], + 'ErrorMsg' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => '无', 'title' => ''], + 'Code' => ['description' => 'The response code.'."\n", 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'The response content.'."\n", 'type' => 'string', 'example' => 'Success', 'title' => ''], + 'CpTimeSelectList' => [ + 'description' => 'The information about whether the courier company can accept the order.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RealTime' => [ + 'description' => 'The information about whether the real-time order can be selected.'."\n", 'type' => 'object', 'properties' => [ - 'Amount' => [ - 'description' => 'The quantity of remaining phone numbers available for online purchase for the city.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '120', - ], - 'City' => [ - 'description' => 'The home location of the phone numbers.'."\n", - 'type' => 'string', - 'example' => 'Wuhan', + 'Name' => ['description' => 'The name of the real-time order type.'."\n", 'type' => 'string', 'example' => '2小时上门', 'title' => ''], + 'Selectable' => ['description' => 'Indicates whether the real-time order can be placed after the deadline for placing a real-time order is reached.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SelectDisableTip' => ['description' => 'The tip displayed when the real-time order cannot be placed.'."\n", 'type' => 'string', 'example' => '超过实时单下单时间范围', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'AppointTimes' => [ + 'description' => 'The available time for the scheduled pickup. If the current courier company cannot accept the scheduled pickup, this field is left empty.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Date' => ['description' => 'The date in the YYYY-MM-DD format.'."\n", 'type' => 'string', 'example' => '2022-04-28', 'title' => ''], + 'DateSelectable' => ['description' => 'Indicates whether the date is selectable.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'TimeList' => [ + 'description' => 'The time range for the scheduled pickup for this date.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'StartTime' => ['description' => 'The beginning of the time range.'."\n", 'type' => 'string', 'example' => '10:00:00', 'title' => ''], + 'EndTime' => ['description' => 'The end of the time range.'."\n", 'type' => 'string', 'example' => '12:00:00', 'title' => ''], + 'Selectable' => ['description' => 'Indicates whether the time range can be selected for the scheduled pickup.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SelectDisableTip' => ['description' => 'The tip displayed when the scheduled pickup is not available.'."\n", 'type' => 'string', 'example' => '约满', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'PrePrice' => ['description' => 'The estimated price. Unit: CNY. The value is accurate to two decimal places. The value of this parameter is displayed if an estimated weight is specified.'."\n", 'type' => 'string', 'example' => '12.50', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"SecretRemainDTO\\": {\\n \\"Amount\\": 0,\\n \\"City\\": \\"杭州\\",\\n \\"RemainDTOList\\": {\\n \\"remainDTO\\": [\\n {\\n \\"Amount\\": 120,\\n \\"City\\": \\"武汉\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t\\r\\n \\r\\n\\t\\t0\\r\\n\\t\\t杭州\\r\\n\\t\\r\\n\\tOK\\r\\n\\t9FC30594-3841-43AD-9008-03393BCB5CD2\\r\\n\\tOK\\r\\n","errorExample":""}]', - 'title' => 'QuerySecretNoRemain', - 'summary' => 'Queries the quantity of remaining phone numbers available for online purchase.', - 'description' => 'When purchasing a phone number, specify the home location. If no sufficient phone numbers are available for purchase in the home location, the purchase of the phone number fails. Before calling the [BuySecretNo](~~BuySecretNo~~) operation to purchase a phone number, call the [QuerySecretNoRemain](~~QuerySecretNoRemain~~) operation to query the quantity of remaining phone numbers available for online purchase.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'BuySecretNo' => [ - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['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' => ''], + ], + 403 => [ + ['errorCode' => 'Permission.NotAuthorized', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Success\\": true,\\n \\"ErrorCode\\": \\"无\\",\\n \\"ErrorMsg\\": \\"无\\",\\n \\"Code\\": \\"0\\",\\n \\"Message\\": \\"Success\\",\\n \\"CpTimeSelectList\\": [\\n {\\n \\"RealTime\\": {\\n \\"Name\\": \\"2小时上门\\",\\n \\"Selectable\\": false,\\n \\"SelectDisableTip\\": \\"超过实时单下单时间范围\\"\\n },\\n \\"AppointTimes\\": [\\n {\\n \\"Date\\": \\"2022-04-28\\",\\n \\"DateSelectable\\": true,\\n \\"TimeList\\": [\\n {\\n \\"StartTime\\": \\"10:00:00\\",\\n \\"EndTime\\": \\"12:00:00\\",\\n \\"Selectable\\": true,\\n \\"SelectDisableTip\\": \\"约满\\"\\n }\\n ]\\n }\\n ],\\n \\"PrePrice\\": \\"12.50\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'CreatePickUpWaybillPreQuery', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'staticInfo' => ['returnType' => 'synchronous'], + 'changeSet' => [ + ['createdAt' => '2022-05-12T01:50:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:CreatePickUpWaybillPreQuery', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateSmsSign' => [ + 'summary' => 'In the scenario where Employee B sends an SMS to Customer A through work number X, Employee B uses the client to send an SMS to Customer A. The client must call this API to obtain an "SMS sending tag" and append the "tag" to the end of the SMS content. The work number platform parses the real called number A through the "tag" and sends the SMS to number A.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72612', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '244986', + 'abilityTreeNodes' => ['FEATUREdyplsMM443Z'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC123456', - ], + 'schema' => ['title' => '', 'description' => 'Request deduplication ID. The maximum length is 20 characters. Ensure the atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'SpecId', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the phone number. Valid values:'."\n" - ."\n" - .'* **1**: a phone number assigned by a virtual network operator, that is, a phone number that belongs to the 170 or 171 number segment.'."\n" - .'* **2**: a phone number provided by a carrier.'."\n" - .'* **3**: a phone number that starts with 95.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'docRequired' => true, - 'example' => '1', - ], + 'schema' => ['title' => '', 'description' => 'Customer UID. This parameter is automatically obtained by the system and does not need to be entered.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ - 'name' => 'City', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies the home location of the phone number.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* The home location can be set only to a location in the Chinese mainland.'."\n" - ."\n" - .'* A phone number that starts with 95 does not have a home location. If you purchase a phone number that starts with 95, set this parameter to **Nationwide**.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'hangzhou', - ], + 'schema' => ['title' => '', 'description' => 'Number pool key.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'SecretNo', + 'name' => 'CalledNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of the phone number. If you specify the value of **SecretNo** when you purchase a phone number, a phone number starting with the specified prefix is selected.'."\n" - ."\n" - .'> You can specify up to 18 digits of the phone number prefix.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '130', - ], + 'schema' => ['title' => '', 'description' => 'Recipient number.', 'type' => 'string', 'required' => true, 'example' => '178****3614'], ], [ - 'name' => 'DisplayPool', + 'name' => 'CallingNo', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the phone number to the pool of numbers that will be displayed during calls.'."\n" - ."\n" - .'> This parameter takes effect only for customers who have enabled the number display feature.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '', 'description' => 'Sender number.', 'type' => 'string', 'required' => true, 'example' => '150****6539'], ], ], 'responses' => [ @@ -4660,168 +3819,176 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', - ], - 'SecretBuyInfoDTO' => [ - 'description' => 'The information returned after the operation was called.'."\n", + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'Response message.', 'type' => 'string', 'example' => '成功'], + 'Data' => [ 'type' => 'object', 'properties' => [ - 'SecretNo' => [ - 'description' => 'The private number, that is, phone number X.'."\n", - 'type' => 'string', - 'example' => '1390000****', - ], + 'CalledNoSign' => ['title' => '', 'description' => 'SMS recipient number signature string (appended to the SMS content for parsing the real called number).', 'type' => 'string', 'example' => 'sign23343466'], ], + 'example' => '', + 'description' => '', + 'title' => '', ], + 'Code' => ['title' => '', 'description' => 'Response status code. Valid values:'."\n" + ."\n" + .'- 0000: indicates success.'."\n" + ."\n" + .' Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- true: indicates success.'."\n" + ."\n" + .'- false: indicates failure.', 'type' => 'boolean', 'example' => 'false'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\",\\n \\"SecretBuyInfoDTO\\": {\\n \\"SecretNo\\": \\"1390000****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\t\\r\\n\\t\\t17100000000\\r\\n\\t\\r\\n\\tOK\\r\\n\\t2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\r\\n\\tOK\\r\\n","errorExample":""}]', - 'title' => 'BuySecretNo', - 'summary' => 'Purchases a phone number.', - 'description' => '* After you create a phone number pool in the Phone Number Protection console, the phone number pool is empty by default. You must purchase phone numbers and add them to the phone number pool.'."\n" - .'* Before you call this operation, make sure that you are familiar with the [pricing](~~59825~~) of Phone Number Protection.'."\n" - .'* When purchasing a phone number, specify the home location. If no sufficient phone numbers are available for purchase in the home location, the purchase of the phone number fails. Before you call this operation to purchase a phone number, check the quantity of phone numbers available for purchase by using the [QuerySecretNoRemain](~~111699~~) operation.'."\n" - .'* The account used to purchase a phone number must be an enterprise account that has passed real-name verification. For more information about how to perform real-name verification, see [Enterprise verification FAQs](~~37172~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ReleaseSecretNo' => [ - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"CalledNoSign\\": \\"sign23343466\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'title' => 'Generate SMS Sending Tag', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:CreateSmsSign', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'DeleteAxbBindFixedLine' => [ + 'summary' => 'Unbind a fixed-line AXB privacy number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72635', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '271125', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FC123456', - ], + 'schema' => ['title' => '', 'description' => 'Number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'SecretNo', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'description' => 'The prefix of phone numbers. When you call the ReleaseSecretNo operation with **SecretNo** specified, the system performs fuzzy matching against phone numbers based on the prefix.'."\n" - ."\n" - .'> Up to 18 digits of a phone number prefix can be specified.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '130', - ], + 'schema' => ['title' => '', 'description' => 'Business timestamp. Format: yyyyMMddHHmmssSSS. The time uses Beijing time in 24-hour clock format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], + ], + [ + 'name' => 'SubId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Binding ID.', 'type' => 'string', 'required' => true, 'example' => 'A93I******'], + ], + [ + 'name' => 'OrderId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '986BCB6D-C9BF-42F9-91CE-3A990121232', + 'AccessDeniedDetail' => ['description' => 'Details of the permission verification failure.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['description' => 'Error description.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The ID of this request, which is a unique identifier generated by Alibaba Cloud for this request. It can be used to troubleshoot issues.', 'type' => 'string', 'example' => 'F036366A-0182-5066-A686-19C4C82F2D51', 'title' => ''], + 'Data' => [ + 'description' => 'Namespace list.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['title' => '', 'description' => 'Response message.', 'type' => 'string', 'example' => '示例值示例值示例值'], + 'Code' => ['title' => '', 'description' => 'Response code. 0: success.', 'type' => 'string', 'example' => '0'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the processing is successful. true: success. false: failure.', 'type' => 'boolean', 'example' => 'true'], + ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The status code of the API request. Valid values:'."\n" + ."\n" + .'- 0: success.'."\n" + ."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n" + ."\n" + .'- true: success.'."\n" + ."\n" + .'- false: failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A990121232\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t986BCB6D-C9BF-42F9-91CE-3A9901233D36\\r\\n\\tOK\\r\\n","errorExample":""}]', - 'title' => 'ReleaseSecretNo', - 'summary' => 'Releases a phone number.', - 'description' => '* After a phone number is released, it will no longer be charged from the following month.'."\n" - .'* Before you release a phone number, log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) to check whether the phone number is bound to other phone numbers. The phone number can be released only if it is not bound to other phone numbers.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'LockSecretNo' => [ - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F036366A-0182-5066-A686-19C4C82F2D51\\",\\n \\"Data\\": {\\n \\"Message\\": \\"示例值示例值示例值\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'AXB Fixed-Line Privacy Number - Unbind Existing Bindings', + 'description' => '- After unbinding a fixed-line AXB privacy number from an existing binding, your business continuity may be affected. Proceed with caution.'."\n" + ."\n" + .'- Before releasing a number, you must unbind the number first.'."\n" + ."\n" + .'- Unbinding a fixed-line AXB privacy number is supported only through this API. Unbinding through the console is currently not supported.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypls:DeleteAxbBindFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'DeleteAxgGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72625', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '175380', + 'abilityTreeNodes' => ['FEATUREdypls13M9H9'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -4829,26 +3996,18 @@ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC123****', - ], + 'schema' => ['description' => 'The key of the number pool.'."\n" + ."\n" + .'You can obtain the **key of the number pool** on the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool) page in the Phone Number Privacy Protection console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC2235****', 'title' => ''], ], [ - 'name' => 'SecretNo', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The private number that you want to lock. You must enter a complete mobile phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1300000****', - ], + 'schema' => ['description' => 'The G group ID (GID).'."\n" + ."\n" + .'- Log on to the Phone Number Privacy Protection console. On the [Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool) page, filter for number pools of the **AXG Privacy Number** type and click **G Number Group Management** to view the IDs of all G groups.'."\n" + ."\n" + .'- If you created the G group by calling the [CreateAxgGroup](~~110250~~) API, use the returned **GroupID** as the value for this **GroupId** parameter.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '200001234****', 'title' => ''], ], ], 'responses' => [ @@ -4856,95 +4015,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', - ], + 'Code' => ['description' => 'The status code of the request.'."\n" + ."\n" + .'- A value of **OK** indicates that the request was successful.'."\n" + ."\n" + .'- For other error codes, see [Error codes](~~109196~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The unique ID of the request, generated by Alibaba Cloud.', 'type' => 'string', 'example' => '9297B722-A016-43FB-B51A-E54050D9369D', 'title' => ''], ], - 'description' => '', + 'description' => 'The returned data.', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\n","errorExample":""}]', - 'title' => 'LockSecretNo', - 'summary' => 'Locks a phone number.', - 'description' => 'After a phone number is locked, the locked phone number cannot be selected when you call an operation to create a binding.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050D9369D\\"\\n}","type":"json"}]', + 'title' => 'Delete G Number Group', + 'summary' => 'Deletes a G group. G groups are supported only in Number Pools designated for the AXG privacy number type.', + 'description' => '- Deleted G groups cannot be recovered. Proceed with caution.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- Before calling this operation, verify the G group to be deleted and the Number Pool it belongs to.'."\n" ."\n" - .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UnlockSecretNo' => [ - 'methods' => [ - 'post', - 'get', + .'- You cannot delete a G group that has active bindings. Before you delete the group, you must unbind the associated AXG privacy number. To do this, log on to the Phone Number Privacy Protection [Console](https://dyplsnext.console.aliyun.com/number/list), go to the **Number Management** page, filter by **AXG privacy number**, and click **Details** > Unbind. Alternatively, you can call the [UnbindSubscription](https://help.aliyun.com/zh/pnp/developer-reference/api-dyplsapi-2017-05-25-unbindsubscription) API to unbind the number.'."\n" + ."\n" + .'- When you delete a G group, all phone numbers in the group are also deleted.'."\n" + ."\n" + .'### QPS limit'."\n" + ."\n" + .'The single-user QPS limit for this API is 5,000 requests per second. API calls that exceed this limit are subject to throttling. Plan your API calls accordingly to prevent disruptions to your business.', + 'changeSet' => [ + ['createdAt' => '2023-04-27T09:07:17.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypls:DeleteAxgGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAxgGroup'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'DeleteAxnBindFixedLine' => [ + 'summary' => 'Unbinds a fixed-line AXN private number binding relationship.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '72637', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '271213', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool.'."\n" - ."\n" - .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC2256****', - ], + 'schema' => ['title' => '', 'description' => 'The number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'SecretNo', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'description' => 'The private number that you want to unlock. You must enter a complete mobile phone number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1300000****', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp. Format: yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], + ], + [ + 'name' => 'OrderId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], + ], + [ + 'name' => 'SubId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'required' => true, 'example' => 'A93I******'], ], ], 'responses' => [ @@ -4952,447 +4114,227 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', + 'AccessDeniedDetail' => ['description' => 'The details of the permission verification failure.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['description' => 'The error description.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The ID of this request. It is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot issues.', 'type' => 'string', 'example' => 'AE2D6997-643A-59CB-9B3C-918572E5CEAA', 'title' => ''], + 'Data' => [ + 'description' => 'The application group information.', + 'type' => 'object', + 'properties' => [ + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'Code' => ['title' => '', 'description' => 'The response code. 0 indicates success. Other values indicate failure. For more information, see the documentation.', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the application instance group was retrieved successfully. Valid values:'."\n" + ."\n" + .'- true: The retrieval was successful.'."\n" + .'- false: The retrieval failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The status code of the API request. Valid values:'."\n" + ."\n" + .'- 0: success.'."\n" + ."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" + ."\n" + .'- true: success.'."\n" + ."\n" + .'- false: failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\n","errorExample":""}]', - 'title' => 'UnlockSecretNo', - 'summary' => 'Unlocks a phone number.', - 'description' => 'After a phone number is unlocked, you can reselect the unlocked phone number when you call an operation to create a binding.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"AE2D6997-643A-59CB-9B3C-918572E5CEAA\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Unbind an existing AXN binding', + 'description' => '- After you unbind an existing fixed-line AXN private number binding relationship, your service continuity may be affected. Proceed with caution.'."\n" ."\n" - .'### [](#qps)QPS limits'."\n" + .'- Before releasing a number, unbind the number binding relationship.'."\n" ."\n" - .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreatePickUpWaybillPreQuery' => [ - 'summary' => 'Queries a pickup order.', - 'methods' => [ - 'post', + .'- Unbinding a fixed-line AXN private number binding relationship is supported only through this API operation. The console does not support this operation.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypls:DeleteAxnBindFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'DeleteAxnExtensionBindFixedLine' => [ + 'summary' => 'Unbind a fixed-line AXN extension number binding.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '133436', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '271368', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Content-Type', - 'in' => 'header', - 'schema' => [ - 'description' => 'The content type of the HTTP request. This parameter is optional. If you specify this parameter, enter application/json;chatset=UTF-8.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'application/json;chatset=UTF-8', - 'default' => 'application/json;charset=UTF-8', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The business ID identifier assigned by Alibaba Cloud to the customer.', 'type' => 'string', 'required' => true, 'example' => 'alitest'], ], [ - 'name' => 'SenderInfo', + 'name' => 'Ts', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The sender information.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the sender.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Wang', - ], - 'Mobile' => [ - 'description' => 'The mobile phone number of the sender.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], - 'AddressInfo' => [ - 'description' => 'The address of the sender.'."\n", - 'type' => 'object', - 'properties' => [ - 'ProvinceName' => [ - 'description' => 'The province where the sender is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zhejiang', - ], - 'CityName' => [ - 'description' => 'The city where the sender is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou', - ], - 'AreaName' => [ - 'description' => 'The district where the sender is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xihu', - ], - 'TownName' => [ - 'description' => 'The street where the sender is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'XX Street', - ], - 'AddressDetail' => [ - 'description' => 'The detailed address of the sender.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'XX community', - ], - ], - 'required' => false, - ], - ], - 'required' => true, - ], + 'schema' => ['title' => '', 'description' => 'Format: yyyyMMddHHmmssSSS. The time uses Beijing time in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20250421141723098'], ], [ - 'name' => 'ConsigneeInfo', + 'name' => 'OrderId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '12345dkwkd99d'], + ], + [ + 'name' => 'SubId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'required' => true, 'example' => 'GHX0534X202504221531579290029'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The consignee information.'."\n", 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the consignee.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Li', - ], - 'Mobile' => [ - 'description' => 'The mobile phone number of the consignee.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1390000****', - ], - 'AddressInfo' => [ - 'description' => 'The address of the consignee.'."\n", + 'AccessDeniedDetail' => ['description' => 'The authentication error details.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['description' => 'The complete content of the text message. Note: For the United States and Canada, the registered content must be provided.', 'type' => 'string', 'example' => 'conflict with subs id=1000203635098305, phoneA conflict', 'title' => ''], + 'RequestId' => ['description' => 'The request ID. The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => '3DA9D6DF-C5FA-5A0D-B6C2-547B1FD1F9B4', 'title' => ''], + 'Data' => [ + 'description' => 'The application information.', 'type' => 'object', 'properties' => [ - 'ProvinceName' => [ - 'description' => 'The province where the consignee is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Shanxi', - ], - 'CityName' => [ - 'description' => 'The city where the consignee is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Xi,an', - ], - 'AreaName' => [ - 'description' => 'The district where the consignee is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'chang,an', - ], - 'TownName' => [ - 'description' => 'The street where the consignee is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'XX Street'."\n", - ], - 'AddressDetail' => [ - 'description' => 'The detailed address of the consignee.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'XX community', - ], + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'Code' => ['title' => '', 'description' => 'The response code. 0 indicates success. Other values indicate failure. For details, see the documentation.', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the operation was successful. Valid values: true: The operation was successful. false: The operation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => false, + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The status code. OK indicates that the request was successful. For other error codes, see the error code list.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation was successful. Valid values: true: The operation was successful. false: The operation failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], - 'required' => true, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'CpCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The code of the courier company. If no courier company is specified, the system allocates a courier company.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'YTO', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"conflict with subs id=1000203635098305, phoneA conflict\\",\\n \\"RequestId\\": \\"3DA9D6DF-C5FA-5A0D-B6C2-547B1FD1F9B4\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Unbind an Existing AXN Extension Number Binding', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypls:DeleteAxnExtensionBindFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + ], + 'DeleteSecretAPhoneNoToCust' => [ + 'summary' => 'Delete A-number filing data.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'PreWeight', - 'in' => 'query', - 'schema' => [ - 'description' => 'The estimated weight. Unit: gram.'."\n" - ."\n" - .'> If you need to query the estimated price, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2000', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'OuterOrderCode', + 'name' => 'PhoneNoA', 'in' => 'query', - 'schema' => [ - 'description' => 'The order number of the access system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '787DFHHDS989****', - ], + 'schema' => ['title' => '', 'description' => 'A-number.', 'type' => 'string', 'required' => true, 'example' => '130*****1234'], ], [ - 'name' => 'OrderChannels', + 'name' => 'ANoWhiteGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The identifier of the external channel source. It cannot contain underscores.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Test', - ], + 'schema' => ['title' => '', 'description' => 'A-number group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '51'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2', - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => 'The result set.'."\n", - 'type' => 'object', - 'properties' => [ - 'Success' => [ - 'description' => 'Indicates whether the request was successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'ErrorMsg' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'Code' => [ - 'description' => 'The response code.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'description' => 'The response content.'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'CpTimeSelectList' => [ - 'description' => 'The information about whether the courier company can accept the order.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RealTime' => [ - 'description' => 'The information about whether the real-time order can be selected.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the real-time order type.'."\n", - 'type' => 'string', - 'example' => 'Aliyun', - ], - 'Selectable' => [ - 'description' => 'Indicates whether the real-time order can be placed after the deadline for placing a real-time order is reached.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SelectDisableTip' => [ - 'description' => 'The tip displayed when the real-time order cannot be placed.'."\n", - 'type' => 'string', - 'example' => 'Exceeding the real-time ordering time range.', - ], - ], - ], - 'AppointTimes' => [ - 'description' => 'The available time for the scheduled pickup. If the current courier company cannot accept the scheduled pickup, this field is left empty.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Date' => [ - 'description' => 'The date in the YYYY-MM-DD format.'."\n", - 'type' => 'string', - 'example' => '2022-04-28', - ], - 'DateSelectable' => [ - 'description' => 'Indicates whether the date is selectable.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'TimeList' => [ - 'description' => 'The time range for the scheduled pickup for this date.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'StartTime' => [ - 'description' => 'The beginning of the time range.'."\n", - 'type' => 'string', - 'example' => '10:00:00', - ], - 'EndTime' => [ - 'description' => 'The end of the time range.'."\n", - 'type' => 'string', - 'example' => '12:00:00', - ], - 'Selectable' => [ - 'description' => 'Indicates whether the time range can be selected for the scheduled pickup.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SelectDisableTip' => [ - 'description' => 'The tip displayed when the scheduled pickup is not available.'."\n", - 'type' => 'string', - 'example' => 'Appointment Full', - ], - ], - ], - ], - ], - ], - ], - 'PrePrice' => [ - 'description' => 'The estimated price. Unit: CNY. The value is accurate to two decimal places. The value of this parameter is displayed if an estimated weight is specified.'."\n", - 'type' => 'string', - 'example' => '12.50', - ], - ], - ], - ], - ], - ], + 'AccessDeniedDetail' => ['description' => 'Details of denied access.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'RequestId' => ['title' => '', 'description' => 'The returned ID.', 'type' => 'string', 'example' => '1D73E648-0978-18A5-B089-3BB2'], + 'Message' => ['title' => '', 'description' => 'Error message for failure.', 'type' => 'string', 'example' => '号码组不存在'], + 'Data' => ['title' => '', 'description' => 'Indicates whether the deletion succeeded. Valid values:'."\n" + ."\n" + .'- true: Succeeded.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['title' => '', 'description' => 'The request status code.', 'type' => 'string', 'example' => '200'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request succeeded. Valid values:'."\n" + ."\n" + .'- true: Succeeded.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 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.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"号码组不存在\\",\\n \\"Data\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Delete A-number filing record', + 'description' => '- This API can only delete A-number filing records whose filing status is either "Reviewed and Passed" or "Review Failed." It does not support deleting A-number filing records with a filing status of "Under Review."'."\n" + ."\n" + .'- After deleting an A-number filing record, the carrier will immediately impose call restrictions or deactivate the number, which may impact your business continuity. Proceed with caution.', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSecretAPhoneNoToCust'], ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Success\\": true,\\n \\"ErrorCode\\": \\"无\\",\\n \\"ErrorMsg\\": \\"无\\",\\n \\"Code\\": \\"0\\",\\n \\"Message\\": \\"Success\\",\\n \\"CpTimeSelectList\\": [\\n {\\n \\"RealTime\\": {\\n \\"Name\\": \\"2小时上门\\",\\n \\"Selectable\\": false,\\n \\"SelectDisableTip\\": \\"超过实时单下单时间范围\\"\\n },\\n \\"AppointTimes\\": [\\n {\\n \\"Date\\": \\"2022-04-28\\",\\n \\"DateSelectable\\": true,\\n \\"TimeList\\": [\\n {\\n \\"StartTime\\": \\"10:00:00\\",\\n \\"EndTime\\": \\"12:00:00\\",\\n \\"Selectable\\": true,\\n \\"SelectDisableTip\\": \\"约满\\"\\n }\\n ]\\n }\\n ],\\n \\"PrePrice\\": \\"12.50\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 9FC30594-3841-43AD-9008-03393BCB5CD2\\n 200\\n OK\\n \\n true\\n \\n \\n 0\\n Success\\n \\n \\n 2小时上门\\n false\\n 超过实时单下单时间范围\\n \\n \\n 2022-04-28\\n true\\n \\n 10:00:00\\n 12:00:00\\n true\\n 约满\\n \\n \\n 12.50\\n \\n \\n","errorExample":""}]', - 'title' => 'CreatePickUpWaybillPreQuery', - 'description' => '### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", ], - 'CreatePickUpWaybill' => [ - 'summary' => 'Creates a door-to-door delivery order.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteSecretBlacklist' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5401,457 +4343,339 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '100665', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '72616', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Content-Type', - 'in' => 'header', - 'schema' => [ - 'description' => 'The content type of the HTTP request. This parameter is optional. If you specify this parameter, enter application/json;chatset=UTF-8.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'application/json;chatset=UTF-8', - 'default' => 'application/json;charset=UTF-8', - ], - ], - [ - 'name' => 'OuterOrderCode', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the external order.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '143234234266****', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC1232****', 'title' => ''], ], [ - 'name' => 'OrderChannels', + 'name' => 'BlackNo', 'in' => 'query', - 'schema' => [ - 'description' => 'The external channel sources.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'YUN_DIAN_SHANG', - ], + 'schema' => ['description' => 'The phone numbers in the blacklist. A point-to-point blacklist has a pair of numbers separated by a colon (":"). A number pool blacklist or a platform blacklist has only one single number.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1825****383:1825****483', 'title' => ''], ], [ - 'name' => 'CpCode', + 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'description' => 'The code of the courier company.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'YTO', - ], + 'schema' => ['description' => 'The remarks for the blacklist.'."\n", 'type' => 'string', 'required' => false, 'example' => '黑名单备注', 'title' => ''], ], [ - 'name' => 'SendName', + 'name' => 'BlackType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the sender.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Wang', - ], + 'schema' => ['description' => 'The blacklist type. Valid values:'."\n" + ."\n" + .'* **POINT_TO_POINT_BLACK**: point-to-point blacklist'."\n" + .'* **PARTNER_GLOBAL_NUMBER_BLACK**: number pool blacklist'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'POINT_TO_POINT_BLACK', 'title' => ''], ], [ - 'name' => 'SendMobile', + 'name' => 'WayControl', 'in' => 'query', 'schema' => [ - 'description' => 'The mobile phone number of the sender.'."\n" + 'description' => 'The control on the call direction.'."\n" ."\n" - .'> Either SendMobile or SendPhone must be set.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1596714****', - ], - ], - [ - 'name' => 'SendPhone', - 'in' => 'query', - 'schema' => [ - 'description' => 'The landline phone number of the sender.'."\n" + .'* **PHONEA_REJECT**: The first phone number in the blacklist can be used to call the second phone number, but the second phone number in the blacklist cannot be used to call the first phone number.'."\n" + .'* **PHONEB_REJECT**: The first phone number in the blacklist cannot be used to call the second phone number, but the second phone number in the blacklist can be used to call the first phone number.'."\n" + .'* If this parameter is not specified, the two phone numbers in the blacklist cannot be used to call each other.'."\n" + ."\n" + .'Valid values:'."\n" ."\n" - .'> Either SendMobile or SendPhone must be set.'."\n", + .'* DUPLEX_REJECT'."\n" + .'* PHONEA_REJECT'."\n" + .'* PHONEB_REJECT'."\n", 'type' => 'string', 'required' => false, - 'example' => '05718845****', + 'example' => 'PHONEA_REJECT', + 'enum' => ['DUPLEX_REJECT', 'PHONEA_REJECT', 'PHONEB_REJECT'], + 'title' => '', ], ], - [ - 'name' => 'SendAddress', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The address of the sender.'."\n", 'type' => 'object', 'properties' => [ - 'ProvinceName' => [ - 'description' => 'The province where the sender is located.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Sichuan', - ], - 'CityName' => [ - 'description' => 'The city where the sender is located.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'chengdu', - ], - 'AreaName' => [ - 'description' => 'The district where the sender is located.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'wenjiang', - ], - 'TownName' => [ - 'description' => 'The street where the sender is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'XX Street', - ], - 'AddressDetail' => [ - 'description' => 'The detailed address of the sender.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'XX community', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], ], - 'required' => true, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ConsigneeName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the consignee.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Li', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'RamPermissionDenied', 'errorMessage' => 'RAM permission is denied.', 'description' => ''], ], - [ - 'name' => 'ConsigneeMobile', - 'in' => 'query', - 'schema' => [ - 'description' => 'The mobile phone number of the consignee.'."\n" - ."\n" - .'> Either ConsigneeMobile or ConsigneePhone must be set.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1580000****', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n F655A8D5-B967-440B-8683-DAD6FF8DE990\\n","errorExample":""}]', + 'title' => 'DeleteSecretBlacklist', + 'summary' => 'Deletes a blacklist.', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypls:DeleteSecretBlacklist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'GetDyplsOSSInfoForUploadFile' => [ + 'summary' => 'Obtain OSS resource configuration information. This configuration information will be used for subsequent OSS image upload operations. ', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'ConsigneePhone', - 'in' => 'query', - 'schema' => [ - 'description' => 'The landline phone number of the consignee.'."\n" - ."\n" - .'> Either ConsigneeMobile or ConsigneePhone must be set.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0570000****', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'ConsigneeAddress', + 'name' => 'BizType', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The business type. Default Value: phone_card.', 'type' => 'string', 'required' => true, 'example' => 'phone_card', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The address of the consignee.'."\n", 'type' => 'object', 'properties' => [ - 'ProvinceName' => [ - 'description' => 'The province where the consignee is located.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'zhejiang', - ], - 'CityName' => [ - 'description' => 'The city where the consignee is located.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hangzhou', - ], - 'AreaName' => [ - 'description' => 'The district where the consignee is located.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'xihu', - ], - 'TownName' => [ - 'description' => 'The street where the consignee is located.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'XX Street', - ], - 'AddressDetail' => [ - 'description' => 'The detailed address of the consignee.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'XX community', + 'AccessDeniedDetail' => ['description' => 'Details of denied access. ', 'type' => 'string', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'Request ID. ', 'type' => 'string', 'example' => 'E2FD3B2F-5028-16E3-9F83-2F76F99B3873', 'title' => ''], + 'Message' => ['description' => 'Description of the status code. ', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => [ + 'description' => 'Returned data. ', + 'type' => 'object', + 'properties' => [ + 'Policy' => ['description' => 'Signing policy. ', 'type' => 'string', 'example' => 'IjoiMjAyN*****9udGV', 'title' => ''], + 'StartPath' => ['description' => 'Policy path. ', 'type' => 'string', 'example' => '123456', 'title' => ''], + 'AccessKeyId' => ['description' => 'AccessKey ID used for signing. ', 'type' => 'string', 'example' => 'YOUR_ACCESS_KEY_ID', 'title' => ''], + 'Signature' => ['description' => 'Signature computed from the **AccessKey secret** and **policy**. When invoking the OSS API, OSS authenticates this signature to confirm the validity of the POST request. ', 'type' => 'string', 'example' => 'BXwW**********aoZH', 'title' => ''], + 'Host' => ['description' => 'Host address. ', 'type' => 'string', 'example' => 'https://alicom-**********-cn-zhangjiakou.aliyuncs.com', 'title' => ''], + 'ExpireTime' => ['description' => 'Expiration Time. ', 'type' => 'string', 'example' => '1744613007', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'Request status code. Valid values: '."\n" + .'* OK: indicates that the request succeeded. '."\n" + .'* For other error codes, see [Error Code List](~~109196~~). ', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded. Valid values: '."\n" + ."\n" + .'- true: indicates success. '."\n" + ."\n" + .'- false: indicates failure. ', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => true, - ], - ], - [ - 'name' => 'Remark', - 'in' => 'query', - 'schema' => [ - 'description' => 'The additional information about the order. The additional information will be printed on the order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'fragile', + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"E2FD3B2F-5028-16E3-9F83-2F76F99B3873\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Policy\\": \\"IjoiMjAyN*****9udGV\\",\\n \\"StartPath\\": \\"123456\\",\\n \\"AccessKeyId\\": \\"YOUR_ACCESS_KEY_ID\\",\\n \\"Signature\\": \\"BXwW**********aoZH\\",\\n \\"Host\\": \\"https://alicom-**********-cn-zhangjiakou.aliyuncs.com\\",\\n \\"ExpireTime\\": \\"1744613007\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Obtain OSS Configuration Information for Number A Filing', + 'description' => '- When uploading personal filing photos for an A-number mobile phone number, you must upload a clear frontal portrait photo with the face unobscured, and optionally select to upload photos of both sides of your ID card. Uploading these photos helps reviewers understand your personal identity information. Supported formats are PNG, JPG, and JPEG. The image size must not exceed 2 MB.'."\n" + ."\n" + .'- For the specific operation flow when submitting personal real-name filing for an A-number mobile phone number through the API, see [Submit Personal Real-Name Information for an A-Number Mobile Phone Number via API](~~2880077~~). ', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + ], + 'GetSecretAsrDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'GoodsInfos', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The items.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The item name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zhang', - ], - 'Weight' => [ - 'description' => 'The item weight. Unit: gram.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1000', - ], - 'Quantity' => [ - 'description' => 'The item quantity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '72619', + 'abilityTreeNodes' => ['FEATUREdyplsVL8MN2'], + ], + 'parameters' => [ [ - 'name' => 'AppointGotStartTime', + 'name' => 'CallId', 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the door-to-door pickup in the appointment. The value of **AppointGotStartTime** is the value of **StartTime** of **AppointTimes** in **CpTimeSelectList** returned by the [CreatePickUpWaybillPreQuery](~~CreatePickUpWaybillPreQuery~~#resultMapping) operation.'."\n" - ."\n" - .'> This parameter is required when **BizType** is set to **1**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2021-01-01 10:00:00', - ], + 'schema' => ['description' => 'The ID of the call record.'."\n" + ."\n" + .'You can log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view **Call Record ID** on the **Call Record Query** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '225625****', 'title' => ''], ], [ - 'name' => 'AppointGotEndTime', + 'name' => 'CallTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the door-to-door pickup in the appointment. The value of **AppointGotEndTime** is the value of **EndTime** of **AppointTimes** in **CpTimeSelectList** returned by the [CreatePickUpWaybillPreQuery](~~CreatePickUpWaybillPreQuery~~#resultMapping) operation.'."\n" - ."\n" - .'> This parameter is required when **BizType** is set to **1**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2021-01-01 12:00:00', - ], + 'schema' => ['description' => 'The call initiation time in the call record.'."\n" + ."\n" + .'You can log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). View **Call Initiated At** on the **Call Record Query** page, or view the call_time field in the Call Detail Record (CDR) receipt.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2019-03-05 12:00:00', 'title' => ''], ], [ - 'name' => 'BizType', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The pickup mode. Valid values:'."\n" - ."\n" - .'* **0** (default): real-time order.'."\n" - .'* **1**: appointment order.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'You can log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC2267****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2', - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The response code.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The ASR details.'."\n", 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Indicates whether the request was successful.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'CpCode' => [ - 'description' => 'The code of the courier company.'."\n", - 'type' => 'string', - 'example' => 'YTO', - ], - 'MailNo' => [ - 'description' => 'The order ID.'."\n", - 'type' => 'string', - 'example' => '77312345629****', - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'ErrorMsg' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'GotCode' => [ - 'description' => 'The pickup code.'."\n", - 'type' => 'string', - 'example' => '3524', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8d2329d407a83447a83be441681f4872ac74nE', 'title' => ''], + 'BusinessId' => ['description' => 'The ID of the business process.'."\n", 'type' => 'string', 'example' => '435ee78c7a******@!FC100000074******@!2020061522****', 'title' => ''], + 'BusinessKey' => ['description' => 'The business keyword.'."\n", 'type' => 'string', 'example' => 'JCGTncltuNao****', 'title' => ''], + 'Code' => ['description' => 'The status code. The status code 21050000 indicates that the request was successful.'."\n", 'type' => 'string', 'example' => '21050000', 'title' => ''], + 'Msg' => ['description' => 'The description.'."\n", 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + 'BizDuration' => ['description' => 'The total duration of the audio file that was recognized. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10944', 'title' => ''], + 'Type' => ['description' => 'The type.'."\n", 'type' => 'string', 'example' => 'asrResult', 'title' => ''], + 'Sentences' => [ + 'description' => 'The ASR result.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The end time offset of the sentence. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1770', 'title' => ''], + 'SilenceDuration' => ['description' => 'The silence duration between the current sentence and the previous sentence. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'BeginTime' => ['description' => 'The start time offset of the sentence. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1020', 'title' => ''], + 'Text' => ['description' => 'The recognition result of the sentence.'."\n", 'type' => 'string', 'example' => '您好', 'title' => ''], + 'ChannelId' => ['description' => 'The ID of the audio track to which the sentence belongs.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'SpeechRate' => ['description' => 'The average speech rate of the sentence. Unit: number of words per minute.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'EmotionValue' => ['description' => 'The emotion value. Value range: 1 to 10. The higher the value, the stronger the emotion.'."\n", 'type' => 'string', 'example' => '5.7', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '{"bizDuration":10944,"businessId":"435ee78c7a019650@!FC100000074672458@!20200615225802","businessKey":"JCGTncltuNaolegJ","code":"21050000","msg":"SUCCESS","requestId":"8d2329d407a83447a83be441681f4872ac74nE","sentences":[{"beginTime":1020,"channelId":0,"emotionValue":"5.7","endTime":1770,"silenceDuration":"0","speechRate":"80","text":"喂"}],"success":true,"type":"asrResult"}', + 'title' => '', ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 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.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'isp.RAM_PERMISSION_DENY', 'errorMessage' => 'RAM permission is denied.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Success\\": \\"true\\",\\n \\"CpCode\\": \\"YTO\\",\\n \\"MailNo\\": \\"77312345629****\\",\\n \\"ErrorCode\\": \\"无\\",\\n \\"ErrorMsg\\": \\"无\\",\\n \\"GotCode\\": \\"3524\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 9FC30594-3841-43AD-9008-03393BCB5CD2\\n 200\\n OK\\n \\n true\\n YTO\\n 77312345629****\\n \\n \\n 3524\\n \\n","errorExample":""}]', - 'title' => 'CreatePickUpWaybill', - 'description' => '### [](#qps)QPS limits'."\n" + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"RequestId\\": \\"8d2329d407a83447a83be441681f4872ac74nE\\",\\n \\"BusinessId\\": \\"435ee78c7a******@!FC100000074******@!2020061522****\\",\\n \\"BusinessKey\\": \\"JCGTncltuNao****\\",\\n \\"Code\\": \\"21050000\\",\\n \\"Msg\\": \\"SUCCESS\\",\\n \\"BizDuration\\": 10944,\\n \\"Type\\": \\"asrResult\\",\\n \\"Sentences\\": [\\n {\\n \\"EndTime\\": 1770,\\n \\"SilenceDuration\\": 0,\\n \\"BeginTime\\": 1020,\\n \\"Text\\": \\"您好\\",\\n \\"ChannelId\\": 0,\\n \\"SpeechRate\\": 80,\\n \\"EmotionValue\\": \\"5.7\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'GetSecretAsrDetail', + 'summary' => 'Obtains the details of the automatic speech recognition (ASR) result.', + 'description' => 'Before you call the GetSecretAsrDetail operation, set the ASRStatus parameter to true in the [BindAxn operation](~~400483~~). This ensures that you can obtain the ASR result properly.'."\n" + ."\n" + .'### [](#qps)QPS limits'."\n" ."\n" .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'CancelPickUpWaybill' => [ - 'summary' => 'Cancels a door-to-door delivery order.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'requestParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:GetSecretAsrDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetTotalPublicUrl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '100670', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72621', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Content-Type', - 'in' => 'header', - 'schema' => [ - 'description' => 'The content type of the HTTP request. This parameter is optional. If you specify this parameter, enter application/json;chatset=UTF-8.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'application/json;chatset=UTF-8', - 'default' => 'application/json;charset=UTF-8', - ], + 'name' => 'CheckSubs', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the verification on the binding ID is required.'."\n", 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'OuterOrderCode', + 'name' => 'PartnerKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the external order.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1145678823****', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC12256****', 'title' => ''], ], [ - 'name' => 'CancelDesc', + 'name' => 'CallId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cancellation reason.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{\\"action\\":\\"UPDATE_DESC\\",\\"value\\":\\"The courier is unable to pick up the package.\\"}', - ], + 'schema' => ['description' => 'The ID of the call record.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view **Call Record ID** on the **Call Record Query** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2568900****', 'title' => ''], + ], + [ + 'name' => 'CallTime', + 'in' => 'query', + 'schema' => ['description' => 'The call initiation time in the call record.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). View **Call Initiated At** on the **Call Record Query** page, or view the call_time field in the Call Detail Record (CDR) receipt.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2019-03-05 12:00:00 ', 'title' => ''], ], ], 'responses' => [ @@ -5860,267 +4684,260 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2', - ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1AB3CEF7-DCBE-488C-9C33-D180982CE031', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The download URLs of the recording files.'."\n", 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Indicates whether the cancellation was successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'Message' => [ - 'description' => 'The cancellation result.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'ErrorMsg' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'none', - ], + 'RingPublicUrl' => ['description' => 'The download URL of the recorded ringing tone.'."\n" + ."\n" + .'> The download URL of the recorded ringing tone is valid for 30 days.'."\n", 'type' => 'string', 'example' => 'http://secret-ab-reco****cn-shanghai.aliyuncs.com/10000008********_66647243838006067***************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n***************EA%3D', 'title' => ''], + 'PhonePublicUrl' => ['description' => 'The download URL of the recorded call.'."\n" + ."\n" + .'> The download URL of the recorded call is valid for 30 days.'."\n", 'type' => 'string', 'example' => 'http://secret-ab-reco****cn-shanghai.aliyuncs.com/10000008********_66647243838006067***************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n***************EA%3D', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 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.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Permission.NotAuthorized', - 'errorMessage' => 'You are not authorized to perform the operation.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'FlowLimited', 'errorMessage' => 'The operation is denied due to flow control.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"Data\\": {\\n \\"Success\\": true,\\n \\"ErrorCode\\": \\"无\\",\\n \\"Message\\": \\"取消成功\\",\\n \\"ErrorMsg\\": \\"无\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 9FC30594-3841-43AD-9008-03393BCB5CD2\\n OK\\n 请求成功\\n \\n true\\n \\n 取消成功\\n \\n \\n","errorExample":""}]', - 'title' => 'CancelPickUpWaybill', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"1AB3CEF7-DCBE-488C-9C33-D180982CE031\\",\\n \\"Data\\": {\\n \\"RingPublicUrl\\": \\"http://secret-ab-reco****cn-shanghai.aliyuncs.com/10000008********_66647243838006067***************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n***************EA%3D\\",\\n \\"PhonePublicUrl\\": \\"http://secret-ab-reco****cn-shanghai.aliyuncs.com/10000008********_66647243838006067***************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n***************EA%3D\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\nOK\\n1AB3CEF7-DCBE-488C-9C33-D180982CE031\\n\\n http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=1551759607&OSSAccessKeyId=LTAIP00vvvvvvvvv&Signature=tK6Yq9KusU4n%2BZQWXI7lg4/WmEA%3D\\n http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=1551759607&OSSAccessKeyId=LTAIP00vvvvvvvvv&Signature=tK6Yq9KusU4n%2BZQWXI7lg4/WmEA%3D\\n\\nOK\\n","errorExample":""}]', + 'title' => 'GetTotalPublicUrl', + 'summary' => 'Obtains the download URL of a recorded ringing tone.', 'description' => '### [](#qps)QPS limits'."\n" ."\n" - .'You can call this operation up to 100 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - ], - 'AddAxnTrackNo' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTotalPublicUrl'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:GetTotalPublicUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetXConfig' => [ + 'summary' => 'Retrieves the configuration information of an X number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '72606', - 'abilityTreeNodes' => [ - 'FEATUREdyplsOMLRO6', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'get', + 'abilityTreeCode' => '244983', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'FC2235****', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Ensure the atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'PhoneNoX', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => 'The private number in the AXN binding, that is, phone number X.'."\n" - ."\n" - .'You can call the [BindAxn](~~110258~~) operation to obtain the value of PhoneNoX.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1700000****', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. The system automatically obtains this value. You do not need to specify this parameter.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ - 'name' => 'trackNo', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The tracking number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'abcde*****', - ], + 'schema' => ['title' => '', 'description' => 'The key of the number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'SubsId', + 'name' => 'TelX', 'in' => 'query', - 'schema' => [ - 'description' => 'The binding ID.'."\n" - ."\n" - .'You can call the [BindAxn](~~110258~~) operation to obtain the value of SubsId.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '15678890****', - ], + 'schema' => ['title' => '', 'description' => 'The X number.', 'type' => 'string', 'required' => true, 'example' => '17*******22'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1A4CADEF-8516-5890-9177-A1A4D97F****', + 'AccessDeniedDetail' => ['description' => 'The access denied details.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The returned message.', 'type' => 'string', 'example' => '成功'], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'SequenceStartTime' => ['title' => '', 'description' => 'The start time of sequential ringing. Format: HH:mm:ss. Example: 09:00:00.', 'type' => 'string', 'example' => '09:00:00'], + 'SequenceCalls' => [ + 'title' => '', + 'description' => 'The sequential ringing control parameters.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SequenceCallNoPlayCode' => ['title' => '', 'description' => 'The prompt tone code for sequential ringing. The format is the same as callNoPlayCode.', 'type' => 'string', 'example' => '示例值示例值示例值'], + 'SequenceCalledNo' => ['title' => '', 'description' => 'The called number for sequential ringing.', 'type' => 'string', 'example' => '示例值示例值示例值'], + 'SequenceCalledPlayCode' => ['title' => '', 'description' => 'The prompt tone code played to the caller and callee after the call is connected. The format is the same as calledPlayCode.', 'type' => 'string', 'example' => '示例值示例值示例值'], + ], + 'example' => '', + ], + 'example' => '', + ], + 'SmsAbility' => ['title' => '', 'description' => 'The status of the SMS feature. Valid values:'."\n" + ."\n" + .'- 0: disabled.'."\n" + .'- 1: enabled.', 'type' => 'string', 'example' => '0'], + 'GNFlag' => ['title' => '', 'description' => 'Specifies whether to pass through the real caller ID. Valid values:'."\n" + ."\n" + .'- 00: non-pass-through. The work number is displayed for both parties during calls.'."\n" + .'- 10: pass-through. When customer A calls employee B, the caller ID displayed to employee B is customer A\'s number. When employee B calls customer A, the caller ID displayed to customer A is the work number.'."\n" + ."\n" + .'Default value: 00.', 'type' => 'string', 'example' => '00'], + 'SmsSignMode' => ['title' => '', 'description' => 'Specifies whether to pass through the real caller ID. Valid values:'."\n" + ."\n" + .'- 00: non-pass-through. The work number is displayed for both parties during calls.'."\n" + .'- 10: pass-through. When customer A calls employee B, the caller ID displayed to employee B is customer A\'s number. When employee B calls customer A, the caller ID displayed to customer A is the work number.'."\n" + ."\n" + .'Default value: 00.', 'type' => 'string', 'example' => '0'], + 'ReachJsons' => [ + 'title' => '', + 'description' => 'The enterprise business card rule control parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ReceiveDir' => ['title' => '', 'description' => 'The receiving direction. Valid values:'."\n" + ."\n" + .'- 1: caller.'."\n" + .'- 2: callee.', 'type' => 'string', 'example' => '1'], + 'CallDir' => ['title' => '', 'description' => 'The call direction. Valid values:'."\n" + ."\n" + .'- 1: employee B calls customer A.'."\n" + .'- 2: customer A calls employee B.', 'type' => 'string', 'example' => '1'], + 'TempId' => ['title' => '', 'description' => 'The template ID.', 'type' => 'string', 'example' => '12345'], + 'RuleId' => ['title' => '', 'description' => 'The rule ID.', 'type' => 'string', 'example' => '345'], + 'CallStatus' => ['title' => '', 'description' => 'The call status. Valid values:'."\n" + ."\n" + .'- 1: ringing.'."\n" + .'- 2: before connection.'."\n" + .'- 3: after connection.'."\n" + .'- 4: call ended.'."\n" + .'- 5: connected.'."\n" + .'- 6: not connected.', 'type' => 'string', 'example' => '1'], + 'RuleType' => ['title' => '', 'description' => 'The rule type. Valid values:'."\n" + ."\n" + .'- 1: enterprise business card - SMS.'."\n" + .'- 2: enterprise business card - flash message.'."\n" + .'- 3: enterprise business card - video.'."\n" + .'- 4: enterprise business card - audio.', 'type' => 'string', 'example' => '1'], + 'RuleName' => ['title' => '', 'description' => 'The rule name.', 'type' => 'string', 'example' => '企业名片-短信规则'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + 'CallAbility' => ['title' => '', 'description' => 'The status of the call capability. Valid values:'."\n" + ."\n" + .'- 0: disabled.'."\n" + .'- 1: enabled.', 'type' => 'string', 'example' => '0'], + 'SequenceEndTime' => ['title' => '', 'description' => 'The end time of sequential ringing. Format: HH:mm:ss. Example: 18:00:00.', 'type' => 'string', 'example' => '09:00:00'], + ], + 'example' => '', + 'description' => '', + 'title' => '', ], + 'Code' => ['title' => '', 'description' => 'The returned status code. Valid values:'."\n" + .' '."\n" + .'- 0000: Successful.'."\n" + .' '."\n" + .'Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- true: Successful.'."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"SequenceStartTime\\": \\"09:00:00\\",\\n \\"SequenceCalls\\": [\\n {\\n \\"SequenceCallNoPlayCode\\": \\"示例值示例值示例值\\",\\n \\"SequenceCalledNo\\": \\"示例值示例值示例值\\",\\n \\"SequenceCalledPlayCode\\": \\"示例值示例值示例值\\"\\n }\\n ],\\n \\"SmsAbility\\": \\"0\\",\\n \\"GNFlag\\": \\"00\\",\\n \\"SmsSignMode\\": \\"0\\",\\n \\"ReachJsons\\": [\\n {\\n \\"ReceiveDir\\": \\"1\\",\\n \\"CallDir\\": \\"1\\",\\n \\"TempId\\": \\"12345\\",\\n \\"RuleId\\": \\"345\\",\\n \\"CallStatus\\": \\"1\\",\\n \\"RuleType\\": \\"1\\",\\n \\"RuleName\\": \\"企业名片-短信规则\\"\\n }\\n ],\\n \\"CallAbility\\": \\"0\\",\\n \\"SequenceEndTime\\": \\"09:00:00\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query X number communication configuration', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"1A4CADEF-8516-5890-9177-A1A4D97F****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n","errorExample":""}]', - 'title' => 'AddAxnTrackNo', - 'summary' => 'Adds a tracking number for a private number in the AXN binding.', - 'description' => '### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'QueryPhoneNoAByTrackNo' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetXDefaultConfig' => [ + 'summary' => 'Retrieves the default configurations of an X number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '72630', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '244984', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], ], 'parameters' => [ [ - 'name' => 'trackNo', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => 'The tracking number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '22573****', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Ensure the atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'."\n"], ], [ - 'name' => 'CabinetNo', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => 'The cabinet number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '25689****', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. The system automatically obtains this value. You do not need to specify it.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ - 'name' => 'PhoneNoX', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => 'Phone number X returned by the API operation for creating a binding.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1710000****', - ], + 'schema' => ['title' => '', 'description' => 'The key of the number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], + ], + [ + 'name' => 'TelX', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The X number.', 'type' => 'string', 'required' => true, 'example' => '17*******22'], ], ], 'responses' => [ @@ -6128,91 +4945,129 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'* The value OK indicates that the request was successful.'."\n" - .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8906582E-6722', - ], - 'Module' => [ - 'description' => 'The information returned after the phone numbers were bound.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Extension' => [ - 'description' => 'The extension of phone number X.'."\n", - 'type' => 'string', - 'example' => '130', - ], - 'PhoneNoX' => [ - 'description' => 'The private number, that is, phone number X.'."\n", - 'type' => 'string', - 'example' => '1710000****', + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The returned message.', 'type' => 'string', 'example' => '成功'], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'ReachJson' => [ + 'title' => '', + 'description' => 'The enterprise business card rule control parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ReceiveDir' => ['title' => '', 'description' => 'The receive direction. Valid values:'."\n" + .'- 1: caller'."\n" + .'- 2: callee.', 'type' => 'string', 'example' => '1'], + 'CallDir' => ['title' => '', 'description' => 'The call direction. Valid values:'."\n" + .'- 1: employee B calls customer A'."\n" + .'- 2: customer A calls employee B.', 'type' => 'string', 'example' => '1'], + 'TempId' => ['title' => '', 'description' => 'The template ID.', 'type' => 'string', 'example' => '12345'], + 'RuleId' => ['title' => '', 'description' => 'The rule ID.', 'type' => 'string', 'example' => '345'], + 'CallStatus' => ['title' => '', 'description' => 'The call status. Valid values:'."\n" + .'- 1: ringing'."\n" + .'- 2: before connection'."\n" + .'- 3: after connection'."\n" + .'- 4: call ended'."\n" + .'- 5: connected'."\n" + .'- 6: not connected.', 'type' => 'string', 'example' => '1'], + 'RuleType' => ['title' => '', 'description' => 'The rule type. Valid values:'."\n" + .'- 1: enterprise business card - SMS'."\n" + .'- 2: enterprise business card - flash message'."\n" + .'- 3: enterprise business card - video'."\n" + .'- 4: enterprise business card - audio.', 'type' => 'string', 'example' => '1'], + 'RuleName' => ['title' => '', 'description' => 'The rule name.', 'type' => 'string', 'example' => '企业名片-短信规则'], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'PhoneNoA' => [ - 'description' => 'Phone number A.'."\n", - 'type' => 'string', - 'example' => '1310000****', + 'example' => '', + ], + 'SequenceStartTime' => ['title' => '', 'description' => 'The start time of sequential ringing. Format: HH:mm:ss. Example: 09:00:00.', 'type' => 'string', 'example' => '09:00:00'], + 'SmsAbility' => ['title' => '', 'description' => 'The status of the SMS feature. Valid values:'."\n" + .'- 0: Disabled.'."\n" + .'- 1: Enabled.', 'type' => 'string', 'example' => '0'], + 'GNFlag' => ['title' => '', 'description' => 'Specifies whether to pass through the real caller ID. Valid values:'."\n" + .'- 00: Non-pass-through. The work number is displayed for both parties during calls.'."\n" + .'- 10: Pass-through. When customer A is the caller, employee B sees customer A\'s number. When employee B is the caller, customer A sees the work number.'."\n" + ."\n" + .'Default value: 00.', 'type' => 'string', 'example' => '00'], + 'SmsSignMode' => ['title' => '', 'description' => 'Specifies whether to pass through the real caller ID. Valid values:'."\n" + .'- 00: Non-pass-through. The work number is displayed for both parties during calls.'."\n" + .'- 10: Pass-through. When customer A is the caller, employee B sees customer A\'s number. When employee B is the caller, customer A sees the work number.'."\n" + ."\n" + .'Default value: 00.', 'type' => 'string', 'example' => '0'], + 'SequenceCall' => [ + 'title' => '', + 'description' => 'The sequential ringing control parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SequenceCallNoPlayCode' => ['title' => '', 'description' => 'The prompt tone code for sequential ringing. The format is the same as callNoPlayCode.', 'type' => 'string', 'example' => '示例值'], + 'SequenceCalledNo' => ['title' => '', 'description' => 'The called number for sequential ringing.', 'type' => 'string', 'example' => '示例值示例值示例值'], + 'SequenceCalledPlayCode' => ['title' => '', 'description' => 'The prompt tone code played to the caller and callee after the call is connected. The format is the same as calledPlayCode.', 'type' => 'string', 'example' => '示例值示例值示例值'], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'example' => '', ], + 'CallAbility' => ['title' => '', 'description' => 'The status of the call capability. Valid values:'."\n" + .'- 0: Disabled.'."\n" + .'- 1: Enabled.', 'type' => 'string', 'example' => '0'], + 'SequenceEndTime' => ['title' => '', 'description' => 'The end time of sequential ringing. Format: HH:mm:ss. Example: 18:00:00.', 'type' => 'string', 'example' => '09:00:00'], ], + 'example' => '', + 'description' => '', + 'title' => '', ], + 'Code' => ['title' => '', 'description' => 'The returned status code. Valid values:'."\n" + ."\n" + .'- 0000: Successful.'."\n" + ."\n" + .'- Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- true: Successful.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"ReachJson\\": [\\n {\\n \\"ReceiveDir\\": \\"1\\",\\n \\"CallDir\\": \\"1\\",\\n \\"TempId\\": \\"12345\\",\\n \\"RuleId\\": \\"345\\",\\n \\"CallStatus\\": \\"1\\",\\n \\"RuleType\\": \\"1\\",\\n \\"RuleName\\": \\"企业名片-短信规则\\"\\n }\\n ],\\n \\"SequenceStartTime\\": \\"09:00:00\\",\\n \\"SmsAbility\\": \\"0\\",\\n \\"GNFlag\\": \\"00\\",\\n \\"SmsSignMode\\": \\"0\\",\\n \\"SequenceCall\\": [\\n {\\n \\"SequenceCallNoPlayCode\\": \\"示例值\\",\\n \\"SequenceCalledNo\\": \\"示例值示例值示例值\\",\\n \\"SequenceCalledPlayCode\\": \\"示例值示例值示例值\\"\\n }\\n ],\\n \\"CallAbility\\": \\"0\\",\\n \\"SequenceEndTime\\": \\"09:00:00\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query default X number configuration for an enterprise', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Module\\": [\\n {\\n \\"Extension\\": \\"130\\",\\n \\"PhoneNoX\\": \\"1710000****\\",\\n \\"PhoneNoA\\": \\"1310000****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n 请求成功\\n 8906582E-6722\\n \\n 130\\n 1710000****\\n 1310000****\\n \\n","errorExample":""}]', - 'title' => 'QueryPhoneNoAByTrackNo', - 'summary' => 'Queries the details about a tracking number.', - 'description' => '### [](#qps)QPS limits'."\n" - ."\n" - .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'UnBindAXB' => [ - 'summary' => '解除指定的呼叫绑定关系(A,X,B),解决呼叫绑定关系后,员工B不能通过工作号X呼叫到客户A。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListXTelephones' => [ + 'summary' => 'Queries the list of X numbers under a customer.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '244979', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '244985', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -6220,47 +5075,27 @@ [ 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Ensure the atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. It is automatically obtained by the system and does not need to be entered.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], + 'schema' => ['title' => '', 'description' => 'The number pool key.', 'type' => 'string', 'required' => false, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'BindId', + 'name' => 'PageNo', 'in' => 'query', - 'schema' => [ - 'title' => 'bindId绑定关系AXB唯一id', - 'description' => 'bindId绑定关系AXB唯一id', - 'type' => 'string', - 'required' => true, - 'example' => '4534543', - ], + 'schema' => ['title' => '', 'description' => 'The page number for paginated queries, starting from 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'default' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'default' => '10'], ], ], 'responses' => [ @@ -6268,73 +5103,85 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'RequestId' => [ - 'type' => 'string', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => '成功'], 'Data' => [ + 'description' => 'The data collection.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'true', + 'PageSize' => ['title' => '', 'description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'], + 'Total' => ['title' => '', 'description' => 'The total number of records matching the query criteria.', 'type' => 'integer', 'format' => 'int64', 'example' => '50'], + 'PageNo' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'List' => [ + 'title' => '', + 'description' => 'The data collection.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The key-value pairs for each data item.', + 'type' => 'object', + 'properties' => [ + 'BuyTime' => ['title' => '', 'description' => 'The purchase time.', 'type' => 'string', 'example' => '2024-08-29 17:23:58'], + 'TelephoneStatus' => ['title' => '', 'description' => 'The number status. Valid values: 0: idle. 1: allocation completed, pending purchase. 2: purchase completed, pending verification. 3: real-name verification in progress. 4: real-name verification successful. 5: verification failed. 6: unbinding in progress. 7: unbinding failed. 8: released. 99: released due to timeout.', 'type' => 'string', 'example' => '0'], + 'CustomerPoolKey' => ['title' => '', 'description' => 'The customer number pool key.', 'type' => 'string', 'example' => 'FC533e6eeb81f4400c87ef3745a21a1a'], + 'BindTime' => ['title' => '', 'description' => 'The binding time.', 'type' => 'string', 'example' => '2024-08-29 17:23:58'], + 'CustomerPoolName' => ['title' => '', 'description' => 'The number pool name.', 'type' => 'string', 'example' => '测试号码池'], + 'Telephone' => ['title' => '', 'description' => 'The X number.', 'type' => 'string', 'example' => '17816876546'], + 'SmsStatus' => ['title' => '', 'description' => 'The SMS activation status. Valid values: 0: not activated. 1: activated.', 'type' => 'string', 'example' => '0'], + 'ReleaseTime' => ['title' => '', 'description' => 'The release time.', 'type' => 'string', 'example' => '2024-08-29 17:23:58'], + 'AuthMsg' => ['title' => '', 'description' => 'The reason for binding failure.', 'type' => 'string', 'example' => '绑定失败用户身份证黑名单'], + 'UnbindTime' => ['title' => '', 'description' => 'The unbinding time.', 'type' => 'string', 'example' => '2024-08-29 17:23:58'], + ], + 'example' => '', + ], + 'example' => '', ], ], - ], - 'Code' => [ 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', + 'example' => '', ], + 'Code' => ['title' => '', 'description' => 'The response status code. Valid values:'."\n" + ."\n" + .'- 0000: The request was successful.'."\n" + ."\n" + .'- Other values: The request failed.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: The request was successful.'."\n" + ."\n" + .'- false: The request failed.', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"PageSize\\": 10,\\n \\"Total\\": 50,\\n \\"PageNo\\": 1,\\n \\"List\\": [\\n {\\n \\"BuyTime\\": \\"2024-08-29 17:23:58\\",\\n \\"TelephoneStatus\\": \\"0\\",\\n \\"CustomerPoolKey\\": \\"FC533e6eeb81f4400c87ef3745a21a1a\\",\\n \\"BindTime\\": \\"2024-08-29 17:23:58\\",\\n \\"CustomerPoolName\\": \\"测试号码池\\",\\n \\"Telephone\\": \\"17816876546\\",\\n \\"SmsStatus\\": \\"0\\",\\n \\"ReleaseTime\\": \\"2024-08-29 17:23:58\\",\\n \\"AuthMsg\\": \\"绑定失败用户身份证黑名单\\",\\n \\"UnbindTime\\": \\"2024-08-29 17:23:58\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query number information under an enterprise', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'dypls:ListXTelephones', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"\\",\\n \\"Data\\": {\\n \\"Message\\": \\"成功\\",\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'BindXB' => [ - 'summary' => '平台指定工作号X 和员工号B建立关联,完成X 实名认证,绑定生效后,所有X 的呼叫都会转接到B', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'LockSecretNo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6343,83 +5190,26 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '244978', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '72625', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ReqId', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC123****', 'title' => ''], ], [ - 'name' => 'CallerParentId', + 'name' => 'SecretNo', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], - ], - [ - 'name' => 'CustomerPoolKey', - 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], - ], - [ - 'name' => 'TelB', - 'in' => 'query', - 'schema' => [ - 'title' => '员工真实号码', - 'description' => '员工真实号码', - 'type' => 'string', - 'required' => true, - 'example' => '18*******22', - ], - ], - [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'required' => true, - 'example' => '17*******22', - ], - ], - [ - 'name' => 'UserData', - 'in' => 'query', - 'schema' => [ - 'title' => '客户自定义参数回调带回', - 'description' => '客户自定义参数回调带回', - 'type' => 'string', - 'required' => false, - 'example' => '000', - ], + 'schema' => ['description' => 'The private number that you want to lock. You must enter a complete mobile phone number.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1300000****', 'title' => ''], ], ], 'responses' => [ @@ -6427,162 +5217,107 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], - 'Data' => [ - 'type' => 'object', - 'properties' => [ - 'AuthId' => [ - 'title' => '工作号关系绑定的唯一标识', - 'description' => '工作号关系绑定的唯一标识', - 'type' => 'string', - 'example' => '4353453456', - ], - 'TelX' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'example' => '18640577897', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\n","errorExample":""}]', + 'title' => 'LockSecretNo', + 'summary' => 'Locks a phone number.', + 'description' => 'After a phone number is locked, the locked phone number cannot be selected when you call an operation to create a binding.'."\n" + ."\n" + .'### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LockSecretNo'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:LockSecretNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"AuthId\\": \\"4353453456\\",\\n \\"TelX\\": \\"18640577897\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], - 'BindAXBCall' => [ - 'summary' => '调用本接口向工作号平台请求为员工B的工作号X建立呼叫绑定(B,X,A),允许B通过X呼叫客户A', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'OperateAxgGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '244980', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '72627', + 'abilityTreeNodes' => ['FEATUREdyplsNPUT41'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ReqId', - 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], - ], - [ - 'name' => 'CallerParentId', - 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], - ], - [ - 'name' => 'CustomerPoolKey', - 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], - ], - [ - 'name' => 'TelA', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '客户A号码', - 'description' => '客户A号码', - 'type' => 'string', - 'required' => true, - 'example' => '13*******43', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC10000012345****', 'title' => ''], ], [ - 'name' => 'AuthId', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => 'authId绑定关系BX唯一id', - 'description' => 'authId绑定关系BX唯一id', - 'type' => 'string', - 'required' => true, - 'example' => '12353', - ], + 'schema' => ['description' => 'The group ID in the AXG binding.'."\n" + ."\n" + .'You can view the group ID by using either of the following methods:'."\n" + ."\n" + .'* On the **Number Pool Management** page in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account), filter AXG private numbers and click **Number Group G Management** to view the group IDs of number groups G.****'."\n" + .'* If the [CreateAxgGroup](~~110250~~) operation is called to create number group G, the value of **GroupId** in the response of the CreateAxgGroup operation is specified as the value of the request parameter **GroupId** of the OperateAxgGroup operation.'."\n" + ."\n" + .'> Number group G must have one or more phone numbers.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '200001234****', 'title' => ''], ], [ - 'name' => 'Expiration', + 'name' => 'OperateType', 'in' => 'query', - 'schema' => [ - 'title' => '绑定关系过期失效时间: 取值必须大于0; 单位:秒,ct_time + expiration = 自动解绑时间', - 'description' => '绑定关系过期失效时间: 取值必须大于0; 单位:秒,ct_time + expiration = 自动解绑时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '7200', - ], + 'schema' => ['description' => 'The type of the operation on number group G. Valid values:'."\n" + ."\n" + .'* **addNumbers**: adds phone numbers to number group G.'."\n" + .'* **deleteNumbers**: deletes phone numbers from number group G.'."\n" + .'* **overwriteNumbers**: replaces all phone numbers in number group G. All the original phone numbers are deleted from number group G, and new phone numbers are added to number group G.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* When you replace all phone numbers in number group G, the quantity of original phone numbers in number group G cannot exceed 200.'."\n" + ."\n" + .'* You can add up to 200 phone numbers to number group G at a time.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'addNumbers', 'title' => ''], ], [ - 'name' => 'UserData', + 'name' => 'Numbers', 'in' => 'query', - 'schema' => [ - 'title' => '客户自定义参数回调带回', - 'description' => '客户自定义参数回调带回', - 'type' => 'string', - 'required' => false, - 'example' => '000', - ], + 'schema' => ['description' => 'The phone numbers that you add to number group G. Separate the phone numbers with commas (,). You can add up to 200 phone numbers at a time.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1390000****,1380000****', 'title' => ''], ], ], 'responses' => [ @@ -6590,207 +5325,138 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], - 'Data' => [ - 'type' => 'object', - 'properties' => [ - 'BindId' => [ - 'title' => '绑定关系ID', - 'description' => '绑定关系ID', - 'type' => 'string', - 'example' => '476567566', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '986BCB6D-C9BF-42F9-91CE-3A9901233D36', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A9901233D36\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 986BCB6D-C9BF-42F9-91CE-3A9901233D36\\n","errorExample":""}]', + 'title' => 'OperateAxgGroup', + 'summary' => 'Modifies number group G.', + 'description' => 'After you create number group G, you can call the OperateAxgGroup operation to modify number group G. For example, you can add phone numbers to number group G, delete phone numbers from number group G, and replace all phone numbers in number group G.'."\n" + ."\n" + .'### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:OperateAxgGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"BindId\\": \\"476567566\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'UnBindXB' => [ - 'summary' => '调用本接口可取消工作号X与员工号码B的绑定。绑定解除后,对X的呼叫都不会转接给B。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'OperateBlackNo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '244981', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '72628', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ReqId', - 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], - ], - [ - 'name' => 'CallerParentId', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'example' => 'FC123456****', 'title' => ''], ], [ - 'name' => 'CustomerPoolKey', + 'name' => 'BlackNo', 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], + 'schema' => ['description' => 'The phone number to be added to or deleted from the blacklist.'."\n", 'type' => 'string', 'required' => true, 'example' => '150****0000', 'title' => ''], ], [ - 'name' => 'AuthId', + 'name' => 'OperateType', 'in' => 'query', - 'schema' => [ - 'title' => 'authId绑定关系BX唯一id', - 'description' => 'authId绑定关系BX唯一id', - 'type' => 'string', - 'required' => true, - 'example' => '34*****46', - ], + 'schema' => ['description' => 'The type of the operation on the phone number. Valid values:'."\n" + ."\n" + .'* **AddBlack**: adds the phone number to the blacklist.'."\n" + .'* **DeleteBlack**: deletes the phone number from the blacklist.'."\n", 'type' => 'string', 'required' => true, 'example' => 'AddBlack', 'title' => ''], ], [ - 'name' => 'TelX', + 'name' => 'Tips', 'in' => 'query', - 'schema' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'required' => true, - 'example' => '17*******22', - ], + 'schema' => ['description' => 'The description.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Data' => [ - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - 'Code' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '', - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\n","errorExample":""}]', + 'title' => 'OperateBlackNo', + 'summary' => 'Adds a phone number to a blacklist or deletes a phone number from a blacklist.', + 'description' => 'The OperateBlackNo operation supports the following number pool types: AXN, AXN extension, and 95AXN.'."\n" + ."\n" + .'### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:OperateBlackNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"\\",\\n \\"Data\\": {\\n \\"Message\\": \\"成功\\",\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], - 'QuerySoundRecord' => [ - 'summary' => '查询通话录音链接', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'QueryAxbBindFixedLine' => [ + 'summary' => 'Queries the binding information of an AXB landline privacy number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -6798,58 +5464,46 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '244987', - 'abilityTreeNodes' => [ - 'FEATUREdyplsVL8MN2', - ], - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ReqId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], + 'schema' => ['title' => '', 'description' => 'The number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'CallerParentId', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp. Format: yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'CustomerPoolKey', + 'name' => 'QueryType', 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], + 'schema' => ['title' => '', 'description' => 'The query type. Valid values:'."\n" + ."\n" + .'- 0: Query by binding ID.'."\n" + ."\n" + .'- 1: Query by X and A/B numbers.', 'type' => 'string', 'required' => true, 'example' => '0'], ], [ - 'name' => 'CallId', + 'name' => 'SubId', 'in' => 'query', - 'schema' => [ - 'title' => '本次呼叫唯一id', - 'description' => '本次呼叫唯一id', - 'type' => 'string', - 'required' => true, - 'example' => 'ac445343254', - ], + 'schema' => ['title' => '', 'description' => 'The binding ID. Required when QueryType is set to 0.', 'type' => 'string', 'required' => false, 'example' => 'A203**************'], + ], + [ + 'name' => 'Phone', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The A/B number. Required when QueryType is set to 1.', 'type' => 'string', 'required' => false, 'example' => '138****6534'], + ], + [ + 'name' => 'TelX', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The X number. Required when QueryType is set to 1.', 'type' => 'string', 'required' => false, 'example' => '0571******23'], + ], + [ + 'name' => 'OrderId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], ], 'responses' => [ @@ -6857,130 +5511,126 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], + 'AccessDeniedDetail' => ['description' => 'The detailed reason why access was denied.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID. It is a unique identifier generated by Alibaba Cloud for the request and can be used for troubleshooting.', 'type' => 'string', 'example' => '3179F199-C6C5-5963-85A6-21CBA2F47592', 'title' => ''], 'Data' => [ + 'title' => '', + 'description' => 'The binding information.', 'type' => 'object', 'properties' => [ - 'FileUrl' => [ - 'title' => '通话录音url路径,最大长度1000,有效期1小时', - 'description' => '通话录音url路径,最大长度1000,有效期1小时', - 'type' => 'string', - 'example' => 'http://www.oss.com/temepl/a.mp3', + 'TelB' => ['title' => '', 'description' => 'The B number.', 'type' => 'string', 'example' => '155****2222'], + 'TelA' => ['title' => '', 'description' => 'The A number.', 'type' => 'string', 'example' => '155****1111'], + 'Subid' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'example' => 'GHX**************************'], + 'Anucodecalled' => ['title' => '', 'description' => 'The ringback tone code played to the called party after the call is connected.', 'type' => 'string', 'example' => '10001,10002'], + 'Extra' => [ + 'title' => '', + 'description' => 'The extended parameters.', + 'type' => 'object', + 'properties' => [ + 'Callrecording' => ['title' => '', 'description' => 'The call recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): Do not record.'."\n" + ."\n" + .'- 1: Record.'."\n" + ."\n" + .'> After the call recording feature is enabled, you can play and download voice files in the call records. Recording files are billed at 0.010 CNY per minute.', 'type' => 'string', 'example' => '1'], + ], + 'example' => '', ], + 'Subts' => ['title' => '', 'description' => 'The binding time. Format: yyyyMMddHHmmss. The time is in UTC+8, in 24-hour format.', 'type' => 'string', 'example' => '20161114143116'], + 'Expiration' => ['title' => '', 'description' => 'The expiration time, in seconds. Valid values:'."\n" + ."\n" + .'- 0: Never expires.'."\n" + ."\n" + .'- Other values: When set to another value such as 60, the binding remains valid for 60 seconds after the X number is successfully assigned. After 60 seconds, the binding is automatically released.', 'type' => 'string', 'example' => '60'], + 'TelX' => ['title' => '', 'description' => 'The X number of the AXB landline privacy number. The X number is a privacy number that you have [purchased](https://dyplsnext.console.aliyun.com/numberbuy) in the console.', 'type' => 'string', 'example' => '0571******23'], + 'Areacode' => ['title' => '', 'description' => 'The area code of the privacy number.', 'type' => 'string', 'example' => '0571'], + 'Anucode' => ['title' => '', 'description' => 'The ringback tone code played before the call is connected. The code must include codes for three scenarios. Specify the codes in the order of "B->X, A->X, other numbers->X", separated by commas. '."\n" + ."\n" + .'> "1,2,3" indicates that the ringback tone code for B->X is 1, for A->X is 2, and for other numbers->X is 3.', 'type' => 'string', 'example' => '1,2,3'], + 'TAnucodeConnect' => ['title' => '', 'description' => 'The ringback tone code played to the caller after the call is connected. The code must include codes for two scenarios. Specify the codes in the order of "A as callee, B as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the ringback tone code played to the caller when A is the callee is 1, and when B is the callee is 2.', 'type' => 'string', 'example' => '1,2'], + 'Remark' => ['title' => '', 'description' => 'The external business extension field. This parameter is returned in the call record receipt message. The value cannot exceed 100 characters.', 'type' => 'string', 'example' => '19394'], ], 'example' => '', ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['title' => '', 'description' => 'The API request status code. Valid values:'."\n" + .'0: Success. For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the API call was successful. Valid values:'."\n" + ."\n" + .'- true: Success.'."\n" + ."\n" + .'- false: Failure.', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"FileUrl\\": \\"http://www.oss.com/temepl/a.mp3\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'CreateSmsSign' => [ - 'summary' => 'B向A 发短信,客户端获取“短信标签”,尾部添加“标签”。通过“标签”解析被叫A,发短信到A。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3179F199-C6C5-5963-85A6-21CBA2F47592\\",\\n \\"Data\\": {\\n \\"TelB\\": \\"155****2222\\",\\n \\"TelA\\": \\"155****1111\\",\\n \\"Subid\\": \\"GHX**************************\\",\\n \\"Anucodecalled\\": \\"10001,10002\\",\\n \\"Extra\\": {\\n \\"Callrecording\\": \\"1\\"\\n },\\n \\"Subts\\": \\"20161114143116\\",\\n \\"Expiration\\": \\"60\\",\\n \\"TelX\\": \\"0571******23\\",\\n \\"Areacode\\": \\"0571\\",\\n \\"Anucode\\": \\"1,2,3\\",\\n \\"TAnucodeConnect\\": \\"1,2\\",\\n \\"Remark\\": \\"19394\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query existing AXB landline privacy number bindings', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'QueryAxnBindFixedLine' => [ + 'summary' => 'Queries the binding information of an AXN landline privacy number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '244986', - 'abilityTreeNodes' => [ - 'FEATUREdyplsMM443Z', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ReqId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], + 'schema' => ['title' => '', 'description' => 'The number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'CallerParentId', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp. Format: yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'CustomerPoolKey', + 'name' => 'QueryType', 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], + 'schema' => ['title' => '', 'description' => 'The query type. Valid values:'."\n" + ."\n" + .'- 0: query by binding ID.'."\n" + ."\n" + .'- 1: query by X and A/B phone number.', 'type' => 'string', 'required' => true, 'example' => '0'], ], [ - 'name' => 'CalledNo', + 'name' => 'SubId', 'in' => 'query', - 'schema' => [ - 'title' => '收信人号码', - 'description' => '收信人号码', - 'type' => 'string', - 'required' => true, - 'example' => '178****3614', - ], + 'schema' => ['title' => '', 'description' => 'The binding ID. This parameter is required when QueryType is set to 1.', 'type' => 'string', 'required' => false, 'example' => 'A203**************'], ], [ - 'name' => 'CallingNo', + 'name' => 'Phone', 'in' => 'query', - 'schema' => [ - 'title' => '发信人号码', - 'description' => '发信人号码', - 'type' => 'string', - 'required' => true, - 'example' => '150****6539', - ], + 'schema' => ['title' => '', 'description' => 'The A/B phone number. This parameter is required when QueryType is set to 1.', 'type' => 'string', 'required' => false, 'example' => '138****6534'], + ], + [ + 'name' => 'TelX', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The X phone number. This parameter is required when QueryType is set to 1.', 'type' => 'string', 'required' => false, 'example' => '0571******23'], + ], + [ + 'name' => 'OrderId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], ], 'responses' => [ @@ -6988,59 +5638,92 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], + 'AccessDeniedDetail' => ['description' => 'The details of the permission verification failure.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID. It is a unique identifier generated by Alibaba Cloud for the request and can be used for troubleshooting.', 'type' => 'string', 'example' => 'E8B9C3ED-D9BD-5E27-9588-6D84D3070160', 'title' => ''], 'Data' => [ - 'type' => 'object', - 'properties' => [ - 'CalledNoSign' => [ - 'title' => '短信接收者号码签名串(加到短信内容中供解析真实被叫号码)', - 'description' => '短信接收者号码签名串(加到短信内容中供解析真实被叫号码)', - 'type' => 'string', - 'example' => 'sign23343466', + 'title' => '', + 'description' => 'The list of binding objects.', + 'type' => 'array', + 'items' => [ + 'description' => 'The binding details.', + 'type' => 'object', + 'properties' => [ + 'TelB' => ['title' => '', 'description' => 'The N phone number.', 'type' => 'string', 'example' => '155****2222'], + 'TelA' => ['title' => '', 'description' => 'The A phone number.', 'type' => 'string', 'example' => '155****1111'], + 'Subid' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'example' => 'GHX**************************'], + 'Anucodecalled' => ['title' => '', 'description' => 'The ringback tone code for the called party.', 'type' => 'string', 'example' => '10001,10002'], + 'Extra' => [ + 'title' => '', + 'description' => 'The extended parameters.', + 'type' => 'object', + 'properties' => [ + 'Callback' => ['title' => '', 'description' => 'The callback control. A calls X, meaning A is the caller and X is the callee. Valid values:'."\n" + ."\n" + .'- 0 (default): outbound calls are not allowed.'."\n" + ."\n" + .'- 1: the call is connected to the most recent N phone number.'."\n" + ."\n" + .'- 2: the call is connected to the fixed phone number TelB.', 'type' => 'string', 'example' => '1'], + 'Callrecording' => ['title' => '', 'description' => 'The call recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): recording is disabled.'."\n" + ."\n" + .'- 1: recording is enabled.'."\n" + ."\n" + .'> After the call recording feature is enabled, you can play and download voice files in the call records. Recording files are billed at 0.010 CNY per minute.', 'type' => 'string', 'example' => '1'], + ], + 'example' => '', + ], + 'Subts' => ['title' => '', 'description' => 'The binding time. Format: yyyyMMddHHmmss. The time is in UTC+8, in 24-hour format.', 'type' => 'string', 'example' => '20161114143116'], + 'Expiration' => ['title' => '', 'description' => 'The expiration time, in seconds. Valid values:'."\n" + ."\n" + .'- 0: never expires.'."\n" + ."\n" + .'- Other values: the binding remains valid for the specified number of seconds after the X phone number is assigned. For example, if the value is 60, the binding expires and is automatically released after 60 seconds.', 'type' => 'string', 'example' => '60'], + 'TelX' => ['title' => '', 'description' => 'The privacy number.', 'type' => 'string', 'example' => '0571******23'], + 'Areacode' => ['title' => '', 'description' => 'The area code of the privacy number.', 'type' => 'string', 'example' => '0571'], + 'Anucode' => ['title' => '', 'description' => 'The pre-connection ringback tone codes. The value must contain codes for three scenarios, specified in the order of "B->X, A->X, other numbers->X" and separated by commas. '."\n" + ."\n" + .'> "1,2,3" indicates that the ringback tone code for B->X is 1, the code for A->X is 2, and the code for other numbers->X is 3.', 'type' => 'string', 'example' => '1,2,3'], + 'TAnucodeConnect' => ['title' => '', 'description' => 'The post-connection ringback tone codes for the caller. The value must contain codes for two scenarios, specified in the order of "A as callee, B as callee" and separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the ringback tone code for the caller when A is the callee is 1, and the code for the caller when B is the callee is 2.', 'type' => 'string', 'example' => '1,2'], + 'Remark' => ['title' => '', 'description' => 'The external business extension field. This parameter is returned in the call record receipt message. The value cannot exceed 100 characters.', 'type' => 'string', 'example' => '19394'], ], + 'title' => '', + 'example' => '', ], 'example' => '', ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Code' => ['title' => '', 'description' => 'The API request status code. Valid values:'."\n" + .'0: success. For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" + ."\n" + .'- true: The call was successful.'."\n" + ."\n" + .'- false: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"E8B9C3ED-D9BD-5E27-9588-6D84D3070160\\",\\n \\"Data\\": [\\n {\\n \\"TelB\\": \\"155****2222\\",\\n \\"TelA\\": \\"155****1111\\",\\n \\"Subid\\": \\"GHX**************************\\",\\n \\"Anucodecalled\\": \\"10001,10002\\",\\n \\"Extra\\": {\\n \\"Callback\\": \\"1\\",\\n \\"Callrecording\\": \\"1\\"\\n },\\n \\"Subts\\": \\"20161114143116\\",\\n \\"Expiration\\": \\"60\\",\\n \\"TelX\\": \\"0571******23\\",\\n \\"Areacode\\": \\"0571\\",\\n \\"Anucode\\": \\"1,2,3\\",\\n \\"TAnucodeConnect\\": \\"1,2\\",\\n \\"Remark\\": \\"19394\\"\\n }\\n ],\\n \\"Code\\": \\"0\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'title' => 'Query existing AXN landline privacy number bindings', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"CalledNoSign\\": \\"sign23343466\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'ramActions' => [], ], - 'ListXTelephones' => [ - 'summary' => '查询客户名下X号码列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'QueryAxnExtensionBindFixedLine' => [ + 'summary' => 'Queries the binding information of a landline AXN extension number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -7048,77 +5731,41 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '244985', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'ReqId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], + 'schema' => ['title' => '', 'description' => 'The ID of the number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'CallerParentId', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp. Format: yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'CustomerPoolKey', + 'name' => 'QueryType', 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => false, - 'example' => 'FC5**********************a1a', - ], + 'schema' => ['title' => '', 'description' => 'The query type. Valid values:'."\n" + ."\n" + .'- 0: query by binding ID.'."\n" + ."\n" + .'- 1: query by X and A/B numbers.', 'type' => 'string', 'required' => true, 'example' => '0'], ], [ - 'name' => 'PageNo', + 'name' => 'SubId', 'in' => 'query', - 'schema' => [ - 'title' => '页码从1开始', - 'description' => '页码从1开始', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['title' => '', 'description' => 'The binding ID. This parameter is required when QueryType is set to 0.', 'type' => 'string', 'required' => false, 'example' => 'A203**************'], ], [ - 'name' => 'PageSize', + 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'title' => '每页条数', - 'description' => '每页条数', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['title' => '', 'description' => 'The number A. This parameter is required when QueryType is set to 1.', 'type' => 'string', 'required' => false, 'example' => '155****1111'], + ], + [ + 'name' => 'OrderId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], ], 'responses' => [ @@ -7126,296 +5773,120 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], + 'AccessDeniedDetail' => ['description' => 'The details of the permission verification failure.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => '74EFA0E8-CFCA-54D9-BFE5-904F9FA88DBD', 'title' => ''], 'Data' => [ 'title' => '', - 'description' => '', - 'type' => 'object', + 'description' => 'The list of binding objects.', + 'type' => 'array', 'items' => [ 'title' => '', - 'description' => '', + 'description' => 'The object details.', 'type' => 'object', 'properties' => [ - 'BuyTime' => [ - 'name' => 'BuyTime', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - 'backendName' => 'buyTime', - ], - 'TelephoneStatus' => [ - 'name' => 'TelephoneStatus', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '0', - 'backendName' => 'telephoneStatus', - ], - 'CustomerPoolKey' => [ - 'name' => 'CustomerPoolKey', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => 'FC5***********************a1a', - 'backendName' => 'customerPoolKey', - ], - 'BindTime' => [ - 'name' => 'BindTime', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - 'backendName' => 'bindTime', - ], - 'CustomerPoolName' => [ - 'name' => 'CustomerPoolName', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '', - 'backendName' => 'customerPoolName', - ], - 'Telephone' => [ - 'name' => 'Telephone', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '17*******46', - 'backendName' => 'telephone', - ], - 'SmsStatus' => [ - 'name' => 'SmsStatus', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '0', - 'backendName' => 'smsStatus', - ], - 'ReleaseTime' => [ - 'name' => 'ReleaseTime', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - 'backendName' => 'releaseTime', - ], - 'AuthMsg' => [ - 'name' => 'AuthMsg', - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '', - 'backendName' => 'authMsg', - ], - 'UnbindTime' => [ - 'name' => 'UnbindTime', + 'TelA' => ['title' => '', 'description' => 'The number A.', 'type' => 'string', 'example' => '155****1111'], + 'Extraaxx' => [ 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - 'backendName' => 'unbindTime', - ], - ], - 'backendName' => 'items', - 'extendType' => 'true', - ], - 'example' => '', - 'properties' => [ - 'PageSize' => [ - 'title' => '每页条数', - 'description' => '每页条数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'Total' => [ - 'title' => '符合查询条件的总数量', - 'description' => '符合查询条件的总数量', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '50', - ], - 'PageNo' => [ - 'title' => '页码', - 'description' => '页码', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'List' => [ - 'title' => '数据集合', - 'description' => '数据集合', - 'type' => 'array', - 'items' => [ - 'title' => '每个数据项的键值对', + 'description' => 'The extension fields.', 'type' => 'object', 'properties' => [ - 'BuyTime' => [ - 'title' => '购买时间', - 'description' => '购买时间', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - ], - 'TelephoneStatus' => [ - 'title' => '号码状态:0 空闲中 1 调拨完成待购买 2购买完成待认证 3 实名认证中 4 实名认证成功 5 认证失败 6 解绑中 7 解绑失败 8已释放 99 超时释放', - 'description' => '号码状态:0 空闲中 1 调拨完成待购买 2购买完成待认证 3 实名认证中 4 实名认证成功 5 认证失败 6 解绑中 7 解绑失败 8已释放 99 超时释放', - 'type' => 'string', - 'example' => '0', - ], - 'CustomerPoolKey' => [ - 'title' => '客户号码池key', - 'description' => '客户号码池key', - 'type' => 'string', - 'example' => 'FC533e6eeb81f4400c87ef3745a21a1a', - ], - 'BindTime' => [ - 'title' => '绑定时间', - 'description' => '绑定时间', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - ], - 'CustomerPoolName' => [ - 'title' => '号码池名称', - 'description' => '号码池名称', - 'type' => 'string', - 'example' => '测试号码池', - ], - 'Telephone' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'example' => '17816876546', - ], - 'SmsStatus' => [ - 'title' => '短信开通状态:0 未开通 1已开通', - 'description' => '短信开通状态:0 未开通 1已开通', - 'type' => 'string', - 'example' => '0', - ], - 'ReleaseTime' => [ - 'title' => '释放时间', - 'description' => '释放时间', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - ], - 'AuthMsg' => [ - 'title' => '绑定失败原因', - 'description' => '绑定失败原因', - 'type' => 'string', - 'example' => '绑定失败用户身份证黑名单', - ], - 'UnbindTime' => [ - 'title' => '解绑时间', - 'description' => '解绑时间', - 'type' => 'string', - 'example' => '2024-08-29 17:23:58', - ], + 'Callback' => ['title' => '', 'description' => 'The callback control. Number A calls through X, meaning A is the caller and X is the callee. Valid values:'."\n" + ."\n" + .'- 0 (default): outbound calls are not allowed.'."\n" + ."\n" + .'- 1: connects to the most recent number N.'."\n" + ."\n" + .'- 2: calls back the fixed number TelB.', 'type' => 'string', 'example' => '0'], + 'Callrecording' => ['title' => '', 'description' => 'The recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): recording is disabled.'."\n" + ."\n" + .'- 1: recording is enabled.'."\n" + ."\n" + .'> After the call recording feature is enabled, you can play and download voice files in the call records. Recording files are billed at 0.010 CNY per minute.', 'type' => 'string', 'example' => '0'], ], + 'example' => '', ], - 'example' => '', + 'Subid' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'example' => 'A203**************'], + 'TelXext' => ['title' => '', 'description' => 'The extension number.', 'type' => 'string', 'example' => '1009'], + 'Anucodecalled' => ['title' => '', 'description' => 'The ringback tone played to the called party.', 'type' => 'string', 'example' => '10001,10002'], + 'Subts' => ['title' => '', 'description' => 'The binding time, in the format of yyyyMMddHHmmss. The time is in UTC+8, in 24-hour format.', 'type' => 'string', 'example' => '20161114143116'], + 'Expiration' => ['title' => '', 'description' => 'The expiration time, in seconds. Valid values:'."\n" + ."\n" + .'- 0: never expires.'."\n" + ."\n" + .'- Other values: the binding is valid for the specified duration after the X number is successfully assigned. For example, if the value is 60, the binding is valid for 60 seconds and is automatically unbound after 60 seconds.', 'type' => 'string', 'example' => '60'], + 'TelX' => ['title' => '', 'description' => 'The private number.', 'type' => 'string', 'example' => '0571******23'], + 'Areacode' => ['title' => '', 'description' => 'The area code of the private number.', 'type' => 'string', 'example' => '0571'], + 'Anucode' => ['title' => '', 'description' => 'The ringback tone code.', 'type' => 'string', 'example' => '10001,10002,10003'], + 'TAnucodeConnect' => ['title' => '', 'description' => 'The ringback tone code played to the caller after the call is connected.', 'type' => 'string', 'example' => '10001,10002'], + 'Remark' => ['title' => '', 'description' => 'The external business extension field. This parameter is returned in the call record receipt message. The value cannot exceed 100 characters.', 'type' => 'string', 'example' => '19394'], ], + 'example' => '', ], + 'example' => '', ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['title' => '', 'description' => 'The API request status code. Valid values:'."\n" + ."\n" + .'- 0: Success.'."\n" + ."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n" + ."\n" + .'- true: Success.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"74EFA0E8-CFCA-54D9-BFE5-904F9FA88DBD\\",\\n \\"Data\\": [\\n {\\n \\"TelA\\": \\"155****1111\\",\\n \\"Extraaxx\\": {\\n \\"Callback\\": \\"0\\",\\n \\"Callrecording\\": \\"0\\"\\n },\\n \\"Subid\\": \\"A203**************\\",\\n \\"TelXext\\": \\"1009\\",\\n \\"Anucodecalled\\": \\"10001,10002\\",\\n \\"Subts\\": \\"20161114143116\\",\\n \\"Expiration\\": \\"60\\",\\n \\"TelX\\": \\"0571******23\\",\\n \\"Areacode\\": \\"0571\\",\\n \\"Anucode\\": \\"10001,10002,10003\\",\\n \\"TAnucodeConnect\\": \\"10001,10002\\",\\n \\"Remark\\": \\"19394\\"\\n }\\n ],\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query AXN extension number binding relationship', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"PageSize\\": 10,\\n \\"Total\\": 50,\\n \\"PageNo\\": 1,\\n \\"List\\": [\\n {\\n \\"BuyTime\\": \\"2024-08-29 17:23:58\\",\\n \\"TelephoneStatus\\": \\"0\\",\\n \\"CustomerPoolKey\\": \\"FC533e6eeb81f4400c87ef3745a21a1a\\",\\n \\"BindTime\\": \\"2024-08-29 17:23:58\\",\\n \\"CustomerPoolName\\": \\"测试号码池\\",\\n \\"Telephone\\": \\"17816876546\\",\\n \\"SmsStatus\\": \\"0\\",\\n \\"ReleaseTime\\": \\"2024-08-29 17:23:58\\",\\n \\"AuthMsg\\": \\"绑定失败用户身份证黑名单\\",\\n \\"UnbindTime\\": \\"2024-08-29 17:23:58\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'ramActions' => [], ], - 'GetXConfig' => [ - 'summary' => '获取X号码配置信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'QueryPhoneNoAByTrackNo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '244983', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72630', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ReqId', + 'name' => 'trackNo', 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], + 'schema' => ['description' => 'The tracking number.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '22573****', 'title' => ''], ], [ - 'name' => 'CallerParentId', + 'name' => 'CabinetNo', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'The cabinet number.'."\n", 'type' => 'string', 'required' => false, 'example' => '25689****', 'title' => ''], ], [ - 'name' => 'CustomerPoolKey', + 'name' => 'PhoneNoX', 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], - ], - [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'required' => true, - 'example' => '17*******22', - ], + 'schema' => ['description' => 'Phone number X returned by the API operation for creating a binding.'."\n", 'type' => 'string', 'required' => false, 'example' => '1710000****', 'title' => ''], ], ], 'responses' => [ @@ -7423,326 +5894,196 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], - 'Data' => [ - 'type' => 'object', - 'properties' => [ - 'SequenceStartTime' => [ - 'title' => '顺振开启时间 格式:HH:mm:ss 09:00:00', - 'description' => '顺振开启时间 格式:HH:mm:ss 09:00:00', - 'type' => 'string', - 'example' => '09:00:00', - ], - 'SequenceCalls' => [ - 'title' => '顺振控制参数', - 'description' => '顺振控制参数', - 'type' => 'array', - 'items' => [ - 'title' => '', - 'type' => 'object', - 'properties' => [ - 'SequenceCallNoPlayCode' => [ - 'title' => '顺振提示音放音编号,格式如callNoPlayCode', - 'description' => '顺振提示音放音编号,格式如callNoPlayCode', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - 'SequenceCalledNo' => [ - 'title' => '顺振被叫号码', - 'description' => '顺振被叫号码', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - 'SequenceCalledPlayCode' => [ - 'title' => '接通后主被叫放音编号,格式如calledPlayCode', - 'description' => '接通后主被叫放音编号,格式如calledPlayCode', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - ], - ], - 'example' => '', - ], - 'SmsAbility' => [ - 'title' => '开/关短信功能状态: ‘0’:禁用; ‘1’:开启;', - 'description' => '开/关短信功能状态: ‘0’:禁用; ‘1’:开启;', - 'type' => 'string', - 'example' => '0', - ], - 'GNFlag' => [ - 'title' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'description' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'type' => 'string', - 'example' => '00', - ], - 'SmsSignMode' => [ - 'title' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'description' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'type' => 'string', - 'example' => '0', - ], - 'ReachJsons' => [ - 'title' => '企业名片规则控制参数', - 'description' => '企业名片规则控制参数', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ReceiveDir' => [ - 'title' => '接收方向 1:主叫 2:被叫', - 'description' => '接收方向 1:主叫 2:被叫', - 'type' => 'string', - 'example' => '1', - ], - 'CallDir' => [ - 'title' => '呼叫方向 1:员工B呼叫客户A 2:客户A呼叫员工B', - 'description' => '呼叫方向 1:员工B呼叫客户A 2:客户A呼叫员工B', - 'type' => 'string', - 'example' => '1', - ], - 'TempId' => [ - 'title' => '模板ID', - 'description' => '模板ID', - 'type' => 'string', - 'example' => '12345', - ], - 'RuleId' => [ - 'title' => '规则ID', - 'description' => '规则ID', - 'type' => 'string', - 'example' => '345', - ], - 'CallStatus' => [ - 'title' => '通话状态 1:通话振铃 2:接通前 3:接通后 4:通话结束 5:已接通6:未接通', - 'description' => '通话状态 1:通话振铃 2:接通前 3:接通后 4:通话结束 5:已接通6:未接通', - 'type' => 'string', - 'example' => '1', - ], - 'RuleType' => [ - 'title' => '规则类型: 1:企业名片-短信 2:企业名片-闪信 3:企业名片-视频 4:企业名片-音频', - 'description' => '规则类型: 1:企业名片-短信 2:企业名片-闪信 3:企业名片-视频 4:企业名片-音频', - 'type' => 'string', - 'example' => '1', - ], - 'RuleName' => [ - 'title' => '规则名称', - 'description' => '规则名称', - 'type' => 'string', - 'example' => '企业名片-短信规则', - ], - ], - ], - 'example' => '', - ], - 'CallAbility' => [ - 'title' => '开/关呼叫能力状态: ‘0’:禁用; ‘1’:开启;', - 'description' => '开/关呼叫能力状态: ‘0’:禁用; ‘1’:开启;', - 'type' => 'string', - 'example' => '0', - ], - 'SequenceEndTime' => [ - 'title' => '顺振结束时间 格式:HH:mm:ss 18:00:00', - 'description' => '顺振结束时间 格式:HH:mm:ss 18:00:00', - 'type' => 'string', - 'example' => '09:00:00', + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => '请求成功', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '8906582E-6722', 'title' => ''], + 'Module' => [ + 'description' => 'The information returned after the phone numbers were bound.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Extension' => ['description' => 'The extension of phone number X.'."\n", 'type' => 'string', 'example' => '130', 'title' => ''], + 'PhoneNoX' => ['description' => 'The private number, that is, phone number X.'."\n", 'type' => 'string', 'example' => '1710000****', 'title' => ''], + 'PhoneNoA' => ['description' => 'Phone number A.'."\n", 'type' => 'string', 'example' => '1310000****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'true', - ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"请求成功\\",\\n \\"RequestId\\": \\"8906582E-6722\\",\\n \\"Module\\": [\\n {\\n \\"Extension\\": \\"130\\",\\n \\"PhoneNoX\\": \\"1710000****\\",\\n \\"PhoneNoA\\": \\"1310000****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'QueryPhoneNoAByTrackNo', + 'summary' => 'Queries the details about a tracking number.', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-03-16T05:32:10.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QueryPhoneNoAByTrackNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"SequenceStartTime\\": \\"09:00:00\\",\\n \\"SequenceCalls\\": [\\n {\\n \\"SequenceCallNoPlayCode\\": \\"示例值示例值示例值\\",\\n \\"SequenceCalledNo\\": \\"示例值示例值示例值\\",\\n \\"SequenceCalledPlayCode\\": \\"示例值示例值示例值\\"\\n }\\n ],\\n \\"SmsAbility\\": \\"0\\",\\n \\"GNFlag\\": \\"00\\",\\n \\"SmsSignMode\\": \\"0\\",\\n \\"ReachJsons\\": [\\n {\\n \\"ReceiveDir\\": \\"1\\",\\n \\"CallDir\\": \\"1\\",\\n \\"TempId\\": \\"12345\\",\\n \\"RuleId\\": \\"345\\",\\n \\"CallStatus\\": \\"1\\",\\n \\"RuleType\\": \\"1\\",\\n \\"RuleName\\": \\"企业名片-短信规则\\"\\n }\\n ],\\n \\"CallAbility\\": \\"0\\",\\n \\"SequenceEndTime\\": \\"09:00:00\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'ConfigX' => [ - 'summary' => '配置X号码,单独对工作号的话音呼叫、企业名片等通信功能进行配置操作', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'QueryRecordFileDownloadUrl' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '244982', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'abilityTreeCode' => '72631', + 'abilityTreeNodes' => ['FEATUREdyplsVL8MN2'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ReqId', - 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879', - ], - ], - [ - 'name' => 'CallerParentId', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1898871967585852', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" + ."\n" + .'> This parameter is required when **ProductType** is left empty.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'FC10000012345****', 'title' => ''], ], [ - 'name' => 'CustomerPoolKey', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', - ], + 'schema' => ['description' => 'The product type. Valid values:'."\n" + ."\n" + .'* **AXB\\_170**.'."\n" + .'* **AXN\\_170**.'."\n" + .'* **AXN\\_95**.'."\n" + .'* **AXN_EXTENSION_REUSE**'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" + ."\n" + .'* This parameter is required when **PoolKey** is left empty.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AXB_170', 'title' => ''], ], [ - 'name' => 'TelX', + 'name' => 'CallId', 'in' => 'query', - 'schema' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'required' => true, - 'example' => '17*******22', - ], + 'schema' => ['description' => 'The ID of the call record. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view **Call Record ID** on the **Call Record Query** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '416*********bd50', 'title' => ''], ], [ - 'name' => 'GNFlag', + 'name' => 'CallTime', 'in' => 'query', - 'schema' => [ - 'title' => '是否透传来显为真实主叫:00-非透传:互相拨打时都显示工作号;10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号;默认为 00', - 'description' => '是否透传来显为真实主叫:00-非透传:互相拨打时都显示工作号;10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号;默认为 00', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The call initiation time in the call record. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). View **Call Initiated At** on the **Call Record Query** page, or view the call_time field in the Call Detail Record (CDR) receipt.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '2019-03-05 12:00:00 ', 'title' => ''], ], - [ - 'name' => 'SmsSignMode', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '是否透传来显为真实用户0:不透传; 1:透传默认:0不透传', - 'description' => '是否透传来显为真实用户0:不透传; 1:透传默认:0不透传', - 'type' => 'string', - 'required' => false, - 'example' => '0', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1AB3CEF7-DCBE-488C-9C33-D180982CE031', 'title' => ''], + 'DownloadUrl' => ['description' => 'The download URL of the recording file. The download URL is valid for 2 hours.'."\n", 'type' => 'string', 'example' => 'http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820******_66647243838006067251************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n********7lg4/WmEA%3D', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SmsAbility', - 'in' => 'query', - 'schema' => [ - 'title' => '开/关短信功能状态‘0’:禁用;‘1’:开启;', - 'description' => '开/关短信功能状态‘0’:禁用;‘1’:开启;', - 'type' => 'string', - 'required' => false, - 'example' => '0', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"1AB3CEF7-DCBE-488C-9C33-D180982CE031\\",\\n \\"DownloadUrl\\": \\"http://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820******_66647243838006067251************.mp3?Expires=1551******&OSSAccessKeyId=yourAccessKeyID&Signature=tK6Yq9KusU4n********7lg4/WmEA%3D\\"\\n}","errorExample":""},{"type":"xml","example":"\\n1AB3CEF7-DCBE-488C-9C33-D180982CE031\\nOK\\nOK\\nhttp://secret-axb-reco****cn-shanghai.aliyuncs.com/1000000820257625_66647243838006067251551752068865.mp3?Expires=1551759607&OSSAccessKeyId=LTAIP00vvvvvvvvv&Signature=tK6Yq9KusU4n%2BZQWXI7lg4/WmEA%3D\\n","errorExample":""}]', + 'title' => 'QueryRecordFileDownloadUrl', + 'summary' => 'Obtains the download URL of a recording file.', + 'description' => 'If the recording feature is enabled for a binding, all calls made by the bound phone numbers are recorded. You can obtain the download URL of a recording file by calling the QueryRecordFileDownloadUrl operation and download the recording file.'."\n" + ."\n" + .'> We recommend that you subscribe to [the recording status report SecretRecording](~~109198~~). The values of the response parameters in SecretRecording can be used as the values of the request parameters for downloading a recording file.'."\n" + ."\n" + .'### [](#)Procedure for obtaining a recording file'."\n" + ."\n" + .'1. Specify the request parameter in an update or binding operation to enable the recording feature.'."\n" + .'2. Subscribe to recording message receipts in the Phone Number Protection console.'."\n" + .'3. After a recording message receipt is returned, call the QueryRecordFileDownloadUrl operation to obtain the download URL of the recording file, and download the recording file.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* A download URL is valid for 2 hours. Download the recording file as soon as possible after obtaining a download URL.'."\n" + ."\n" + .'* The storage period of recording files is 30 days. You can download only the recording files of calls recorded in the last 30 days.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-02-22T06:27:00.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QueryRecordFileDownloadUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'QuerySecretAPhoneNoToCust' => [ + 'summary' => 'Query the reporting status of an A number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'CallAbility', - 'in' => 'query', - 'schema' => [ - 'title' => '开/关呼叫能力状态‘0’:禁用‘1’:开启', - 'description' => '开/关呼叫能力状态‘0’:禁用‘1’:开启', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'SequenceMode', + 'name' => 'PhoneNoA', 'in' => 'query', - 'schema' => [ - 'title' => '顺振模式:0-不顺振(默认)1-有条件顺振,先接续calledNo指定被叫,如果该被叫未能接通,再顺振sequenceCalls号码列表2-无条件顺振,不接续calledNo指定被叫,直接顺振sequenceCalls号码列表', - 'description' => '顺振模式:0-不顺振(默认)1-有条件顺振,先接续calledNo指定被叫,如果该被叫未能接通,再顺振sequenceCalls号码列表2-无条件顺振,不接续calledNo指定被叫,直接顺振sequenceCalls号码列表', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['title' => '', 'description' => 'A number.', 'type' => 'string', 'required' => true, 'example' => '130*****8888'], ], [ - 'name' => 'SequenceCalls', + 'name' => 'ANoWhiteGroupId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '顺振控制参数', - 'description' => '顺振控制参数', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SequenceCallNoPlayCode' => [ - 'title' => '顺振提示音放音编号,格式如callNoPlayCode', - 'description' => '顺振提示音放音编号,格式如callNoPlayCode', - 'type' => 'string', - 'required' => false, - 'example' => '01', - ], - 'SequenceCalledNo' => [ - 'title' => '顺振被叫号码', - 'description' => '顺振被叫号码', - 'type' => 'string', - 'required' => false, - 'example' => '18*******33', - ], - 'SequenceCalledPlayCode' => [ - 'title' => '接通后主被叫放音编号,格式如calledPlayCode', - 'description' => '接通后主被叫放音编号,格式如calledPlayCode', - 'type' => 'string', - 'required' => false, - 'example' => '02', - ], - ], - 'required' => false, - ], - 'required' => false, - 'example' => '', - ], + 'schema' => ['title' => '', 'description' => 'Number group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '58'], ], ], 'responses' => [ @@ -7750,73 +6091,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'RequestId' => [ - 'type' => 'string', - ], + 'AccessDeniedDetail' => ['description' => 'Details of the denied access.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'RequestId' => ['title' => '', 'description' => 'The returned ID.', 'type' => 'string', 'example' => '1D73E648-0978-18A5-B089-3BB2'], + 'Message' => ['title' => '', 'description' => 'Error message for a failed operation.', 'type' => 'string', 'example' => '号码组不存在'], 'Data' => [ + 'title' => '', + 'description' => 'The struct for querying the A number reporting status.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'NoType' => ['title' => '', 'description' => 'The number type. Valid values:'."\n" + ."\n" + .'- Mobile: Mobile phone number.'."\n" + ."\n" + .'- Fixed: Landline number.', 'type' => 'string', 'example' => 'Mobile'], + 'CustPhoneNo' => ['title' => '', 'description' => 'The contact phone number of the handler or legal representative for landline reporting.', 'type' => 'string', 'example' => '130*****8888'], + 'ReportResult' => ['title' => '', 'description' => 'The reason for review failure.', 'type' => 'string', 'example' => '["系统判断为不同人"]'], + 'ReportStatus' => ['title' => '', 'description' => 'The reporting result. Valid values:'."\n" + ."\n" + .'- REVIEWING: Under review.'."\n" + ."\n" + .'- PASS: Review passed.'."\n" + ."\n" + .'- FAIL: Review failed.', 'type' => 'string', 'example' => 'REVIEWING'], + 'ANoWhiteGroupId' => ['title' => '', 'description' => 'The ID of the A number group to which the number belongs.', 'type' => 'string', 'example' => '19'], + 'PhoneNoA' => ['title' => '', 'description' => 'A number.', 'type' => 'string', 'example' => '130*****1234'], + 'Remark' => ['title' => '', 'description' => 'Remarks (user\'s own business notes).', 'type' => 'string', 'example' => '***报备'], ], + 'example' => '', ], - 'Code' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '', - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['title' => '', 'description' => 'Request status code.', 'type' => 'string', 'example' => '200'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request succeeded. Valid values:'."\n" + ."\n" + .'- true: Succeeded.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"1D73E648-0978-18A5-B089-3BB2\\",\\n \\"Message\\": \\"号码组不存在\\",\\n \\"Data\\": {\\n \\"NoType\\": \\"Mobile\\",\\n \\"CustPhoneNo\\": \\"130*****8888\\",\\n \\"ReportResult\\": \\"[\\\\\\"系统判断为不同人\\\\\\"]\\",\\n \\"ReportStatus\\": \\"REVIEWING\\",\\n \\"ANoWhiteGroupId\\": \\"19\\",\\n \\"PhoneNoA\\": \\"130*****1234\\",\\n \\"Remark\\": \\"***报备\\"\\n },\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query A Number Filing Status', + 'description' => 'Before you invoke this API to query the reporting status of an A number, you must first submit the real-name information for the mobile or landline A number by calling the [CreatePhoneNoAReport](~~2880908~~) or [CreateFixedNoAReport](~~2881429~~) API. For detailed instructions, see [Submit real-name information for an A number via API](~~2880077~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySecretAPhoneNoToCust'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"\\",\\n \\"Data\\": {\\n \\"Message\\": \\"成功\\",\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'ramActions' => [], ], - 'GetXDefaultConfig' => [ - 'summary' => '获取X号码默认配置信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'QuerySecretNoDetail' => [ + 'summary' => 'Queries the attributes of a private number.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7826,424 +6158,651 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '244984', - 'abilityTreeNodes' => [ - 'FEATUREdypls9LYVYY', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '107292', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ReqId', + 'name' => 'SecretNo', 'in' => 'query', - 'schema' => [ - 'title' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'description' => '请求去重ID, reqId最大长度为20位,接入方需要保持原子性', - 'type' => 'string', - 'required' => true, - 'example' => '564**********879'."\n", - ], + 'schema' => ['description' => 'The private number.'."\n", 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], ], [ - 'name' => 'CallerParentId', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '客户uid', - 'description' => '客户uid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '-', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'example' => 'FC2258****', 'title' => ''], ], - [ - 'name' => 'CustomerPoolKey', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '号码池key', - 'description' => '号码池key', - 'type' => 'string', - 'required' => true, - 'example' => 'FC5**********************a1a', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '066E6E47-04CB-4774-A976-4F73CB76D4A3', 'title' => ''], + 'SecretNoInfoDTO' => [ + 'description' => 'The attributes of the phone number.'."\n", + 'type' => 'object', + 'properties' => [ + 'PurchaseTime' => ['description' => 'The time when the phone number was purchased.'."\n", 'type' => 'string', 'example' => '2021-12-03 15:19:27', 'title' => ''], + 'Vendor' => ['description' => 'The carrier to which the phone number belongs. Valid values:'."\n" + ."\n" + .'* **1**: China Mobile'."\n" + .'* **2**: China Unicom'."\n" + .'* **3**: China Telecom'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Province' => ['description' => 'The province.'."\n", 'type' => 'string', 'example' => '陕西', 'title' => ''], + 'City' => ['description' => 'The city.'."\n", 'type' => 'string', 'example' => '西安', 'title' => ''], + 'SecretStatus' => ['description' => 'The status of the phone number. Valid values:'."\n" + ."\n" + .'* **0**: The phone number is not bound to other phone numbers.'."\n" + .'* **1**: The phone number is bound to other phone numbers.'."\n" + .'* **2**: The phone number is locked.'."\n" + .'* **3**: The phone number is frozen.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'CertifyStatus' => ['description' => 'The verification status of the phone number. Valid values:'."\n" + ."\n" + .'* **0**: The phone number is not verified.'."\n" + .'* **1**: The phone number is verified.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'FlowLimited', 'errorMessage' => 'The operation is denied due to flow control.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"066E6E47-04CB-4774-A976-4F73CB76D4A3\\",\\n \\"SecretNoInfoDTO\\": {\\n \\"PurchaseTime\\": \\"2021-12-03 15:19:27\\",\\n \\"Vendor\\": 1,\\n \\"Province\\": \\"陕西\\",\\n \\"City\\": \\"西安\\",\\n \\"SecretStatus\\": 0,\\n \\"CertifyStatus\\": 0\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'QuerySecretNoDetail', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 1,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. We recommend that you take note of the limit when you call this operation.'."\n", + 'changeSet' => [ + ['createdAt' => '2021-12-08T02:26:32.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySecretNoDetail'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'required' => true, - 'example' => '17*******22', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QuerySecretNoDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + ], + 'QuerySecretNoRemain' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72632', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SpecId', + 'in' => 'query', + 'schema' => ['description' => 'The type of the phone number. Valid values:'."\n" + ."\n" + .'* **1**: a phone number assigned by a virtual network operator, that is, a phone number that belongs to the 170 or 171 number segment.'."\n" + .'* **2**: a phone number provided by a carrier.'."\n" + .'* **3**: a phone number that starts with 95.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'City', + 'in' => 'query', + 'schema' => ['description' => 'The home location of the phone number.'."\n" + ."\n" + .'* If **SpecId** is set to 1 or 2, you can specify the **City** parameter to query the quantity of available phone numbers.'."\n" + ."\n" + .'1. You can enter a single city name to perform a query.'."\n" + .'2. You can enter National to query the quantity of remaining phone numbers available in the Chinese mainland for online purchase.'."\n" + .'3. You can enter National List to query the cities with available phone numbers and the quantities of remaining phone numbers in the Chinese mainland. Cities without available phone numbers will not be returned.'."\n" + ."\n" + .'* If **SpecId** is set to 3, home locations are not distinguished for phone numbers that start with 95 and only the quantity of all the remaining phone numbers that start with 95 and are available for online purchase can be queried. If SpecId is set to 3, **City** must be set to **Nationwide**.'."\n" + ."\n" + .'> Home locations can be set to only locations in the Chinese mainland.'."\n", 'type' => 'string', 'required' => true, 'example' => '杭州', 'title' => ''], + ], + [ + 'name' => 'SecretNo', + 'in' => 'query', + 'schema' => ['description' => 'The prefix of the phone number. When you call the QuerySecretNoRemain operation with **SecretNo** specified, the quantity of remaining phone numbers with the specified prefix that are available for online purchase is queried.'."\n" + ."\n" + .'Up to 18 digits of a phone number prefix can be specified.'."\n", 'type' => 'string', 'required' => false, 'example' => '130', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'Message' => [ - 'title' => '返回信息', - 'description' => '返回信息', - 'type' => 'string', - 'example' => '成功', - ], - 'Data' => [ + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9FC30594-3841-43AD-9008-03393BCB5CD2', 'title' => ''], + 'SecretRemainDTO' => [ + 'description' => 'The information returned after the operation was called.'."\n", 'type' => 'object', 'properties' => [ - 'ReachJson' => [ - 'title' => '企业名片规则控制参数', - 'description' => '企业名片规则控制参数', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ReceiveDir' => [ - 'title' => '接收方向 1:主叫 2:被叫', - 'description' => '接收方向 1:主叫 2:被叫', - 'type' => 'string', - 'example' => '1', - ], - 'CallDir' => [ - 'title' => '呼叫方向 1:员工B呼叫客户A 2:客户A呼叫员工B', - 'description' => '呼叫方向 1:员工B呼叫客户A 2:客户A呼叫员工B', - 'type' => 'string', - 'example' => '1', - ], - 'TempId' => [ - 'title' => '模板ID', - 'description' => '模板ID', - 'type' => 'string', - 'example' => '12345', - ], - 'RuleId' => [ - 'title' => '规则ID', - 'description' => '规则ID', - 'type' => 'string', - 'example' => '345', - ], - 'CallStatus' => [ - 'title' => '通话状态 1:通话振铃 2:接通前 3:接通后 4:通话结束 5:已接通6:未接通', - 'description' => '通话状态 1:通话振铃 2:接通前 3:接通后 4:通话结束 5:已接通6:未接通', - 'type' => 'string', - 'example' => '1', - ], - 'RuleType' => [ - 'title' => '规则类型: 1:企业名片-短信 2:企业名片-闪信 3:企业名片-视频 4:企业名片-音频', - 'description' => '规则类型: 1:企业名片-短信 2:企业名片-闪信 3:企业名片-视频 4:企业名片-音频', - 'type' => 'string', - 'example' => '1', - ], - 'RuleName' => [ - 'title' => '规则名称', - 'description' => '规则名称', - 'type' => 'string', - 'example' => '企业名片-短信规则', - ], - ], - ], - 'example' => '', - ], - 'SequenceStartTime' => [ - 'title' => '顺振开启时间 格式:HH:mm:ss 09:00:00', - 'description' => '顺振开启时间 格式:HH:mm:ss 09:00:00', - 'type' => 'string', - 'example' => '09:00:00', - ], - 'SmsAbility' => [ - 'title' => '开/关短信功能状态: ‘0’:禁用; ‘1’:开启;', - 'description' => '开/关短信功能状态: ‘0’:禁用; ‘1’:开启;', - 'type' => 'string', - 'example' => '0', - ], - 'GNFlag' => [ - 'title' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'description' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'type' => 'string', - 'example' => '00', - ], - 'SmsSignMode' => [ - 'title' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'description' => '是否透传来显为真实主叫: 00-非透传:互相拨打时都显示工作号; 10-透传:A客户为主叫时,B员工的来显为客户A号码;B员工为主叫时,A客户的来显为工作号; 默认为 00', - 'type' => 'string', - 'example' => '0', - ], - 'SequenceCall' => [ - 'title' => '顺振控制参数', - 'description' => '顺振控制参数', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SequenceCallNoPlayCode' => [ - 'title' => '顺振提示音放音编号,格式如callNoPlayCode', - 'description' => '顺振提示音放音编号,格式如callNoPlayCode', - 'type' => 'string', - 'example' => '示例值', - ], - 'SequenceCalledNo' => [ - 'title' => '顺振被叫号码', - 'description' => '顺振被叫号码', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - 'SequenceCalledPlayCode' => [ - 'title' => '接通后主被叫放音编号,格式如calledPlayCode', - 'description' => '接通后主被叫放音编号,格式如calledPlayCode', - 'type' => 'string', - 'example' => '示例值示例值示例值', + 'Amount' => ['description' => 'The quantity of remaining phone numbers available for online purchase.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'City' => ['description' => 'The home location of the phone numbers.'."\n", 'type' => 'string', 'example' => '杭州', 'title' => ''], + 'RemainDTOList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'remainDTO' => [ + 'description' => 'The information about remaining phone numbers available for online purchase.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Amount' => ['description' => 'The quantity of remaining phone numbers available for online purchase for the city.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '120', 'title' => ''], + 'City' => ['description' => 'The home location of the phone numbers.'."\n", 'type' => 'string', 'example' => '武汉', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', 'example' => '', ], - 'CallAbility' => [ - 'title' => '开/关呼叫能力状态: ‘0’:禁用; ‘1’:开启;', - 'description' => '开/关呼叫能力状态: ‘0’:禁用; ‘1’:开启;', - 'type' => 'string', - 'example' => '0', - ], - 'SequenceEndTime' => [ - 'title' => '顺振结束时间 格式:HH:mm:ss 18:00:00', - 'description' => '顺振结束时间 格式:HH:mm:ss 18:00:00', - 'type' => 'string', - 'example' => '09:00:00', - ], ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'title' => '返回状态码 0000表示成功 其他表示失败', - 'description' => '返回状态码 0000表示成功 其他表示失败', - 'type' => 'string', - 'example' => '0000', - ], - 'Success' => [ - 'title' => '返回是否成功 true 表示成功 false表示失败', - 'description' => '返回是否成功 true 表示成功 false表示失败', - 'type' => 'boolean', - 'example' => 'true', - ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"ReachJson\\": [\\n {\\n \\"ReceiveDir\\": \\"1\\",\\n \\"CallDir\\": \\"1\\",\\n \\"TempId\\": \\"12345\\",\\n \\"RuleId\\": \\"345\\",\\n \\"CallStatus\\": \\"1\\",\\n \\"RuleType\\": \\"1\\",\\n \\"RuleName\\": \\"企业名片-短信规则\\"\\n }\\n ],\\n \\"SequenceStartTime\\": \\"09:00:00\\",\\n \\"SmsAbility\\": \\"0\\",\\n \\"GNFlag\\": \\"00\\",\\n \\"SmsSignMode\\": \\"0\\",\\n \\"SequenceCall\\": [\\n {\\n \\"SequenceCallNoPlayCode\\": \\"示例值\\",\\n \\"SequenceCalledNo\\": \\"示例值示例值示例值\\",\\n \\"SequenceCalledPlayCode\\": \\"示例值示例值示例值\\"\\n }\\n ],\\n \\"CallAbility\\": \\"0\\",\\n \\"SequenceEndTime\\": \\"09:00:00\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'BindAxb700' => [ - 'summary' => '创建700绑定关系', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"9FC30594-3841-43AD-9008-03393BCB5CD2\\",\\n \\"SecretRemainDTO\\": {\\n \\"Amount\\": 0,\\n \\"City\\": \\"杭州\\",\\n \\"RemainDTOList\\": {\\n \\"remainDTO\\": [\\n {\\n \\"Amount\\": 120,\\n \\"City\\": \\"武汉\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'QuerySecretNoRemain', + 'summary' => 'Queries the quantity of remaining phone numbers available for online purchase.', + 'description' => 'When purchasing a phone number, specify the home location. If no sufficient phone numbers are available for purchase in the home location, the purchase of the phone number fails. Before calling the [BuySecretNo](~~BuySecretNo~~) operation to purchase a phone number, call the [QuerySecretNoRemain](~~QuerySecretNoRemain~~) operation to query the quantity of remaining phone numbers available for online purchase.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySecretNoRemain'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QuerySecretNoRemain', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'QuerySoundRecord' => [ + 'summary' => 'Query the downloadable call recording URL by call ID on the enterprise side.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '283900', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'operationType' => 'get', + 'abilityTreeCode' => '244987', + 'abilityTreeNodes' => ['FEATUREdyplsVL8MN2'], ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'FC2258****', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Ensure the atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'Expiration', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '2021-09-05 12:00:00', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. This parameter is automatically obtained by the system and does not need to be specified.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ - 'name' => 'TelA', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '139****0000', - ], + 'schema' => ['title' => '', 'description' => 'The number pool key.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'TelB', + 'name' => 'CallId', 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The call ID that uniquely identifies a call.', 'type' => 'string', 'required' => true, 'example' => 'ac445343254'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['title' => '', 'description' => 'The returned information.', 'type' => 'string', 'example' => '成功'], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'FileUrl' => ['title' => '', 'description' => 'The URL of the call recording. The maximum length is 1000 characters. The URL is valid for 1 hour.', 'type' => 'string', 'example' => 'http://www.oss.com/temepl/a.mp3'], + ], + 'example' => '', + 'description' => '', + 'title' => '', + ], + 'Code' => ['title' => '', 'description' => 'The returned status code. Valid values:'."\n" + ."\n" + .'- 0000: The request was successful.'."\n" + ."\n" + .' Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- true: The request was successful.'."\n" + ."\n" + .'- false: The request failed.', 'type' => 'boolean', 'example' => 'true'], + ], 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '136****0000', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {\\n \\"FileUrl\\": \\"http://www.oss.com/temepl/a.mp3\\"\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Query Call Recording URL', + 'changeSet' => [], + 'ramActions' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + ], + 'QuerySubsId' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '700********0000', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72634', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'NeedRecord', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dyplsnext.console.aliyun.com/overview) and view the key of the phone number pool on the Number Pool Management page.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'FC10000012345****', 'title' => ''], ], [ - 'name' => 'RecType', + 'name' => 'PhoneNoX', 'in' => 'query', + 'schema' => ['description' => 'The private number in the binding, that is, phone number X.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****1111', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'mp3', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The response code. The value OK indicates that the request was successful.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'E7F99446-8191-43C0-99B5-F58A6AEAD779', 'title' => ''], + 'SubsId' => ['description' => 'The binding ID.'."\n", 'type' => 'string', 'example' => '1000******,1000******,1000******', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'CallRestrict', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'POOLKEY_NOT_EXIST', 'errorMessage' => 'poolKey not exsit.', 'description' => 'Pool key does not exist'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"E7F99446-8191-43C0-99B5-F58A6AEAD779\\",\\n \\"SubsId\\": \\"1000******,1000******,1000******\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\tOK\\n\\t117809\\n\\tF3BC6628-7976-41BA-87D0-D152BAB2A9C8\\n\\tOK\\n","errorExample":""}]', + 'title' => 'QuerySubsId', + 'summary' => 'Queries binding IDs.', + 'description' => 'You can query binding IDs by phone number X. In the AXB product, multiple bindings may exist for the same phone number X. In this case, multiple binding IDs may be obtained for the same phone number X.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QuerySubsId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'QuerySubscriptionDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Audio', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72633', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => ' {'."\n" - .'"ACallX_Apre":"185"'."\n" - .'}', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" + ."\n" + .'> This parameter is required when **ProductType** is left empty.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'FC10000012345****', 'title' => ''], ], [ - 'name' => 'OrderId', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '12345678', - ], + 'schema' => ['description' => 'The product type. Valid values:'."\n" + ."\n" + .'* **AXB\\_170**'."\n" + .'* **AXN\\_170**'."\n" + .'* **AXN\\_95**'."\n" + .'* **AXN_EXTENSION_REUSE**'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" + ."\n" + .'* This parameter is required when **PoolKey** is left empty.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AXB_170', 'title' => ''], ], [ - 'name' => 'IndustrialId', + 'name' => 'SubsId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '700.100.1/12345678', - ], + 'schema' => ['description' => 'The binding ID.'."\n" + ."\n" + .'Log on to the Phone Number Protection console, choose **Number and Number Pool** > **Number Management**. On the Number Management page, select the desired record and click Details to view the binding ID. Alternatively, you can view the value of the **SubsId** parameter returned by an API operation for a phone number binding such as [BindAxb](~~110248~~). The value of this parameter indicates a binding ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '100000076879****', 'title' => ''], ], [ - 'name' => 'OutId', + 'name' => 'PhoneNoX', 'in' => 'query', + 'schema' => ['description' => 'The private number in the binding, that is, phone number X.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****1111', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '066E6E47-04CB-4774-A976-4F73CB76D4A3', 'title' => ''], + 'SecretBindDetailDTO' => [ + 'description' => 'The information returned after the QuerySubscriptionDetail operation was called.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The binding status. Valid values:'."\n" + ."\n" + .'* **0**: The binding expired.'."\n" + .'* **1**: The binding is in effect.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Extension' => ['description' => 'The extension in the AXG extension binding.'."\n", 'type' => 'string', 'example' => '130', 'title' => ''], + 'PhoneNoB' => ['description' => 'Phone number B in the binding.'."\n", 'type' => 'string', 'example' => '138****0000', 'title' => ''], + 'GroupId' => ['description' => 'The ID of number group G in the binding.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '200001234****', 'title' => ''], + 'NeedRecord' => ['description' => 'Indicates whether all calls made by the bound phone numbers are recorded. Valid values:'."\n" + ."\n" + .'* **false**'."\n" + .'* **true**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ASRStatus' => ['description' => 'Indicates whether automatic speech recognition (ASR) is enabled. Valid values:'."\n" + ."\n" + .'* **false**: ASR is disabled.'."\n" + .'* **true**: ASR is enabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'GmtCreate' => ['description' => 'The creation time of the binding.'."\n", 'type' => 'string', 'example' => '2019-03-05 12:00:00', 'title' => ''], + 'ExpireDate' => ['description' => 'The expiration time of the binding.'."\n", 'type' => 'string', 'example' => '2019-09-05 12:00:00', 'title' => ''], + 'SubsId' => ['description' => 'The binding ID.'."\n", 'type' => 'string', 'example' => '100000076879****', 'title' => ''], + 'PhoneNoX' => ['description' => 'The private number in the binding, that is, phone number X.'."\n", 'type' => 'string', 'example' => '139****1111', 'title' => ''], + 'CallRestrict' => ['description' => 'The status of one-way call restrictions. No value is returned for this parameter if one-way call restrictions are not set. Valid values:'."\n" + ."\n" + .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" + .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n", 'type' => 'string', 'example' => 'CONTROL_BX_DISABLE ', 'title' => ''], + 'ASRModelId' => ['description' => 'The ID of the ASR model.'."\n", 'type' => 'string', 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], + 'PhoneNoA' => ['description' => 'Phone number A in the binding.'."\n", 'type' => 'string', 'example' => '139****0000', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', + 'title' => '', + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"066E6E47-04CB-4774-A976-4F73CB76D4A3\\",\\n \\"SecretBindDetailDTO\\": {\\n \\"Status\\": 1,\\n \\"Extension\\": \\"130\\",\\n \\"PhoneNoB\\": \\"138****0000\\",\\n \\"GroupId\\": 0,\\n \\"NeedRecord\\": true,\\n \\"ASRStatus\\": true,\\n \\"GmtCreate\\": \\"2019-03-05 12:00:00\\",\\n \\"ExpireDate\\": \\"2019-09-05 12:00:00\\",\\n \\"SubsId\\": \\"100000076879****\\",\\n \\"PhoneNoX\\": \\"139****1111\\",\\n \\"CallRestrict\\": \\"CONTROL_BX_DISABLE \\",\\n \\"ASRModelId\\": \\"7ee372834d2f4cc7ac0d0ab2d0ae1aac\\",\\n \\"PhoneNoA\\": \\"139****0000\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 066E6E47-04CB-4774-A976-4F73CB76D4A3\\n \\n 1\\n 130\\n 13900002222\\n 2000000130001\\n true\\n true\\n 2019-03-05 12:00:00\\n 2019-09-05 12:00:00\\n 100000076879****\\n 13900001234\\n CONTROL_BX_DISABLE \\n 123456\\n 13900001111\\n \\n","errorExample":""}]', + 'title' => 'QuerySubscriptionDetail', + 'summary' => 'Queries the details about a phone number binding.', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 5,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n" + ."\n" + .'### [](#poolkeyproducttype)Limits on PoolKey and ProductType'."\n" + ."\n" + .'You must specify either PoolKey or ProductType. If both parameters are not specified, an error is reported when you call the QuerySubscriptionDetail operation. We recommend that you specify the ProductType parameter for the original key accounts of Alibaba Cloud and the PoolKey parameter for Alibaba Cloud users.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-02-22T06:27:00.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QuerySubscriptionDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'ReleaseSecretNo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OutOrderId', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72635', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'abcdefgh', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'example' => 'FC10000012345****', 'title' => ''], ], [ - 'name' => 'NeedAsr', + 'name' => 'SecretNo', 'in' => 'query', + 'schema' => ['description' => 'The prefix of phone numbers. When you call the ReleaseSecretNo operation with **SecretNo** specified, the system performs fuzzy matching against phone numbers based on the prefix.'."\n" + ."\n" + .'> Up to 18 digits of a phone number prefix can be specified.'."\n", 'type' => 'string', 'required' => true, 'example' => '139****0000', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '986BCB6D-C9BF-42F9-91CE-3A990121232', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A990121232\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t986BCB6D-C9BF-42F9-91CE-3A9901233D36\\r\\n\\tOK\\r\\n","errorExample":""}]', + 'title' => 'ReleaseSecretNo', + 'summary' => 'Releases a phone number.', + 'description' => '* After a phone number is released, it will no longer be charged from the following month.'."\n" + .'* Before you release a phone number, log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) to check whether the phone number is bound to other phone numbers. The phone number can be released only if it is not bound to other phone numbers.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseSecretNo'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:ReleaseSecretNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UnBindAXB' => [ + 'summary' => 'Unbinds a specified AXB call binding relationship (A, X, B). After the call binding relationship is unbound, employee B cannot call customer A through work number X.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '244979', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'AsrModelId', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Ensure the atomicity of the request ID.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'CallTimeout', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. The system automatically obtains this value. You do not need to specify it.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ - 'name' => 'DtmfConfig', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "endCallIvrPhoneNo":"A",'."\n" - .' "waitingDtmfTime":10,'."\n" - .' "maxLoop":3,'."\n" - .' "step1File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_1.wav",'."\n" - .' "step2File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_2.wav",'."\n" - .' "validKey":"1,2",'."\n" - .' "waitingEndCall":2'."\n" - .'}', - ], + 'schema' => ['title' => '', 'description' => 'The number pool key.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], + ], + [ + 'name' => 'BindId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The unique ID of the AXB binding relationship.', 'type' => 'string', 'required' => true, 'example' => '4534543'], ], ], 'responses' => [ @@ -8251,64 +6810,63 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050******', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => '成功', 'title' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'SecretNo' => [ - 'type' => 'string', - 'example' => '700********0001', - ], - 'SubsId' => [ - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123*******', - ], + 'Message' => ['title' => '', 'description' => 'The returned message.', 'type' => 'string', 'example' => '成功'], + 'Code' => ['title' => '', 'description' => 'The return code. A value of 0000 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the operation is successful. A value of true indicates success. A value of false indicates failure.', 'type' => 'boolean', 'example' => 'true'], ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ 'description' => '', - 'type' => 'boolean', - 'example' => 'true', + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The return code. Valid values:'."\n" + ."\n" + .'- 0000: Success.'."\n" + ."\n" + .' Other values indicate failure.', 'type' => 'string', 'example' => '0000', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation is successful. Valid values:'."\n" + ."\n" + .'- true: Success.'."\n" + ."\n" + .'- false: Failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"SecretNo\\": \\"700********0001\\",\\n \\"SubsId\\": 0\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'BindGxb700' => [ - 'summary' => '创建700Gxb绑定关系', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"\\",\\n \\"Data\\": {\\n \\"Message\\": \\"成功\\",\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Unbind AXB call binding', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UnBindAXB', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'UnBindXB' => [ + 'summary' => 'Cancels the binding between work number X and employee number B. After the binding is canceled, calls to number X will not be forwarded to number B.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8317,199 +6875,230 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '285985', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '244981', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'ReqId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'FC10000016848****', - ], + 'schema' => ['title' => '', 'description' => 'The request deduplication ID. The maximum length is 20 characters. Make sure that the request ID is atomic.', 'type' => 'string', 'required' => true, 'example' => '564**********879'], ], [ - 'name' => 'Expiration', + 'name' => 'CallerParentId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '2021-09-05 12:00:00', - ], + 'schema' => ['title' => '', 'description' => 'The customer UID. The system automatically obtains this parameter. You do not need to specify it.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '-'], ], [ - 'name' => 'TelB', + 'name' => 'CustomerPoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '136****0000', - ], + 'schema' => ['title' => '', 'description' => 'The key of the number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC5**********************a1a'], ], [ - 'name' => 'DefaultA', + 'name' => 'AuthId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '138****0000', - ], + 'schema' => ['title' => '', 'description' => 'The unique ID of the XB binding relationship.', 'type' => 'string', 'required' => true, 'example' => '34*****46'], ], [ - 'name' => 'GroupId', + 'name' => 'TelX', 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Number X.', 'type' => 'string', 'required' => true, 'example' => '17*******22'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => '成功', 'title' => ''], + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Data' => [ + 'type' => 'object', + 'properties' => [ + 'Message' => ['title' => '', 'description' => 'The returned message.', 'type' => 'string', 'example' => '成功'], + 'Code' => ['title' => '', 'description' => 'The returned status code. The value 0000 indicates success. Other values indicate failure.', 'type' => 'string', 'example' => '0000'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request is successful. A value of true indicates success. A value of false indicates failure.', 'type' => 'boolean', 'example' => 'false'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The returned status code. Valid values:'."\n" + ."\n" + .'- 0000: The request is successful.'."\n" + ."\n" + .' Other values indicate failure.', 'type' => 'string', 'example' => '0000', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- true: The request is successful.'."\n" + ."\n" + .'- false: The request failed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '10000*****', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '700********0000', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"0\\",\\n \\"Message\\": \\"成功\\",\\n \\"RequestId\\": \\"\\",\\n \\"Data\\": {\\n \\"Message\\": \\"成功\\",\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n },\\n \\"Code\\": \\"0000\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'title' => 'Unbind XB Relationship', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UnBindXB', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'UnbindSubs700' => [ + 'summary' => 'Unbinds a 700 number from its binding relationship.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'NeedRecord', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '287502', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'RecType', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'mp3', - ], + 'schema' => ['description' => 'The key of the China 700 number pool.'."\n" + ."\n" + .'You can obtain the **number pool key** from the [China 700 Number Pool Management](https://dyplsnext.console.aliyun.com/number-pool) page in the China 700 Number Privacy Protection console.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****', 'title' => ''], ], [ - 'name' => 'CallRestrict', + 'name' => 'SubsId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', - ], + 'schema' => ['description' => 'The binding ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100000****', 'title' => ''], ], [ - 'name' => 'Audio', + 'name' => 'TelX', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .'"GCallX_Gpre":"185"'."\n" - .'}', - ], + 'schema' => ['description' => 'The intermediate number X. If the service user does not specify an X number, the application platform assigns a number from the number pool as the X number.', 'type' => 'string', 'required' => true, 'example' => '700********0000', 'title' => ''], ], [ 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '12345678', - ], + 'schema' => ['description' => 'The order ID. This parameter is required in practice. Encrypt the order ID before submission because it is reported to the regulatory platform.', 'type' => 'string', 'required' => false, 'example' => '12345678', 'title' => ''], ], [ 'name' => 'IndustrialId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '700.100.1/12345678', - ], + 'schema' => ['description' => 'Optional. The Industrial Internet identifier code, which has a one-to-one relationship with OrderId. The code supports delimiter characters such as "." and "/" to separate code segments. The code must not contain nonprinting characters such as spaces or line feeds. This parameter is required when the service user generates the Industrial Internet identifier code independently.', 'type' => 'string', 'required' => false, 'example' => '700.100.1/12345678', 'title' => ''], ], - [ - 'name' => 'OutId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AccessDeniedDetail' => ['description' => 'The details of the permission verification failure.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9297B722-A016-43FB-B51A-E54050******'."\n", 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => '成功', 'title' => ''], + 'Data' => ['description' => 'The default response format. No actual value is returned.', 'type' => 'object', 'example' => '{}', 'title' => ''], + 'Code' => ['description' => 'The API request status code. Valid values:'."\n" + .'- OK: the request was successful.'."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" + ."\n" + .'- true: The call was successful.'."\n" + ."\n" + .'- false: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"{}\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\\\n\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {},\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Unbind a 700 intermediate number', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [], + ], + 'UnbindSubscription' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OutOrderId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'abcdefgh', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '72636', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'NeedAsr', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The key of the phone number pool. Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" + ."\n" + .'> This parameter is required when **ProductType** is left empty.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'FC10000012345****', 'title' => ''], ], [ - 'name' => 'AsrModelId', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', - ], + 'schema' => ['description' => 'The product type. Fixed value: **AXB\\_170**.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" + ."\n" + .'* This parameter is required when **PoolKey** is left empty.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AXB_170', 'title' => ''], ], [ - 'name' => 'CallTimeout', + 'name' => 'SubsId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The binding ID.'."\n" + ."\n" + .'Log on to the Phone Number Protection console, choose **Number and Number Pool** > **Number Management**. On the Number Management page, select the desired record and click Details to view the binding ID. Alternatively, you can view the value of the **SubsId** parameter returned by an API operation for a phone number binding such as BindAxb. The value of this parameter indicates a binding ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1************2', 'title' => ''], ], [ - 'name' => 'DtmfConfig', + 'name' => 'SecretNo', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{ "endCallIvrPhoneNo":"A", "waitingDtmfTime":10, "maxLoop":3, "step1File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_1.wav", "step2File":"62ab72f8-4750-4234-859e-e8d678c0cad3-flow_tts_test_2.wav", "validKey":"1,2", "waitingEndCall":2 }', - ], + 'schema' => ['description' => 'The private number, that is, phone number X specified in an API operation for a phone number binding such as [BindAXG](~~110249~~) or automatically assigned after such an operation is called.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****1111', 'title' => ''], ], ], 'responses' => [ @@ -8517,314 +7106,311 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050******'."\n", - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SecretNo' => [ - 'description' => '', - 'type' => 'string', - 'example' => '700********0001', - ], - 'SubsId' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '123*******', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '986BCB6D-C9BF-42F9-91CE-3A9901233D36', 'title' => ''], + 'ChargeId' => ['description' => 'A deprecated parameter.'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A9901233D36\\",\\n \\"ChargeId\\": \\"true\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t9B2757F9-8FD0-48B9-9640-EF54783A06C4\\r\\n\\ttrue\\r\\n\\tOK\\r\\n","errorExample":""}]', + 'title' => 'UnbindSubscription', + 'summary' => 'Unbinds a phone number.', + 'description' => 'Before releasing a phone number, you must call the UnbindSubscription operation to unbind the phone number.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-02-15T07:50:47.000Z', 'description' => 'Request parameters changed, Error codes changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"{}\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"SecretNo\\": \\"700********0001\\",\\n \\"SubsId\\": 0\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'UpdateSubs700' => [ - 'summary' => '更新700绑定关系', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindSubscription'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UnbindSubscription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UnlockSecretNo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '287501', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '72637', + 'abilityTreeNodes' => ['FEATUREdypls9LYVYY'], 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'FC10000016848****', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'FC2256****', 'title' => ''], ], [ - 'name' => 'OperateType', + 'name' => 'SecretNo', 'in' => 'query', + 'schema' => ['description' => 'The private number that you want to unlock. You must enter a complete mobile phone number.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1300000****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other status codes indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D1AEB96-96D0-454E-B0DC-AE2A8DF08020', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'updateNoA', + 'title' => '', + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\"\\n}","errorExample":""},{"type":"xml","example":"\\n OK\\n OK\\n 2D1AEB96-96D0-454E-B0DC-AE2A8DF08020\\n","errorExample":""}]', + 'title' => 'UnlockSecretNo', + 'summary' => 'Unlocks a phone number.', + 'description' => 'After a phone number is unlocked, you can reselect the unlocked phone number when you call an operation to create a binding.'."\n" + ."\n" + .'### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 500 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UnlockSecretNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'UpdateAxbBindFixedLine' => [ + 'summary' => 'Modifies the binding information of a landline AXB privacy number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '271215', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'SubsId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '10000*****', - ], + 'schema' => ['title' => '', 'description' => 'The number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'TelX', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '700********0000', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp in the format of yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'OrderId', + 'name' => 'SubId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '12345678', - ], + 'schema' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'required' => true, 'example' => 'A100***************'], ], [ - 'name' => 'IndustrialId', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '700.100.1/12345678', - ], + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], [ 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '138****0000', - ], - ], - [ - 'name' => 'DefaultA', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '138****0000', - ], + 'schema' => ['title' => '', 'description' => 'Sets number A in the binding relationship.'."\n" + ."\n\n" + .'> - Number A can be set to a mobile phone number or a landline number. Landline numbers must include the area code, with no hyphen between the area code and the number.'."\n" + .'> - TelA and TelB cannot be updated at the same time.', 'type' => 'string', 'required' => false, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], ], [ 'name' => 'TelB', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '136****0000', - ], - ], - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '10000*****', - ], + 'schema' => ['title' => '', 'description' => 'Sets number B in the binding relationship.'."\n" + ."\n\n" + .'> - Number B can be set to a mobile phone number or a landline number. Landline numbers must include the area code, with no hyphen between the area code and the number.'."\n" + .'> - TelA and TelB cannot be updated at the same time.', 'type' => 'string', 'required' => false, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], ], [ - 'name' => 'Expiration', + 'name' => 'Subts', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '2021-09-05 12:00:00', - ], + 'schema' => ['title' => '', 'description' => 'The binding time in the format of yyyyMMddHHmmss. The time is in UTC+8, in 24-hour format.', 'type' => 'string', 'required' => true, 'example' => '20161114143116'], ], [ - 'name' => 'CallRestrict', + 'name' => 'Anucode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'CONTROL_AX_DISABLE', - ], + 'schema' => ['title' => '', 'description' => 'The ringback tone code for the caller side. This parameter must be set for the landline AXB privacy number service. The tone code must contain codes for three scenarios. Enter the codes in the order of "B->X, A->X, other numbers->X", separated by commas.'."\n" + ."\n" + .'> "1,2,3" indicates that the tone code for B->X is 1, the tone code for A->X is 2, and the tone code for other numbers->X is 3.', 'type' => 'string', 'required' => false, 'example' => '1,2,3'], ], [ - 'name' => 'NeedRecord', + 'name' => 'Anucodecalled', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '', 'description' => 'The ringback tone code for the called side after the call is connected. The called-side tone code must contain codes for two scenarios. Enter the codes in the order of "A as called party, B as called party", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the tone code when number A is the called party is 1, and the tone code when number B is the called party is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ - 'name' => 'Audio', + 'name' => 'TAnucodeConnect', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .'"ACallX_Apre":"185"'."\n" - .'}', - ], + 'schema' => ['title' => '', 'description' => 'The ringback tone code for the caller side after the call is connected. The tone code must contain codes for two scenarios. Enter the codes in the order of "A as called party, B as called party", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the tone code for the caller side when number A is the called party is 1, and the tone code for the caller side when number B is the called party is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ - 'name' => 'OutId', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'abcdef', - ], + 'schema' => ['title' => '', 'description' => 'The expiration time, in seconds. Valid values:'."\n" + ."\n" + .'- 0: never expires.'."\n" + ."\n" + .'- Other values: when other values are specified, such as 60s, the binding is valid for 60 seconds after number X is successfully assigned. After 60 seconds, the binding is automatically released.', 'type' => 'string', 'required' => false, 'example' => '10'], ], [ - 'name' => 'NeedAsr', + 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['title' => '', 'description' => 'An external business extension field. This parameter is returned in the call record receipt message. The value cannot exceed 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => '19394'], ], [ - 'name' => 'AsrModelId', + 'name' => 'Extra', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'title' => '', + 'description' => 'The extension parameters.', + 'type' => 'object', + 'properties' => [ + 'Callrecording' => ['title' => '', 'description' => 'Specifies whether to enable call recording. Valid values:'."\n" + ."\n" + .'- 0 (default): recording disabled.'."\n" + ."\n" + .'- 1: recording enabled.', 'type' => 'string', 'required' => false, 'example' => '0'], + ], 'required' => false, - 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050******'."\n", - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique identity for each request, which is active for troubleshooting and diagnostics when you invoke an API operation.', 'type' => 'string', 'example' => '73A5C73A-1D97-54B6-B47C-541BE59F84D9', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The returned data.', 'type' => 'object', - 'example' => '{}', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', + 'properties' => [ + 'Message' => ['title' => '', 'description' => 'The response message.', 'type' => 'string', 'example' => 'success'], + 'Code' => ['title' => '', 'description' => 'The response code. A value of 0 indicates success.', 'type' => 'string', 'example' => '0'], + 'Success' => ['title' => '', 'description' => 'Indicates whether the request is processed successfully. A value of true indicates success.', 'type' => 'boolean', 'example' => 'true'], + ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" + ."\n" + .'- 0: success.'."\n" + ."\n" + .'- Other fault codes: see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the invoke is successful. Valid values:'."\n" + ."\n" + .'- true: The invoke was successful.'."\n" + ."\n" + .'- false: The invoke failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"{}\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {},\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'UnbindSubs700' => [ - 'summary' => '解除700绑定关系', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"73A5C73A-1D97-54B6-B47C-541BE59F84D9\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Update an existing landline AXB privacy number binding', + 'description' => 'When modifying a landline AXB privacy number, number A and number B cannot be modified at the same time. For example, if the existing binding relationship is A1 and B1, you can modify it to A1 and B2, or A2 and B1.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UpdateAxbBindFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'UpdateAxnBindFixedLine' => [ + 'summary' => 'Modifies the binding information of a landline AXN private number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8833,64 +7419,114 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '287502', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '271211', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PoolKey', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'FC10000016848****', - ], + 'schema' => ['title' => '', 'description' => 'The number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ - 'name' => 'SubsId', + 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '100000****', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp. Format: yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ - 'name' => 'TelX', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '700********0000', - ], + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], ], [ - 'name' => 'OrderId', + 'name' => 'Subts', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'example' => '12345678', - ], + 'schema' => ['title' => '', 'description' => 'The binding time. Format: yyyyMMddHHmmss. The time is in UTC+8, in 24-hour format.', 'type' => 'string', 'required' => true, 'example' => '20161114143116', 'default' => ''], ], [ - 'name' => 'IndustrialId', + 'name' => 'SubId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'required' => true, 'example' => 'GHX0*************************'], + ], + [ + 'name' => 'TelA', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The A number of the landline AXN private number.'."\n" + ."\n" + .'> The A number can be a mobile phone number or a landline number. A landline number must include the area code. Do not add a hyphen between the area code and the number.', 'type' => 'string', 'required' => false, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], + ], + [ + 'name' => 'TelB', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The N number of the landline AXN private number.', 'type' => 'string', 'required' => false, 'example' => '155****2222'], + ], + [ + 'name' => 'Anucode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The caller-side ringback tone codes. This parameter is required for AXB services. The codes must include three scenarios. Enter the codes in the order of "B->X, A->X, other numbers->X", separated by commas.'."\n" + ."\n" + .'> "1,2,3" indicates that the ringback tone code for B->X is 1, for A->X is 2, and for other numbers->X is 3.', 'type' => 'string', 'required' => false, 'example' => '1,2,3'], + ], + [ + 'name' => 'Anucodecalled', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The callee-side ringback tone codes played after the call is connected. The codes must include two scenarios. Enter the codes in the order of "A as callee, B as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the ringback tone code when A is the callee is 1, and the code when B is the callee is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], + ], + [ + 'name' => 'TAnucodeConnect', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The caller-side ringback tone codes played after the call is connected. The codes must include two scenarios. Enter the codes in the order of "A as callee, B as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the caller-side ringback tone code when A is the callee is 1, and the code when B is the callee is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], + ], + [ + 'name' => 'Expiration', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The expiration time. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 0: never expires.'."\n" + ."\n" + .'- Other values: specifies the validity period. For example, if you set this parameter to 60, the binding remains valid for 60 seconds after the X number is successfully assigned. After 60 seconds, the binding is automatically released.', 'type' => 'string', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'Remark', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'An external business extension field. This parameter is returned in the call record receipt message. The value cannot exceed 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => '19394'], + ], + [ + 'name' => 'Extra', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'string', + 'title' => '', + 'description' => 'The extension parameters.', + 'type' => 'object', + 'properties' => [ + 'Callback' => ['title' => '', 'description' => 'The callback control. A calls through X, meaning A is the caller and X is the called number. Valid values:'."\n" + ."\n" + .'- 0 (default): outbound calls are not allowed.'."\n" + ."\n" + .'- 1: connects to the most recent N number.'."\n" + ."\n" + .'- 2: calls back the fixed number TelB.', 'type' => 'string', 'required' => false, 'example' => '0'], + 'Callrecording' => ['title' => '', 'description' => 'The recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): recording is disabled.'."\n" + ."\n" + .'- 1: recording is enabled.'."\n" + ."\n" + .'> After the call recording feature is enabled, you can play and download voice files in the call records. Recording files are billed at 0.010 CNY per minute.', 'type' => 'string', 'required' => false, 'example' => '1'], + ], 'required' => false, - 'example' => '700.100.1/12345678', + 'example' => '', ], ], ], @@ -8899,71 +7535,67 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050******'."\n", - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'AccessDeniedDetail' => ['description' => 'The details of the permission verification failure.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['description' => 'The result message of the call.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The unique request ID generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '3FDD0A8F-34F1-5BD4-AF9F-CD90B3DE7C06', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The application information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '9297B722-A016-43FB-B51A-E54050******', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'Code' => ['title' => '', 'description' => 'The response code. 0 indicates success. Other values indicate failure. For more information, see the documentation.', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the application instance group is retrieved. Valid values:'."\n" + ."\n" + .'- true: Retrieved.'."\n" + ."\n" + .'- false: Not retrieved.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The status code of the API request. Valid values:'."\n" + ."\n" + .'- 0: success.'."\n" + ."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n" + ."\n" + .'- true: Successful.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"{}\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\\\n\\",\\n \\"Message\\": \\"成功\\",\\n \\"Data\\": {},\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DeleteAxnExtensionBindFixedLine' => [ - 'summary' => '解绑已有AXN分机号绑定', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"3FDD0A8F-34F1-5BD4-AF9F-CD90B3DE7C06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Update AXN binding', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UpdateAxnBindFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'UpdateAxnExtensionBindFixedLine' => [ + 'summary' => 'Modifies the binding relationship of a landline AXN extension number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8972,13 +7604,11 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '271368', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '271366', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -8986,282 +7616,94 @@ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '号池ID', - 'description' => '号池ID', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], + 'schema' => ['title' => '', 'description' => 'The number pool ID.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****'], ], [ 'name' => 'Ts', 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], + 'schema' => ['title' => '', 'description' => 'The business timestamp. Format: yyyyMMddHHmmssSSS. The time is in UTC+8, in 24-hour format, accurate to milliseconds.', 'type' => 'string', 'required' => true, 'example' => '20161114143116123'], ], [ 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识', - 'description' => '消息请求唯一标识', - 'type' => 'string', - 'required' => true, - 'example' => '12345dkwkd99d', - ], + 'schema' => ['title' => '', 'description' => 'The unique identifier of the message request.', 'type' => 'string', 'required' => true, 'example' => '123*******'], + ], + [ + 'name' => 'Subts', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The binding time. Format: yyyyMMddHHmmss. The time is in UTC+8, in 24-hour format.', 'type' => 'string', 'required' => true, 'example' => '20161114143116'], ], [ 'name' => 'SubId', 'in' => 'query', - 'schema' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'required' => true, - 'example' => 'GHX0534X202504221531579290029', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'conflict with subs id=1000203635098305, phoneA conflict', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3DA9D6DF-C5FA-5A0D-B6C2-547B1FD1F9B4', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'title' => '响应码 0:成功,其它失败,具体见文档', - 'description' => '响应码 0:成功,其它失败,具体见文档', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"conflict with subs id=1000203635098305, phoneA conflict\\",\\n \\"RequestId\\": \\"3DA9D6DF-C5FA-5A0D-B6C2-547B1FD1F9B4\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'UpdateAxnExtensionBindFixedLine' => [ - 'summary' => '更新AXN分机号绑定关系', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '271366', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID', - 'description' => '号池ID', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], - ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识。', - 'description' => '消息请求唯一标识。', - 'type' => 'string', - 'required' => true, - 'example' => '12345dkwkd99d', - ], - ], - [ - 'name' => 'Subts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], - ], - [ - 'name' => 'SubId', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'required' => true, - 'example' => '可参考绑定响应', - ], + 'schema' => ['title' => '', 'description' => 'The binding ID.', 'type' => 'string', 'required' => true, 'example' => 'GHX0*************************'], ], [ 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'required' => true, - 'example' => '15500001111', - ], + 'schema' => ['title' => '', 'description' => 'Phone number A of the landline AXN extension.'."\n" + ."\n" + .'> Phone number A can be a mobile phone number or a landline number. For landline numbers, include the area code. Do not add a hyphen between the area code and the number.', 'type' => 'string', 'required' => true, 'example' => '手机号:182****2371'."\n" + .'固话:0571******36'], ], [ 'name' => 'Anucode', 'in' => 'query', - 'schema' => [ - 'title' => '放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 AXN分机号业务的放音编码,B->X和其他号码->X的编码一致 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'description' => '放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 AXN分机号业务的放音编码,B->X和其他号码->X的编码一致 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002,10003', - ], + 'schema' => ['title' => '', 'description' => 'The caller-side ringback tone code. This parameter is required for AXB services. The code must contain codes for 3 scenarios. Enter the codes in the order of "B->X, A->X, other numbers->X", separated by commas.'."\n" + ."\n" + .'> "1,2,3" indicates that the ringback tone code for B->X is 1, for A->X is 2, and for other numbers->X is 3.', 'type' => 'string', 'required' => false, 'example' => '1,2,3'], ], [ 'name' => 'Anucodecalled', 'in' => 'query', - 'schema' => [ - 'title' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2', - 'description' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', - ], + 'schema' => ['title' => '', 'description' => 'The callee-side ringback tone code played after the call is connected. The code must contain codes for 2 scenarios. Enter the codes in the order of "A as callee, B as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the ringback tone code when phone number A is the callee is 1, and the code when phone number B is the callee is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ 'name' => 'TAnucodeConnect', 'in' => 'query', - 'schema' => [ - 'title' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码为被叫时主叫侧的放音编号为2', - 'description' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码为被叫时主叫侧的放音编号为2', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', - ], + 'schema' => ['title' => '', 'description' => 'The caller-side ringback tone code played after the call is connected. The code must contain codes for 2 scenarios. Enter the codes in the order of "A as callee, B as callee", separated by commas.'."\n" + ."\n" + .'> "1,2" indicates that the caller-side ringback tone code when phone number A is the callee is 1, and the code when phone number B is the callee is 2.', 'type' => 'string', 'required' => false, 'example' => '1,2'], ], [ 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'title' => '单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'description' => '单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'type' => 'string', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['title' => '', 'description' => 'The expiration time. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 0: never expires.'."\n" + ."\n" + .'- Other values: when you specify another value such as 60, the binding remains valid for 60 seconds after phone number X is assigned. After 60 seconds, the binding is automatically released.', 'type' => 'string', 'required' => false, 'example' => '60'], ], [ 'name' => 'Remark', 'in' => 'query', - 'schema' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'required' => false, - 'example' => '1233', - ], + 'schema' => ['title' => '', 'description' => 'The external business extension field. This parameter is returned in the call record receipt message. The value cannot exceed 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => '19394'], ], [ 'name' => 'Extraaxx', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'title' => 'AXx的扩展参数项', - 'description' => 'AXx的扩展参数项', + 'title' => '', + 'description' => 'The extension parameter.', 'type' => 'object', 'properties' => [ - 'Callback' => [ - 'title' => '可选。 A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的B号码', - 'description' => '可选。 A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的B号码', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - 'Callrecording' => [ - 'title' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'description' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], + 'Callback' => ['title' => '', 'description' => 'The callback control. Phone number A calls through X, meaning A is the caller and X is the callee. Valid values:'."\n" + ."\n" + .'- 0 (default): outbound calls are not allowed.'."\n" + ."\n" + .'- 1: connects to the most recent phone number N.'."\n" + ."\n" + .'- 2: calls back the fixed phone number TelB.', 'type' => 'string', 'required' => false, 'example' => '0'], + 'Callrecording' => ['title' => '', 'description' => 'The call recording control. Valid values:'."\n" + ."\n" + .'- 0 (default): recording is disabled.'."\n" + ."\n" + .'- 1: recording is enabled.'."\n" + ."\n" + .'> After the call recording feature is enabled, you can play and download voice files in the call records. Recording files are billed at 0.010 CNY per minute.', 'type' => 'string', 'required' => false, 'example' => '0'], ], 'required' => false, 'example' => '', @@ -9273,2549 +7715,1016 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '31031C54-7727-5057-9ED1-FA276B64205E', - ], + 'AccessDeniedDetail' => ['description' => 'The authentication error details.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'Message' => ['description' => 'The call result message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates a unique identifier for the request.', 'type' => 'string', 'example' => '31031C54-7727-5057-9ED1-FA276B64205E', 'title' => ''], 'Data' => [ - 'description' => '', + 'description' => 'The application information.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'title' => '响应码 0:成功,其它失败,具体见文档', - 'description' => '响应码 0:成功,其它失败,具体见文档', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], + 'Message' => ['title' => '', 'description' => 'The description.', 'type' => 'string', 'example' => 'success'], + 'Code' => ['title' => '', 'description' => 'The response code. 0 indicates success. Other values indicate failure. For more information, see the documentation.', 'type' => 'string', 'example' => '0'], + 'Success' => ['description' => 'Indicates whether the application configuration information is retrieved. Valid values:'."\n" + ."\n" + .'- true: Retrieved.'."\n" + ."\n" + .'- false: Not retrieved.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'Code' => ['description' => 'The API request status code. Valid values:'."\n" + ."\n" + .'- 0: success.'."\n" + ."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n" + ."\n" + .'- true: Successful.'."\n" + ."\n" + .'- false: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"31031C54-7727-5057-9ED1-FA276B64205E\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": false\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'QueryAxbBindFixedLine' => [ - 'summary' => '固话AxB查询', - 'methods' => [ - 'post', - 'get', + 'title' => 'Update AXN extension number binding relationship', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UpdateAxnExtensionBindFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], + ], + 'UpdateSubs700' => [ + 'summary' => 'Modifies the binding relationship of a 700 number.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '287501', + 'abilityTreeNodes' => ['FEATUREdypls1W5H18'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ALPT_1234', - ], + 'schema' => ['description' => 'The key of the number pool.', 'type' => 'string', 'required' => true, 'example' => 'FC10000016848****', 'title' => ''], ], [ - 'name' => 'Ts', + 'name' => 'OperateType', 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20161114143116001', - ], + 'schema' => ['description' => '- updateNoA: Updates number A.'."\n" + .'- updateNoB: Updates number B.'."\n" + .'- updateExpire: Updates the validity period of the binding relationship.'."\n" + .'- updateGroup: Updates number group G.'."\n" + .'- updateNoDefaultA: Updates the default callback number A in GXB mode.'."\n" + .'- updateCallRestrict: Sets single-call restrictions.'."\n" + .'- updateOutId: Updates the OutId field.'."\n" + .'- updateIsRecordingEnabled: Updates the recording status in the binding.'."\n" + .'- updateAsr: Updates the ASR status in the binding.'."\n" + .'- updateAudio: Updates the ringtone configuration in the binding.', 'type' => 'string', 'required' => true, 'example' => 'updateNoA', 'title' => ''], ], [ - 'name' => 'QueryType', + 'name' => 'SubsId', 'in' => 'query', - 'schema' => [ - 'title' => '查询类型 0:根据绑定id查询 1:根据X和A/B号码查询', - 'description' => '查询类型 0:根据绑定id查询 1:根据X和A/B号码查询', - 'type' => 'string', - 'required' => true, - 'example' => '0', - ], + 'schema' => ['description' => 'The binding relationship ID, which uniquely identifies a number binding relationship.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10000*****', 'title' => ''], ], [ - 'name' => 'SubId', + 'name' => 'TelX', 'in' => 'query', - 'schema' => [ - 'title' => '绑定id, queryType=0时,必传', - 'description' => '绑定id, queryType=0时,必传', - 'type' => 'string', - 'required' => false, - 'example' => 'A20304o0200303004j', - ], + 'schema' => ['description' => 'The intermediate number X. If the business user does not specify an X number, the platform assigns one from the number pool as the X number.', 'type' => 'string', 'required' => true, 'example' => '700********0000', 'title' => ''], ], [ - 'name' => 'Phone', + 'name' => 'OrderId', 'in' => 'query', - 'schema' => [ - 'title' => 'A/B号码,queryType=1时,必传', - 'description' => 'A/B号码,queryType=1时,必传', - 'type' => 'string', - 'required' => false, - 'example' => '示例值', - ], + 'schema' => ['description' => 'The order ID. This parameter is required in practice. Encrypt the order ID before submission because it is reported to the regulatory platform.', 'type' => 'string', 'required' => false, 'example' => '12345678', 'title' => ''], ], [ - 'name' => 'TelX', + 'name' => 'IndustrialId', 'in' => 'query', - 'schema' => [ - 'title' => 'x号码,queryType=1时,必传', - 'description' => 'x号码,queryType=1时,必传', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值示例值', - ], + 'schema' => ['description' => 'Optional. The Industrial Internet identifier code, which has a one-to-one correspondence with OrderID. The code supports delimiter characters such as "." and "/" to separate code domains. The code must not contain non-printable characters such as spaces or line feeds. This parameter is required when the business user generates the Industrial Internet identifier code independently.', 'type' => 'string', 'required' => false, 'example' => '700.100.1/12345678', 'title' => ''], ], [ - 'name' => 'OrderId', + 'name' => 'TelA', 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识。', - 'description' => '消息请求唯一标识。', - 'type' => 'string', - 'required' => true, - 'example' => '3ererrrdrrrr', - ], + 'schema' => ['description' => 'The number A to update in the binding relationship.', 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], + ], + [ + 'name' => 'DefaultA', + 'in' => 'query', + 'schema' => ['description' => 'Number A. The DefaultA number for GXB private numbers.'."\n" + ."\n" + .'> **Note**'."\n" + ."\n" + .'> The callback mode can be configured at the number pool level. When the callback mode is set to default mode, this field takes effect. When number B calls number X, the call is forwarded to this number A by default. If number A is not configured, the call cannot be connected.'."\n" + ."\n" + .'> To update number A, call the number binding modification operation.', 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], + ], + [ + 'name' => 'TelB', + 'in' => 'query', + 'schema' => ['description' => 'The number B to update in the binding relationship.', 'type' => 'string', 'required' => false, 'example' => '136****0000', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The GroupID to update in the binding relationship.', 'type' => 'string', 'required' => false, 'example' => '示例值示例值', 'title' => ''], + ], + [ + 'name' => 'Expiration', + 'in' => 'query', + 'schema' => ['description' => 'The validity period to update for the binding relationship.', 'type' => 'string', 'required' => false, 'example' => '2021-09-05 12:00:00', 'title' => ''], + ], + [ + 'name' => 'CallRestrict', + 'in' => 'query', + 'schema' => ['description' => 'The single-call restriction logic to update.', 'type' => 'string', 'required' => false, 'example' => 'CONTROL_AX_DISABLE', 'title' => ''], + ], + [ + 'name' => 'NeedRecord', + 'in' => 'query', + 'schema' => ['description' => 'The media selection to update in the binding relationship.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'Audio', + 'in' => 'query', + 'schema' => ['description' => 'Optional. The audio prompt code.'."\n" + .'- AXB mode'."\n" + ."\n" + .'ACallX_Apre: The audio prompt code played to A before the call is connected when A calls number X.'."\n" + ."\n" + .'ACallX_Ain: The audio prompt code played to A after the call is connected when A calls number X.'."\n" + ."\n" + .'ACallX_Bin: The audio prompt code played to B after the call is connected when A calls number X.'."\n" + ."\n" + .'BCallX_Bpre: The audio prompt code played to B before the call is connected when B calls number X.'."\n" + ."\n" + .'BCallX_Ain: The audio prompt code played to A after the call is connected when B calls number X.'."\n" + ."\n" + .'BCallX_Bin: The audio prompt code played to B after the call is connected when B calls number X.'."\n" + ."\n" + .'- GXB mode'."\n" + ."\n" + .'GCallX_Gpre: The audio prompt code played to the caller before the call is connected when a number in group G calls number X.'."\n" + ."\n" + .'GCallX_Gin: The audio prompt code played to the caller after the call is connected when a number in group G calls number X.'."\n" + ."\n" + .'GCallX_Bin: The audio prompt code played to B after the call is connected when a number in group G calls number X.'."\n" + ."\n" + .'BCallX_Bpre: The audio prompt code played to B before the call is connected when B calls number X.'."\n" + ."\n" + .'BCallX_Gin: The audio prompt code played to the callee after the call is connected when calling number X.'."\n" + ."\n" + .'BCallX_Bin: The audio prompt code played to B after the call is connected when B calls number X.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .'"ACallX_Apre":"185"'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'OutId', + 'in' => 'query', + 'schema' => ['description' => 'An external business extension field. This parameter is returned in the call record receipt message.', 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], + ], + [ + 'name' => 'NeedAsr', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the ASR service. Valid values:'."\n" + .'- false: Disabled. This is the default value.'."\n" + .'- true: Enabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'AsrModelId', + 'in' => 'query', + 'schema' => ['description' => 'The ASR model ID. Valid values:'."\n" + .'- General phone Chinese Mandarin model ID: 7ee372834d2f4cc7ac0d0ab2d0ae1aac'."\n" + .'- General phone Chinese Cantonese model ID: 9b4afe3d224e4fa3bf963697113e2f77'."\n" + .'- General phone regional accent model ID: 3655a6cb94764145a1f9a38a3c3b3b4b.', 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3179F199-C6C5-5963-85A6-21CBA2F47592', - ], - 'Data' => [ - 'title' => '绑定信息', - 'description' => '绑定信息', - 'type' => 'object', - 'properties' => [ - 'TelB' => [ - 'title' => 'B号码', - 'description' => 'B号码', - 'type' => 'string', - 'example' => '15500002222', - ], - 'TelA' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'example' => '15500001111', - ], - 'Subid' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'example' => 'GHX0534X202504221531579290029-2-1-aliaxb', - ], - 'Anucodecalled' => [ - 'title' => '接通后被叫侧放音编码', - 'description' => '接通后被叫侧放音编码', - 'type' => 'string', - 'example' => '10001,10002', - ], - 'Extra' => [ - 'title' => '额外字段', - 'description' => '额外字段', - 'type' => 'object', - 'properties' => [ - 'Callrecording' => [ - 'title' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'description' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'type' => 'string', - 'example' => '1', - ], - ], - 'example' => '', - ], - 'Subts' => [ - 'title' => '绑定时间,格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '绑定时间,格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'example' => '20250421141723', - ], - 'Expiration' => [ - 'title' => '绑定过期时间', - 'description' => '绑定过期时间', - 'type' => 'string', - 'example' => '60', - ], - 'TelX' => [ - 'title' => '小号号码', - 'description' => '小号号码', - 'type' => 'string', - 'example' => '19700002222', - ], - 'Areacode' => [ - 'title' => '隐私号码区号', - 'description' => '隐私号码区号', - 'type' => 'string', - 'example' => '010', - ], - 'Anucode' => [ - 'title' => '接通前放音编码,放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'description' => '接通前放音编码,放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'type' => 'string', - 'example' => '10001,10002,10003', - ], - 'TAnucodeConnect' => [ - 'title' => '接通后主叫侧放音编码', - 'description' => '接通后主叫侧放音编码', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Remark' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'example' => '19394', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => '响应码', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'title' => '处理是否成功 true-成功', - 'description' => '处理是否成功 true-成功', - 'type' => 'boolean', - 'example' => 'true', - ], + 'AccessDeniedDetail' => ['description' => 'The details of the permission verification failure.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9297B722-A016-43FB-B51A-E54050******'."\n", 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Data' => ['description' => 'The default response format. No actual value is returned.', 'type' => 'object', 'example' => '{}', 'title' => ''], + 'Code' => ['description' => 'The API request status code. Valid values:'."\n" + .'- OK: The request was successful.'."\n" + .'- For other error codes, see [API error codes](~~59892~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" + .'- true: The call was successful.'."\n" + .'- false: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"{}\\",\\n \\"RequestId\\": \\"9297B722-A016-43FB-B51A-E54050******\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {},\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'Update 700 intermediate number binding', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3179F199-C6C5-5963-85A6-21CBA2F47592\\",\\n \\"Data\\": {\\n \\"TelB\\": \\"155****2222\\",\\n \\"TelA\\": \\"155****1111\\",\\n \\"Subid\\": \\"GHX**************************\\",\\n \\"Anucodecalled\\": \\"10001,10002\\",\\n \\"Extra\\": {\\n \\"Callrecording\\": \\"1\\"\\n },\\n \\"Subts\\": \\"20161114143116\\",\\n \\"Expiration\\": \\"60\\",\\n \\"TelX\\": \\"0571******23\\",\\n \\"Areacode\\": \\"0571\\",\\n \\"Anucode\\": \\"1,2,3\\",\\n \\"TAnucodeConnect\\": \\"1,2\\",\\n \\"Remark\\": \\"19394\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'ramActions' => [], ], - 'UpdateAxnBindFixedLine' => [ - 'summary' => '更新Axn绑定关系', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'UpdateSubscription' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '271211', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], + 'abilityTreeCode' => '72641', + 'abilityTreeNodes' => ['FEATUREdypls13M9H9'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'PoolKey', 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], + 'schema' => ['description' => 'The key of the phone number pool.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account) and view the key of the phone number pool on the **Number Pool Management** page.'."\n" + ."\n" + .'> This parameter is required when **ProductType** is left empty.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'FC122356****', 'title' => ''], ], [ - 'name' => 'Ts', + 'name' => 'ProductType', 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], + 'schema' => ['description' => 'The product type. Valid values:'."\n" + ."\n" + .'* **AXB\\_170**'."\n" + .'* **AXN\\_170**'."\n" + .'* **AXN\\_95**'."\n" + .'* **AXN_EXTENSION_REUSE**'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter is applicable to the original key accounts of Alibaba Cloud. This parameter can be ignored for Alibaba Cloud users.'."\n" + ."\n" + .'* This parameter is required when **PoolKey** is left empty.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AXB_170', 'title' => ''], ], [ - 'name' => 'OrderId', + 'name' => 'SubsId', 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识', - 'description' => '消息请求唯一标识', - 'type' => 'string', - 'required' => true, - 'example' => '12345dkwkd99d', - ], + 'schema' => ['description' => 'The binding ID.'."\n" + ."\n" + .'Log on to the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account), choose **Number and Number Pool** > **Number Management**. On the Number Management page, select the desired record and click Details to view the binding ID. Alternatively, you can view the value of the **SubsId** parameter returned by an API operation for a phone number binding such as BindAxb. The value of this parameter indicates a binding ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '100000076879****', 'title' => ''], ], [ - 'name' => 'Subts', + 'name' => 'PhoneNoX', 'in' => 'query', - 'schema' => [ - 'title' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - 'default' => '', - ], + 'schema' => ['description' => 'Phone number X in the phone number binding.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '139****1111', 'title' => ''], ], [ - 'name' => 'SubId', + 'name' => 'PhoneNoA', 'in' => 'query', - 'schema' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'required' => true, - 'example' => 'GHX0534X202504221531579290029-2-1-aliaxn', - ], + 'schema' => ['description' => 'Phone number A in the phone number binding.'."\n" + ."\n" + .'> This parameter is required when **OperateType** is set to **updateNoA**.'."\n", 'type' => 'string', 'required' => false, 'example' => '139****0000', 'title' => ''], ], [ - 'name' => 'TelA', + 'name' => 'PhoneNoB', 'in' => 'query', - 'schema' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'required' => false, - 'example' => '15500001111', - ], + 'schema' => ['description' => 'Phone number B in the phone number binding.'."\n" + ."\n" + .'> This parameter is required when **OperateType** is set to **updateNoB**.'."\n", 'type' => 'string', 'required' => false, 'example' => '138****0000', 'title' => ''], ], [ - 'name' => 'TelB', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'title' => 'B号码', - 'description' => 'B号码', - 'type' => 'string', - 'required' => false, - 'example' => '15500002222', - ], + 'schema' => ['description' => 'The ID of number group G in the phone number binding.'."\n" + ."\n" + .'> This parameter is required when **OperateType** is set to **updateAxgGroup**.'."\n", 'type' => 'string', 'required' => false, 'example' => '200001234****', 'title' => ''], ], [ - 'name' => 'Anucode', + 'name' => 'CallRestrict', 'in' => 'query', - 'schema' => [ - 'title' => '放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3。', - 'description' => '放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3。', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值示例值', - ], + 'schema' => ['description' => 'One-way call restrictions. Valid values:'."\n" + ."\n" + .'* **CONTROL_AX_DISABLE**: Phone number A cannot be used to call phone number X.'."\n" + .'* **CONTROL_BX_DISABLE**: Phone number B cannot be used to call phone number X.'."\n" + .'* **CONTROL_CLEAR_DISABLE**: The call restrictions are cleared.'."\n" + ."\n" + .'> This parameter is required when **OperateType** is set to **updateCallRestrict**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CONTROL_BX_DISABLE ', 'title' => ''], ], [ - 'name' => 'Anucodecalled', + 'name' => 'Expiration', 'in' => 'query', - 'schema' => [ - 'title' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2。', - 'description' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2。', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', - ], + 'schema' => ['description' => 'Re-sets the expiration time of the phone number binding.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter is required when **OperateType** is set to **updateExpire**.'."\n" + ."\n" + .'* The expiration time must be more than 1 minute later than the time when you call this API operation.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-09-05 12:00:00', 'title' => ''], ], [ - 'name' => 'TAnucodeConnect', + 'name' => 'CallDisplayType', 'in' => 'query', - 'schema' => [ - 'title' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码被叫为被叫时主叫侧的放音编号为2', - 'description' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码被叫为被叫时主叫侧的放音编号为2', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', - ], + 'schema' => ['description' => 'Re-sets the phone number display logic in the phone number binding. Fixed value: **1**, indicating that phone number X is displayed on both the calling phone and the called phone.'."\n" + ."\n" + .'> Due to the regulatory restrictions imposed by carriers, the setting to display real phone numbers during calls does not take effect.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Expiration', + 'name' => 'OutId', 'in' => 'query', - 'schema' => [ - 'title' => '位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'description' => '位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'type' => 'string', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'Re-sets the value of the OutId parameter in the phone number binding.'."\n", 'type' => 'string', 'required' => false, 'example' => 'abcdef', 'title' => ''], ], [ - 'name' => 'Remark', + 'name' => 'IsRecordingEnabled', 'in' => 'query', - 'schema' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'required' => false, - 'example' => '1234', - ], + 'schema' => ['description' => 'Re-sets the recording status in the phone number binding.'."\n" + ."\n" + .'> This parameter does not have a default value. If you do not specify this parameter, the value of the corresponding field is not updated.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'Extra', + 'name' => 'OperateType', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The operation to modify the phone number binding. Valid values:'."\n" + ."\n" + .'* **updateNoA**: modifies phone number A.'."\n" + .'* **updateNoB**: modifies phone number B.'."\n" + .'* **updateExpire**: modifies the validity period of the binding.'."\n" + .'* **updateAxgGroup**: modifies number group G.'."\n" + .'* **updateCallRestrict**: modifies one-way call restrictions.'."\n" + .'* **updateCallDisplayType**: updates the number display logic for calls.'."\n" + .'* **updateOutId**: updates the value of the OutId parameter.'."\n" + .'* **updateIsRecordingEnabled**: updates the status of the recording feature in the binding.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'updateNoA', 'title' => ''], + ], + [ + 'name' => 'RingConfig', + 'in' => 'query', + 'schema' => ['description' => 'Updates the ringtone code for enterprise Color Ring Back Tone (CRBT) in the phone number binding.'."\n" + ."\n" + .'AXB product:'."\n" + ."\n" + .'* Ringtone setting when phone number A is used to call phone number X in the AXB binding: AXBRing_A'."\n" + .'* Ringtone setting when phone number B is used to call phone number X in the AXB binding: AXBRing_B'."\n" + ."\n" + .'AXN product:'."\n" + ."\n" + .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_AB'."\n" + .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXN extension binding: AXNRing_A'."\n" + .'* Ringtone setting when phone number N is used to call phone number X in the AXN extension binding: AXNRing_N'."\n" + ."\n" + .'AXG product:'."\n" + ."\n" + .'* Ringtone setting (with a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_AB'."\n" + .'* Ringtone setting (without a callback number) when phone number A is used to call phone number X in the AXG binding: AXGRing_A'."\n" + .'* Ringtone setting when a phone number in number group G is used to call phone number X in the AXG binding: AXGRing_G'."\n" + ."\n" + .'Enterprise CRBT codes: Enterprise CRBT codes can be queried in the [Phone Number Protection console](https://dypls.console.aliyun.com/dypls.htm#/account). You can choose **Number Pool Management** > **Enterprise CRBT Management** to view and manage enterprise CRBT codes. You can also upload, delete, or perform other operations on enterprise CRBT codes.'."\n" + ."\n" + .'> The bound enterprise CRBTs are preferentially used. If no enterprise CRBT is set or the setting does not take effect, the enterprise CRBTs at the phone number pool level are used.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"AXBRing_B":"1000****1","AXBRing_A":"1000****1"}', 'title' => ''], + ], + [ + 'name' => 'ASRStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic speech recognition (ASR). Valid values:'."\n" + ."\n" + .'* **false** (default): disables ASR.'."\n" + .'* **true**: enables ASR.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ASRModelId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ASR model.'."\n", 'type' => 'string', 'required' => false, 'example' => '7ee372834d2f4cc7ac0d0ab2d0ae1aac', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '额外字段', - 'description' => '额外字段', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Callback' => [ - 'title' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的N号码 2:回拨固定号码:telB', - 'description' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的N号码 2:回拨固定号码:telB', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - 'Callrecording' => [ - 'title' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'description' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'* The value OK indicates that the request was successful.'."\n" + .'* Other values indicate that the request failed. For more information, see [Error codes](~~109196~~).'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '986BCB6D-C9BF-42F9-91CE-3A9901233D36', 'title' => ''], ], - 'required' => false, + 'title' => '', 'example' => '', ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3FDD0A8F-34F1-5BD4-AF9F-CD90B3DE7C06', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'title' => '响应码 0:成功,其它失败,具体见文档', - 'description' => '响应码 0:成功,其它失败,具体见文档', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"986BCB6D-C9BF-42F9-91CE-3A9901233D36\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tOK\\r\\n\\t986BCB6D-C9BF-42F9-91CE-3A9901233D36\\r\\n\\tOK\\r\\n","errorExample":""}]', + 'title' => 'UpdateSubscription', + 'summary' => 'Modifies a phone number binding.', + 'description' => '### [](#qps)QPS limits'."\n" + ."\n" + .'You can call this operation up to 10,000 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-02-15T07:50:47.000Z', 'description' => 'Request parameters changed, Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '12000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSubscription'], + ], + 'product' => ['code' => 'dypls', 'title' => '号码隐私保护'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UpdateSubscription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + ], + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dyplsapi.aliyuncs.com', 'endpoint' => 'dyplsapi.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'BlackKeyControlLimit', 'message' => 'You are under blacklist control, Please contact relevant personnel to cancel the operation.', 'http_code' => 400, 'description' => ''], + ['code' => 'ConfigError', 'message' => 'A configuration error occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'ContentUnsupported', 'message' => 'There is unsupported content, please check the incoming content.', 'http_code' => 400, 'description' => ''], + ['code' => 'FaceVerifyException', 'message' => 'An error occurred while performing face verification.', 'http_code' => 400, 'description' => ''], + ['code' => 'FaceVerifyFail', 'message' => 'Face verification failed.', 'http_code' => 400, 'description' => ''], + ['code' => 'FaceVerifyNotCompleted', 'message' => 'You must complete the face verification.', 'http_code' => 400, 'description' => ''], + ['code' => 'FlowLimited', 'message' => 'The operation is denied due to flow control.', 'http_code' => 400, 'description' => ''], + ['code' => 'ForbiddenAction', 'message' => 'The operation is forbidden.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidJsonParam', 'message' => 'There are unavailable parameters, please check the parameter list.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.DAO_EXCEPTION', 'message' => 'A database error occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.RAM_PERMISSION_DENY', 'message' => 'RAM permission is denied.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.SYSTEM_ERROR', 'message' => 'A system error occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.UNKNOWN_ERR_CODE', 'message' => 'An error occurred to the vendor.', 'http_code' => 400, 'description' => ''], + ['code' => 'isp.VENDOR_UNAVAILABLE', 'message' => 'The vendor is unavailable.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.ACCOUNT_ABNORMAL', 'message' => 'The account status is abnormal.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.ACCOUNT_NOT_EXISTS', 'message' => 'The account does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.BIND_CONFLICT', 'message' => 'An error occurred while performing binding.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.CUSTOMER_REFUSED', 'message' => 'This operation is refused by the customer.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.ERROR_POINT_TO_POINT_BLACK', 'message' => '点对点黑名单号码个数错误', 'http_code' => 400, 'description' => 'Error in the number of peer-to-peer blacklist numbers'], + ['code' => 'isv.EXPIRE_DATE_ILLEGAL', 'message' => 'The expiration date is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.FLOW_LIMIT', 'message' => 'Business flow control is in progress.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.FORBIDDEN_ACTION', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.ILLEGAL_ARGUMENT', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.INVALID_PARAMETERS', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.MOBILE_NUMBER_ILLEGAL', 'message' => 'The mobile number format is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.NO_AVAILABLE_NUMBER', 'message' => 'No number is available.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.NO_NOT_EXIST', 'message' => 'The number does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.NO_USED_BY_OTHERS', 'message' => 'The number is used by another user.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.OUT_OF_SERVICE', 'message' => 'The business is out of service.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.PARTNER_IS_CLOSED', 'message' => 'The partner is deactivated.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.PARTNER_NOT_EXIST', 'message' => 'The specified partner does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.PRODUCT_UNSUBSCRIBE', 'message' => 'poolKey not exist', 'http_code' => 400, 'description' => 'Pool key does not exist'], + ['code' => 'isv.PRODUCT_UN_SUBSCRIPT', 'message' => 'You have not activated Cloud Communications products.', 'http_code' => 400, 'description' => ''], + ['code' => 'isv.VENDOR_BIND_FAILED', 'message' => 'Failed to bind the vendor.', 'http_code' => 400, 'description' => ''], + ['code' => 'MallAxnModeLimited', 'message' => 'The operation is not supported by Mall AXN mode.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameterPoolKey', 'message' => 'The specified PoolKey does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoAvailableNumber', 'message' => 'No available number exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'NumberExceed', 'message' => 'The upper limit of privacy numbers you can bind is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'partnerKey.NotFound', 'message' => 'The resource of "partnerKey" is not found..', 'http_code' => 400, 'description' => 'Pool key does not exist'], + ['code' => 'PoolKeyNotFound', 'message' => 'The specified poolKey does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'POOLKEY_NOT_EXIST', 'message' => 'poolKey not exsit.', 'http_code' => 400, 'description' => 'Pool key does not exist'], + ['code' => 'ProductUnsubscribe', 'message' => 'The specified poolKey does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'RamPermissionDenied', 'message' => 'RAM permission is denied.', 'http_code' => 400, 'description' => ''], + ['code' => 'SmartSmsContentNotWhite', 'message' => 'Smart SMS content is not configured in the white list.', 'http_code' => 400, 'description' => ''], + ['code' => 'SmsContenIllegal', 'message' => 'The SMS content is illegal, Please check and adjust it and try again.', 'http_code' => 400, 'description' => ''], + ['code' => 'SmsSignllegal', 'message' => 'The SMS sign is illegal, Please check and adjust it and try again.', 'http_code' => 400, 'description' => ''], + ['code' => 'SystemErrorOccurred', 'message' => 'A system error occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'UnbindLockFailed', 'message' => 'Failed to unbind the lock.', 'http_code' => 400, 'description' => ''], + ['code' => 'UpdateConflict', 'message' => 'An update conflict occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'UpdateLockFailed', 'message' => 'Failed to update the lock.', 'http_code' => 400, 'description' => ''], + ['code' => 'XModeLimited', 'message' => 'The operation is not supported by X mode.', 'http_code' => 400, 'description' => ''], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'BindBatchAxg'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"3FDD0A8F-34F1-5BD4-AF9F-CD90B3DE7C06\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'createdAt' => '2026-04-14T12:23:31.000Z', + 'description' => '', ], - 'UpdateAxbBindFixedLine' => [ - 'summary' => '固话AxB绑定更新', - 'methods' => [ - 'post', - 'get', + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'BindAxn'], ], - 'schemes' => [ - 'https', + 'createdAt' => '2024-07-24T08:45:29.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'BindAxnExtension'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2024-06-07T02:40:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'BindBatchAxg'], + ['description' => 'OpenAPI offline', 'api' => 'DeleteAxgGroup'], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '271215', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'createdAt' => '2023-04-27T09:07:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'QueryPhoneNoAByTrackNo'], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ALPT_1234', + 'createdAt' => '2023-03-24T08:21:53.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreatePickUpWaybill'], + ['description' => 'OpenAPI offline', 'api' => 'CreatePickUpWaybillPreQuery'], + ], + 'createdAt' => '2022-05-13T03:11:26.000Z', + 'description' => '新增openAPI', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'QueryRecordFileDownloadUrl'], + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'QuerySubscriptionDetail'], + ], + 'createdAt' => '2022-02-22T11:34:12.000Z', + 'description' => '部分字段文档非必填调整', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'UnbindSubscription'], + ['description' => 'Request parameters changed, Error codes changed', 'api' => 'UpdateSubscription'], + ], + 'createdAt' => '2022-02-15T07:51:20.000Z', + 'description' => '修改文档必填项', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'QuerySecretNoDetail'], + ], + 'createdAt' => '2021-12-08T02:27:12.000Z', + 'description' => '增加号码属性查询接口', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'QueryCallStatus'], + ], + 'createdAt' => '2021-12-08T02:21:10.000Z', + 'description' => '添加extension分机号字段', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'CancelPickUpWaybill'], + ['description' => 'OpenAPI offline', 'api' => 'CreatePickUpWaybill'], + ], + 'createdAt' => '2021-11-25T07:46:29.000Z', + 'description' => '添加电商智能隐私通讯API', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindAxnExtension'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OperateBlackNo'], + ['threshold' => '12000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSubscription'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateFixedNoAReport'], + ['threshold' => '1500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySecretAPhoneNoToCust'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReleaseSecretNo'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OperateAxgGroup'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreatePhoneNoAReport'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSecretAPhoneNoToCust'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddAxnTrackNo'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySecretNoDetail'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindAxb'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindBatchAxg'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySubsId'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindAxg'], + ['threshold' => '3000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryRecordFileDownloadUrl'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAxgGroup'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindAxn'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddSecretBlacklist'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSecretBlacklist'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTotalPublicUrl'], + ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySubscriptionDetail'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSecretAsrDetail'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LockSecretNo'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnlockSecretNo'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryPhoneNoAByTrackNo'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAxgGroup'], + ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindSubscription'], + ], + 'product' => ['code' => 'dypls', 'title' => 'Dyplsapi'], + ], + 'ram' => [ + 'productCode' => 'PhoneNumberProtection', + 'productName' => 'Phone Number Protection'."\n", + 'ramCodes' => ['dypls'], + 'ramLevel' => 'SERVICE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'QueryPhoneNoAByTrackNo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QueryPhoneNoAByTrackNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '业务时间戳,格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒 ', - 'description' => '业务时间戳,格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒 ', - 'type' => 'string', - 'required' => true, - 'example' => '20161114143116001', + ], + [ + 'apiName' => 'QuerySubsId', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QuerySubsId', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SubId', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'required' => true, - 'example' => 'A100X558X0000400023', + ], + [ + 'apiName' => 'AddAxnTrackNo', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:AddAxnTrackNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识。', - 'description' => '消息请求唯一标识。', - 'type' => 'string', - 'required' => true, - 'example' => '1234567890', + ], + [ + 'apiName' => 'GetSecretAsrDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:GetSecretAsrDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TelA', - 'in' => 'query', - 'schema' => [ - 'title' => '真实号码,telA,telB不允许同时更新', - 'description' => '真实号码,telA,telB不允许同时更新', - 'type' => 'string', - 'required' => false, - 'example' => '13900000000', + ], + [ + 'apiName' => 'QuerySubscriptionDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QuerySubscriptionDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TelB', - 'in' => 'query', - 'schema' => [ - 'title' => '对端号码,telA,telB不允许同时更新', - 'description' => '对端号码,telA,telB不允许同时更新', - 'type' => 'string', - 'required' => false, - 'example' => '13005711234', + ], + [ + 'apiName' => 'BindAxn', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxn', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Subts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'required' => true, - 'example' => '20150920190126', + ], + [ + 'apiName' => 'UnbindSubscription', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UnbindSubscription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Anucode', - 'in' => 'query', - 'schema' => [ - 'title' => '主叫侧放音编码', - 'description' => '主叫侧放音编码', - 'type' => 'string', - 'required' => false, - 'example' => '1,2,3', - ], - ], - [ - 'name' => 'Anucodecalled', - 'in' => 'query', - 'schema' => [ - 'title' => '被叫侧放音编码', - 'description' => '被叫侧放音编码', - 'type' => 'string', - 'required' => false, - 'example' => '1,2', - ], - ], - [ - 'name' => 'TAnucodeConnect', - 'in' => 'query', - 'schema' => [ - 'title' => '接通后主叫侧的放音编码', - 'description' => '接通后主叫侧的放音编码', - 'type' => 'string', - 'required' => false, - 'example' => '1,2', - ], - ], - [ - 'name' => 'Expiration', - 'in' => 'query', - 'schema' => [ - 'title' => '过期时间,单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'description' => '过期时间,单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'Remark', - 'in' => 'query', - 'schema' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'required' => false, - 'example' => 'remark', - ], - ], - [ - 'name' => 'Extra', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '扩展参数', - 'description' => '扩展参数', - 'type' => 'object', - 'properties' => [ - 'Callrecording' => [ - 'title' => '录音控制, 0:不录音 1:录音', - 'description' => '录音控制, 0:不录音 1:录音', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - ], - 'required' => false, - 'example' => '', + ], + [ + 'apiName' => 'UnlockSecretNo', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UnlockSecretNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '73A5C73A-1D97-54B6-B47C-541BE59F84D9', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '响应消息', - 'description' => '响应消息', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'title' => '响应码 0-成功', - 'description' => '响应码 0-成功', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'title' => '是否处理成功 true-成功', - 'description' => '是否处理成功 true-成功', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - ], + [ + 'apiName' => 'BindAxnExtensionFixedLine', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxnExtensionFixedLine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"73A5C73A-1D97-54B6-B47C-541BE59F84D9\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'BindAxnExtensionFixedLine' => [ - 'summary' => 'AXN分机号-号码绑定', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'OperateBlackNo', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:OperateBlackNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'AddSecretBlacklist', + 'description' => '', 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '271367', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', + 'ramAction' => [ + 'action' => 'dypls:AddSecretBlacklist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识', - 'description' => '消息请求唯一标识', - 'type' => 'string', - 'required' => true, - 'example' => '12345dkwkd99d', + ], + [ + 'apiName' => 'BindBatchAxg', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:BindBatchAxg', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'BindType', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定类型,值如下: mode101:客户携带X号码 mode102:平台分配X号码', - 'description' => '绑定类型,值如下: mode101:客户携带X号码 mode102:平台分配X号码', - 'type' => 'string', - 'required' => true, - 'example' => 'mode101', + ], + [ + 'apiName' => 'UpdateSubscription', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:UpdateSubscription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Subts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723', + ], + [ + 'apiName' => 'GetTotalPublicUrl', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:GetTotalPublicUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TelA', - 'in' => 'query', - 'schema' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'required' => true, - 'example' => '15500001111放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 AXN分机号业务的放音编码,B->X和其他号码->X的编码一致 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', + ], + [ + 'apiName' => 'DeleteAxgGroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypls:DeleteAxgGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'title' => 'X号码;平台分配号码模式下,该参数可不带,系统忽略该参数', - 'description' => 'X号码;平台分配号码模式下,该参数可不带,系统忽略该参数', - 'type' => 'string', - 'required' => false, - 'example' => '0571409312', + ], + [ + 'apiName' => 'OperateAxgGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:OperateAxgGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TelXext', - 'in' => 'query', - 'schema' => [ - 'title' => '分机号;平台分配号码模式下,该参数可不带,系统忽略该参数', - 'description' => '分机号;平台分配号码模式下,该参数可不带,系统忽略该参数', - 'type' => 'string', - 'required' => false, - 'example' => '1009', + ], + [ + 'apiName' => 'QuerySecretNoDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QuerySecretNoDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Anucode', - 'in' => 'query', - 'schema' => [ - 'title' => '', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '10001,10002,10003', + ], + [ + 'apiName' => 'BindAxb', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Anucodecalled', - 'in' => 'query', - 'schema' => [ - 'title' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2', - 'description' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', + ], + [ + 'apiName' => 'BindAxnExtension', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxnExtension', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TAnucodeConnect', - 'in' => 'query', - 'schema' => [ - 'title' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码为被叫时主叫侧的放音编号为2', - 'description' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码为被叫时主叫侧的放音编号为2', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', + ], + [ + 'apiName' => 'BindAxg', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:BindAxg', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Expiration', - 'in' => 'query', - 'schema' => [ - 'title' => '单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'description' => '单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'type' => 'string', - 'required' => true, - 'example' => '60', + ], + [ + 'apiName' => 'CreateAxgGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:CreateAxgGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Areacode', - 'in' => 'query', - 'schema' => [ - 'title' => '去掉“0” 例如:北京(10);在平台分配X号码模式中,平台从号码池中分配该地区的X号码,避免产生呼叫长途费', - 'description' => '去掉“0” 例如:北京(10);在平台分配X号码模式中,平台从号码池中分配该地区的X号码,避免产生呼叫长途费', - 'type' => 'string', - 'required' => false, - 'example' => '10', + ], + [ + 'apiName' => 'ReleaseSecretNo', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:ReleaseSecretNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Remark', - 'in' => 'query', - 'schema' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'required' => false, - 'example' => '12444', + ], + [ + 'apiName' => 'DeleteSecretBlacklist', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'dypls:DeleteSecretBlacklist', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Extraaxx', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '额外字段', - 'description' => '额外字段', - 'type' => 'object', - 'properties' => [ - 'Callback' => [ - 'title' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的B号码', - 'description' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的B号码', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - 'Callrecording' => [ - 'title' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'description' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - 'example' => '', + ], + [ + 'apiName' => 'QueryRecordFileDownloadUrl', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dypls:QueryRecordFileDownloadUrl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'AE2D6997-643A-59CB-9B3C-918572E5CEAA', - ], - 'Data' => [ - 'title' => '响应信息', - 'description' => '响应信息', - 'type' => 'object', - 'properties' => [ - 'Subid' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'example' => 'GHX0534X202504221531579290029', - ], - 'TelXext' => [ - 'title' => '分机号,只有4位', - 'description' => '分机号,只有4位', - 'type' => 'string', - 'example' => '1001', - ], - 'TelX' => [ - 'title' => '隐私号码', - 'description' => '隐私号码', - 'type' => 'string', - 'example' => '0571409312', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '响应码 0:成功,其它失败,具体见文档', - 'description' => '响应码 0:成功,其它失败,具体见文档', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'LockSecretNo', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dypls:LockSecretNo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"AE2D6997-643A-59CB-9B3C-918572E5CEAA\\",\\n \\"Data\\": {\\n \\"Subid\\": \\"GHX0**********************\\",\\n \\"TelXext\\": \\"1001\\",\\n \\"TelX\\": \\"0571******23\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - ], - 'QueryAxnBindFixedLine' => [ - 'summary' => '查询Axn绑定关系', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateSmsSign', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dypls:CreateSmsSign', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'PhoneNumberProtection', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池id。', - 'description' => '号池id。', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], - ], - [ - 'name' => 'QueryType', - 'in' => 'query', - 'schema' => [ - 'title' => '查询类型 0:根据绑定id查询 1:根据A号码查询 2:根据X查询', - 'description' => '查询类型 0:根据绑定id查询 1:根据A号码查询 2:根据X查询', - 'type' => 'string', - 'required' => true, - 'example' => '0', - ], - ], - [ - 'name' => 'SubId', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定id queryType=0时,必传', - 'description' => '绑定id queryType=0时,必传', - 'type' => 'string', - 'required' => false, - 'example' => 'GHX0534X202504221531579290029-2-1-aliaxn', - ], - ], - [ - 'name' => 'Phone', - 'in' => 'query', - 'schema' => [ - 'title' => 'A号码,queryType=1时,必传', - 'description' => 'A号码,queryType=1时,必传', - 'type' => 'string', - 'required' => false, - 'example' => '15500001111', - ], - ], - [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'title' => '隐私号码', - 'description' => '隐私号码', - 'type' => 'string', - 'required' => false, - 'example' => '05718950', - ], - ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识', - 'description' => '消息请求唯一标识', - 'type' => 'string', - 'required' => true, - 'example' => '示例值示例值', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E8B9C3ED-D9BD-5E27-9588-6D84D3070160', - ], - 'Data' => [ - 'title' => '绑定对象', - 'description' => '绑定对象', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TelB' => [ - 'title' => 'N号码', - 'description' => 'N号码', - 'type' => 'string', - 'example' => '15500002222', - ], - 'TelA' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'example' => '15500001111', - ], - 'Subid' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'example' => 'GHX0534X202504221531579290029-2-1-aliaxn', - ], - 'Anucodecalled' => [ - 'title' => '被叫侧放音编码', - 'description' => '被叫侧放音编码', - 'type' => 'string', - 'example' => '10001,10002', - ], - 'Extra' => [ - 'title' => '额外字段', - 'description' => '额外字段', - 'type' => 'object', - 'properties' => [ - 'Callback' => [ - 'title' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的N号码 2:回拨固定号码:telB', - 'description' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的N号码 2:回拨固定号码:telB', - 'type' => 'string', - 'example' => '1', - ], - 'Callrecording' => [ - 'title' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'description' => '录音控制,仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'type' => 'string', - 'example' => '1', - ], - ], - 'example' => '', - ], - 'Subts' => [ - 'title' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'example' => '20250421141723', - ], - 'Expiration' => [ - 'title' => '过期时间', - 'description' => '过期时间', - 'type' => 'string', - 'example' => '60', - ], - 'TelX' => [ - 'title' => '隐私号码', - 'description' => '隐私号码', - 'type' => 'string', - 'example' => '057112345678', - ], - 'Areacode' => [ - 'title' => '隐私号码区号', - 'description' => '隐私号码区号', - 'type' => 'string', - 'example' => '010', - ], - 'Anucode' => [ - 'title' => '接通前放音啊编码', - 'description' => '接通前放音啊编码', - 'type' => 'string', - 'example' => '10001,10002,10003', - ], - 'TAnucodeConnect' => [ - 'title' => '接通后主叫侧放音编码', - 'description' => '接通后主叫侧放音编码', - 'type' => 'string', - 'example' => '10001,10002', - ], - 'Remark' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'example' => '12444', - ], - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => '响应码', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'title' => '', - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"E8B9C3ED-D9BD-5E27-9588-6D84D3070160\\",\\n \\"Data\\": [\\n {\\n \\"TelB\\": \\"155****2222\\",\\n \\"TelA\\": \\"155****1111\\",\\n \\"Subid\\": \\"GHX**************************\\",\\n \\"Anucodecalled\\": \\"10001,10002\\",\\n \\"Extra\\": {\\n \\"Callback\\": \\"1\\",\\n \\"Callrecording\\": \\"1\\"\\n },\\n \\"Subts\\": \\"20161114143116\\",\\n \\"Expiration\\": \\"60\\",\\n \\"TelX\\": \\"0571******23\\",\\n \\"Areacode\\": \\"0571\\",\\n \\"Anucode\\": \\"1,2,3\\",\\n \\"TAnucodeConnect\\": \\"1,2\\",\\n \\"Remark\\": \\"19394\\"\\n }\\n ],\\n \\"Code\\": \\"0\\",\\n \\"Success\\": false\\n}","type":"json"}]', - ], - 'DeleteAxnBindFixedLine' => [ - 'summary' => '解绑已有Axn绑定', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '271213', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], - ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识', - 'description' => '消息请求唯一标识', - 'type' => 'string', - 'required' => true, - 'example' => '12345dkwkd99d', - ], - ], - [ - 'name' => 'SubId', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'required' => true, - 'example' => 'GHX0534X202504221531579290029-2-1-aliaxn', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'AE2D6997-643A-59CB-9B3C-918572E5CEAA', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'title' => '响应码 0:成功,其它失败,具体见文档', - 'description' => '响应码 0:成功,其它失败,具体见文档', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"AE2D6997-643A-59CB-9B3C-918572E5CEAA\\",\\n \\"Data\\": {\\n \\"Message\\": \\"success\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'QueryAxnExtensionBindFixedLine' => [ - 'summary' => '查询AXN分机号绑定关系', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID', - 'description' => '号池ID', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], - ], - [ - 'name' => 'QueryType', - 'in' => 'query', - 'schema' => [ - 'title' => '查询类型。取值: 0:根据绑定ID查询。1:根据X和A/B号码查询', - 'description' => '查询类型。取值: 0:根据绑定ID查询。1:根据X和A/B号码查询', - 'type' => 'string', - 'required' => true, - 'example' => '0', - ], - ], - [ - 'name' => 'SubId', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定ID。QueryType参数为0时必传。', - 'description' => '绑定ID。QueryType参数为0时必传。', - 'type' => 'string', - 'required' => false, - 'example' => 'A203**************', - ], - ], - [ - 'name' => 'TelA', - 'in' => 'query', - 'schema' => [ - 'title' => 'A号码。QueryType参数为1时必传。', - 'description' => 'A号码。QueryType参数为1时必传。', - 'type' => 'string', - 'required' => false, - 'example' => '15500001111', - ], - ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识。', - 'description' => '消息请求唯一标识。', - 'type' => 'string', - 'required' => true, - 'example' => '12345dkwkd99d', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '74EFA0E8-CFCA-54D9-BFE5-904F9FA88DBD', - ], - 'Data' => [ - 'title' => '查询绑定对象集合,具体对象字段见绑定请求', - 'description' => '查询绑定对象集合,具体对象字段见绑定请求', - 'type' => 'array', - 'items' => [ - 'title' => '查询绑定对象', - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TelA' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'example' => '15500001111', - ], - 'Extraaxx' => [ - 'title' => '额外字段', - 'description' => '额外字段', - 'type' => 'object', - 'properties' => [ - 'Callback' => [ - 'title' => '回拨控制', - 'description' => '回拨控制', - 'type' => 'string', - 'example' => '示例值示例值', - ], - 'Callrecording' => [ - 'title' => '录音控制', - 'description' => '录音控制', - 'type' => 'string', - 'example' => '示例值示例值', - ], - ], - 'example' => '', - ], - 'Subid' => [ - 'title' => '绑定ID', - 'description' => '绑定ID', - 'type' => 'string', - 'example' => '可参考绑定响应', - ], - 'TelXext' => [ - 'title' => '分机号', - 'description' => '分机号', - 'type' => 'string', - 'example' => '1009', - ], - 'Anucodecalled' => [ - 'title' => '被叫侧放音', - 'description' => '被叫侧放音', - 'type' => 'string', - 'example' => '10001,10002', - ], - 'Subts' => [ - 'title' => '绑定时间', - 'description' => '绑定时间', - 'type' => 'string', - 'example' => '20250421141723', - ], - 'Expiration' => [ - 'title' => '过期时间', - 'description' => '过期时间', - 'type' => 'string', - 'example' => '60', - ], - 'TelX' => [ - 'title' => '小号号码', - 'description' => '小号号码', - 'type' => 'string', - 'example' => '19700002222', - ], - 'Areacode' => [ - 'title' => '隐私号码区号', - 'description' => '隐私号码区号', - 'type' => 'string', - 'example' => '10', - ], - 'Anucode' => [ - 'title' => '放音编码', - 'description' => '放音编码', - 'type' => 'string', - 'example' => '10001,10002,10003', - ], - 'TAnucodeConnect' => [ - 'title' => '接通后主叫侧放音编码', - 'description' => '接通后主叫侧放音编码', - 'type' => 'string', - 'example' => '10001,10002', - ], - 'Remark' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'example' => '12444', - ], - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '响应码', - 'description' => '响应码', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"74EFA0E8-CFCA-54D9-BFE5-904F9FA88DBD\\",\\n \\"Data\\": [\\n {\\n \\"TelA\\": \\"155****1111\\",\\n \\"Extraaxx\\": {\\n \\"Callback\\": \\"0\\",\\n \\"Callrecording\\": \\"0\\"\\n },\\n \\"Subid\\": \\"A203**************\\",\\n \\"TelXext\\": \\"1009\\",\\n \\"Anucodecalled\\": \\"10001,10002\\",\\n \\"Subts\\": \\"20161114143116\\",\\n \\"Expiration\\": \\"60\\",\\n \\"TelX\\": \\"0571******23\\",\\n \\"Areacode\\": \\"0571\\",\\n \\"Anucode\\": \\"10001,10002,10003\\",\\n \\"TAnucodeConnect\\": \\"10001,10002\\",\\n \\"Remark\\": \\"19394\\"\\n }\\n ],\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'BindAxnFixedLine' => [ - 'summary' => 'AXN模式绑定,分配X号码', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'alitest', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'description' => '格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], - ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识', - 'description' => '消息请求唯一标识', - 'type' => 'string', - 'required' => true, - 'example' => '12345dkwkd99d', - ], - ], - [ - 'name' => 'BindType', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定类型,值如下: mode101:客户携带X号码 mode102:平台分配X号码', - 'description' => '绑定类型,值如下: mode101:客户携带X号码 mode102:平台分配X号码', - 'type' => 'string', - 'required' => true, - 'example' => 'mode101', - ], - ], - [ - 'name' => 'Subts', - 'in' => 'query', - 'schema' => [ - 'title' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'required' => true, - 'example' => '20250421141723098', - ], - ], - [ - 'name' => 'TelA', - 'in' => 'query', - 'schema' => [ - 'title' => 'A号码', - 'description' => 'A号码', - 'type' => 'string', - 'required' => true, - 'example' => '15500001111', - ], - ], - [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'title' => 'X号码; 平台分配号码模式下,该参数可不带,系统忽略该参数', - 'description' => 'X号码; 平台分配号码模式下,该参数可不带,系统忽略该参数', - 'type' => 'string', - 'required' => false, - 'example' => '0571409312', - ], - ], - [ - 'name' => 'TelB', - 'in' => 'query', - 'schema' => [ - 'title' => 'N号码', - 'description' => 'N号码', - 'type' => 'string', - 'required' => false, - 'example' => '15500002222', - ], - ], - [ - 'name' => 'Anucode', - 'in' => 'query', - 'schema' => [ - 'title' => '放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'description' => '放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'type' => 'string', - 'required' => true, - 'example' => '10001,10002,10003', - ], - ], - [ - 'name' => 'Anucodecalled', - 'in' => 'query', - 'schema' => [ - 'title' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2', - 'description' => '被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,其他号码为被叫侧接听时的放音编号为2', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', - ], - ], - [ - 'name' => 'TAnucodeConnect', - 'in' => 'query', - 'schema' => [ - 'title' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码被叫为被叫时主叫侧的放音编号为2', - 'description' => '接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,其他号码被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,其他号码被叫为被叫时主叫侧的放音编号为2', - 'type' => 'string', - 'required' => false, - 'example' => '10001,10002', - ], - ], - [ - 'name' => 'Areacode', - 'in' => 'query', - 'schema' => [ - 'title' => '去掉“0” 例如:北京(10);在平台分配X号码模式中,平台从号码池中分配该地区的X号码,避免产生呼叫长途费', - 'description' => '去掉“0” 例如:北京(10);在平台分配X号码模式中,平台从号码池中分配该地区的X号码,避免产生呼叫长途费', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'Expiration', - 'in' => 'query', - 'schema' => [ - 'title' => '位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'description' => '位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'type' => 'string', - 'required' => true, - 'example' => '示例值', - ], - ], - [ - 'name' => 'Remark', - 'in' => 'query', - 'schema' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'required' => false, - 'example' => '12444', - ], - ], - [ - 'name' => 'Extra', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '扩展参数', - 'description' => '扩展参数', - 'type' => 'object', - 'properties' => [ - 'Callback' => [ - 'title' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的N号码 2:回拨固定号码:telB', - 'description' => 'A通过X呼叫,即A主叫X,仅下列值有效。默认是0。 0:不能外呼 1:接续最近的N号码 2:回拨固定号码:telB', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - 'Callrecording' => [ - 'title' => '仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'description' => '仅下列值有效。默认是0(不开通录音功能)。 0:不录音 1:录音', - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - ], - 'required' => false, - 'example' => '', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'Message' => [ - 'title' => '描述信息', - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '4D690962-08CE-5D38-A65A-AB247D7DF7A2', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Subid' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'example' => 'GHX0534X202504221531579290029-2-1-aliaxn', - ], - 'TelX' => [ - 'title' => '隐私号码', - 'description' => '隐私号码', - 'type' => 'string', - 'example' => '0571409312', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '响应码 0:成功,其它失败,具体见文档', - 'description' => '响应码 0:成功,其它失败,具体见文档', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"4D690962-08CE-5D38-A65A-AB247D7DF7A2\\",\\n \\"Data\\": {\\n \\"Subid\\": \\"GHX0*************************\\",\\n \\"TelX\\": \\"0571******23\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'BindAxbFixedLine' => [ - 'summary' => '固话AxB绑定', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '271000', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ALPT_1234', - 'default' => '', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '业务时间戳,格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒 ', - 'description' => '业务时间戳,格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒 ', - 'type' => 'string', - 'required' => true, - 'example' => '20161114143116001', - ], - ], - [ - 'name' => 'BindType', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定类型,值如下: mode101:客户携带X号码 mode102:平台分配X号码', - 'description' => '绑定类型,值如下: mode101:客户携带X号码 mode102:平台分配X号码', - 'type' => 'string', - 'required' => true, - 'example' => '示例值示例值', - ], - ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识。', - 'description' => '消息请求唯一标识。', - 'type' => 'string', - 'required' => true, - 'example' => '15433678436', - ], - ], - [ - 'name' => 'TelA', - 'in' => 'query', - 'schema' => [ - 'title' => '真实号码', - 'description' => '真实号码', - 'type' => 'string', - 'required' => true, - 'example' => '18456713271', - ], - ], - [ - 'name' => 'TelX', - 'in' => 'query', - 'schema' => [ - 'title' => 'X号码; 平台分配号码模式下,该参数可不带,系统忽略该参数 格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => 'X号码; 平台分配号码模式下,该参数可不带,系统忽略该参数 格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'required' => false, - 'example' => '19767562345', - ], - ], - [ - 'name' => 'TelB', - 'in' => 'query', - 'schema' => [ - 'title' => '对端号码', - 'description' => '对端号码', - 'type' => 'string', - 'required' => true, - 'example' => '18971362645', - ], - ], - [ - 'name' => 'Subts', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定时间,格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'description' => '绑定时间,格式为yyyyMMddHHmmss。时间采用北京时间,24小时制。', - 'type' => 'string', - 'required' => true, - 'example' => '20161114143116', - ], - ], - [ - 'name' => 'Anucode', - 'in' => 'query', - 'schema' => [ - 'title' => '主叫侧放音编码,AXB业务时必须设置。 放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'description' => '主叫侧放音编码,AXB业务时必须设置。 放音编码必须包含3个场景的编码。按照“B->X,A->X,其他号码->X”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2,3”表示B->X放音编号为1,A->X放音编号为2, 其他号码->X放音编号为3', - 'type' => 'string', - 'required' => true, - 'example' => '1,2,3', - ], - ], - [ - 'name' => 'Anucodecalled', - 'in' => 'query', - 'schema' => [ - 'title' => '接通后被叫侧放音编码,接通后被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,B被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,B号码为被叫侧接听时的放音编号为2。', - 'description' => '接通后被叫侧放音编码,接通后被叫侧放音编码 被叫放音编码必须包含2个场景的编码。按照“A被叫,B被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫侧接听时的放音编号为1,B号码为被叫侧接听时的放音编号为2。', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值', - ], - ], - [ - 'name' => 'TAnucodeConnect', - 'in' => 'query', - 'schema' => [ - 'title' => '接通后主叫侧的放音编码,接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,B被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,B号码为被叫时主叫侧的放音编号为2。', - 'description' => '接通后主叫侧的放音编码,接通后主叫侧放音编码 接通后主叫侧放音编码必须包含2个场景的编码。按照“A被叫,B被叫”的顺序填写编码,编码之间以逗号分隔。 比如:“1,2”表示A号码为被叫时主叫侧的放音编号为1,B号码为被叫时主叫侧的放音编号为2。', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值示例值', - ], - ], - [ - 'name' => 'Areacode', - 'in' => 'query', - 'schema' => [ - 'title' => '区号,去掉“0” 例如:北京(10);在平台分配X号码模式中,平台从号码池中分配该地区的X号码,避免产生呼叫长途费。', - 'description' => '区号,去掉“0” 例如:北京(10);在平台分配X号码模式中,平台从号码池中分配该地区的X号码,避免产生呼叫长途费。', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'Expiration', - 'in' => 'query', - 'schema' => [ - 'title' => '过期时间,单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'description' => '过期时间,单位:秒,必须为数字 0:不会自动解绑 非0:自动解绑周期', - 'type' => 'string', - 'required' => true, - 'example' => '10', - ], - ], - [ - 'name' => 'Remark', - 'in' => 'query', - 'schema' => [ - 'title' => '接入商自有字段,最大250字符长度', - 'description' => '接入商自有字段,最大250字符长度', - 'type' => 'string', - 'required' => false, - 'example' => 'remark', - ], - ], - [ - 'name' => 'Extra', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'title' => '扩展参数', - 'description' => '扩展参数', - 'type' => 'object', - 'properties' => [ - 'Callrecording' => [ - 'title' => '录音控制,默认是0(不开通录音功能)。 0:不录音 1:录音', - 'description' => '录音控制,默认是0(不开通录音功能)。 0:不录音 1:录音', - 'type' => 'string', - 'required' => false, - 'example' => '示例值示例值', - ], - ], - 'required' => false, - 'example' => '', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'None', - ], - 'Message' => [ - 'title' => '响应消息', - 'description' => '响应消息', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '649E9EB5-9436-53CF-B41A-C4F0433212E7', - ], - 'Data' => [ - 'title' => '响应内容', - 'description' => '响应内容', - 'type' => 'object', - 'properties' => [ - 'Subid' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'example' => '示例值', - ], - 'TelX' => [ - 'title' => 'X号码', - 'description' => 'X号码', - 'type' => 'string', - 'example' => '示例值', - ], - ], - 'example' => '', - ], - 'Code' => [ - 'title' => '响应码 0-成功', - 'description' => '响应码 0-成功', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'title' => '是否处理成功 true-成功', - 'description' => '是否处理成功 true-成功', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"649E9EB5-9436-53CF-B41A-C4F0433212E7\\",\\n \\"Data\\": {\\n \\"Subid\\": \\"GHX0*************************\\",\\n \\"TelX\\": \\"0571******23\\"\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - 'DeleteAxbBindFixedLine' => [ - 'summary' => '固话AxB解绑', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '271125', - 'abilityTreeNodes' => [ - 'FEATUREdypls1W5H18', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => '号池ID。', - 'description' => '号池ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ALPT_1234', - ], - ], - [ - 'name' => 'Ts', - 'in' => 'query', - 'schema' => [ - 'title' => '业务时间戳,格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒 ', - 'description' => '业务时间戳,格式yyyyMMddHHmmssSSS,时间采用北京时间,24小时制,精确至毫秒 ', - 'type' => 'string', - 'required' => true, - 'example' => '20161114143116001', - ], - ], - [ - 'name' => 'SubId', - 'in' => 'query', - 'schema' => [ - 'title' => '绑定id', - 'description' => '绑定id', - 'type' => 'string', - 'required' => true, - 'example' => 'A93IOELD93', - ], - ], - [ - 'name' => 'OrderId', - 'in' => 'query', - 'schema' => [ - 'title' => '消息请求唯一标识。', - 'description' => '消息请求唯一标识。', - 'type' => 'string', - 'required' => true, - 'example' => '示例值示例值示例值', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'AccessDeniedDetail' => [ - 'description' => '', - 'type' => 'string', - 'example' => '{}', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'F036366A-0182-5066-A686-19C4C82F2D51', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'title' => '响应消息', - 'description' => '响应消息', - 'type' => 'string', - 'example' => '示例值示例值示例值', - ], - 'Code' => [ - 'title' => '响应码 0-成功', - 'description' => '响应码 0-成功', - 'type' => 'string', - 'example' => '0', - ], - 'Success' => [ - 'title' => '是否处理成功 true-成功 false-失败', - 'description' => '是否处理成功 true-成功 false-失败', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'isp.SYSTEM_ERROR', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'True', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F036366A-0182-5066-A686-19C4C82F2D51\\",\\n \\"Data\\": {\\n \\"Message\\": \\"示例值示例值示例值\\",\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n },\\n \\"Code\\": \\"0\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'dyplsapi.aliyuncs.com', ], + 'resourceTypes' => [], ], ]; -- cgit v1.2.3